


#slidetop {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	z-index: 1500;
	color: #d8e0e8;
	background: #171b22;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 18px 45px rgba(8, 15, 25, 0.22);
}

#slidetop .container {
	display: none;
	height: auto;
	padding: 24px 15px 26px;
}

.nexa-command-panel {
	display: grid;
	grid-template-columns: minmax(250px, 1.25fr) repeat(4, minmax(150px, 1fr));
	gap: 16px;
	align-items: stretch;
}

.nexa-command-intro,
.nexa-command-section {
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.055);
}

.nexa-command-intro {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035));
}

.nexa-command-kicker {
	display: inline-flex;
	align-items: start;
	margin-bottom: 9px;
	color: #9ee6c9;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

#slidetop h6 {
	margin: 0 0 10px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

#slidetop h6 i {
	margin-right: 7px;
	color: #9ee6c9;
}

#slidetop p {
	margin: 0;
	color: #c7d2de;
	font-size: 13px;
	line-height: 1.65;
}

.nexa-command-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.nexa-command-primary,
.nexa-command-secondary,
.nexa-command-grid a {
	display: inline-flex;
	align-items: start;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.nexa-command-primary,
.nexa-command-secondary {
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 700;
}

.nexa-command-primary {
	color: #111827 !important;
	background: #9ee6c9;
}

.nexa-command-primary i {
	margin-right: 7px;
}

.nexa-command-secondary {
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
}

.nexa-command-primary:hover,
.nexa-command-secondary:hover,
.nexa-command-grid a:hover {
	transform: translateY(-1px);
}

.nexa-command-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.nexa-command-grid-compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nexa-command-grid a {
	min-height: 35px;
	padding: 8px 10px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 7px;
	color: #e8edf3 !important;
	background: rgba(255, 255, 255, 0.045);
	font-size: 12px;
	font-weight: 650;
}

.nexa-command-grid a:hover {
	border-color: rgba(158, 230, 201, 0.5);
	background: rgba(158, 230, 201, 0.1);
	color: #ffffff !important;
}

.nexa-command-grid i {
	width: 18px;
	margin-right: 8px;
	color: #9ee6c9;
	text-align: center;
}

.nexa-command-grid span,
.nexa-command-contact span,
.nexa-command-popular span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nexa-command-contact ul,
.nexa-command-popular ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexa-command-contact li,
.nexa-command-popular li {
	margin-bottom: 8px;
	color: #c7d2de;
	font-size: 12px;
	line-height: 1.45;
}

.nexa-command-contact li {
	display: flex;
	align-items: center;
	min-width: 0;
}

.nexa-command-contact li:last-child,
.nexa-command-popular li:last-child {
	margin-bottom: 0;
}

.nexa-command-contact li>i {
	width: 18px;
	margin-right: 8px;
	color: #9ee6c9;
	text-align: center;
}

.nexa-command-contact a {
	min-width: 0;
	overflow: hidden;
	color: #e8edf3 !important;
	text-decoration: none !important;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nexa-command-contact a:hover {
	color: #ffffff !important;
}

.nexa-command-popular a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	padding-bottom: 8px;
	color: #e8edf3 !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.nexa-command-popular a:hover {
	color: #ffffff !important;
}

.nexa-command-popular b {
	flex: 0 0 auto;
	min-width: 24px;
	padding: 2px 6px;
	border-radius: 999px;
	color: #111827;
	background: #9ee6c9;
	font-size: 10px;
	line-height: 1.4;
	text-align: center;
}

.nexa-command-empty {
	padding: 9px 0 0;
	color: #9ca9b7;
}

#slidetop .slidetop-toggle {
	position: absolute;
	right: 18px;
	bottom: -34px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 0 12px;
	border: 0;
	border-radius: 0 0 8px 8px;
	color: #ffffff;
	background: #171b22;
	box-shadow: 0 10px 20px rgba(8, 15, 25, 0.2);
	font-size: 12px;
	font-weight: 700;
	line-height: 34px;
	text-decoration: none;
}

#slidetop .slidetop-toggle i {
	font-size: 13px;
}

#slidetop .slidetop-toggle:hover,
#slidetop .slidetop-toggle:focus {
	color: #ffffff;
	background: var(--brand-primary, #e62f17);
	outline: none;
}

#slidetop.active .slidetop-toggle i:before {
	content: "\f00d";
}

/** 01. Globals
 **************************************************************** **/
html {
	max-width: 100%;
	overflow-x: hidden !important;
	overflow-y: auto;
}

html[data-route="aboutas"],
body[data-route="aboutas"],
body[data-route="aboutas"] * {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

html[data-route="aboutas"]::-webkit-scrollbar,
body[data-route="aboutas"]::-webkit-scrollbar,
body[data-route="aboutas"] *::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

html,
body {
	min-height: 100%;
}

body {
	max-width: 100%;
	overflow-x: hidden !important;
	color: #2E363F;
	background-color: #f1f2f7;
	/* font-family: 'Open Sans', Arial, sans-serif; */
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	line-height: 23px;
	margin: 0;
	padding: 0 !important;
}

#wrapper {
	padding: 95px 0 24px;
	/* top nav height: topHead(40px) + topNav(~55px) */
	z-index: 98;
	/* under top nav */
	position: relative;
	background-color: rgba(244, 245, 247, 0.9);
	/* if background image used */
	overflow-x: clip !important;
	overflow-y: visible;
	min-height: 550px;
}

#app-content {
	max-width: 100%;
	overflow-x: clip !important;
}

body *::-webkit-scrollbar:horizontal {
	display: none !important;
	height: 0 !important;
}

html.overflow-hidden,
body.overflow-hidden {
	overflow: hidden !important;
}

section.margin-footer {
	margin-bottom: -24px;
	/* see wrapper padding */
}

span.global-overlay {
	background-color: rgba(0, 0, 0, 0.3);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99;

	-webkit-transition: all 0.8s;
	-moz-transition: all 0.8s;
	-o-transition: all 0.8s;
	transition: all 0.8s;
}



/** 02. Boxed Layout
 **************************************************************** **/
body.boxed {
	background-color: #D7D6D6;
}

body.boxed #wrapper {
	background-color: #f4f5f7;
}

body.boxed #wrapper,
body.boxed header,
/* IE BUG */
body.boxed footer {
	margin: auto;
	max-width: 1170px;
}



/** 03. Top Nav
 **************************************************************** **/
#header_shadow {
	background: url('../images/header_shadow.png') no-repeat top center;
	position: fixed;
	top: 81px;
	left: 0;
	right: 0;
	height: 75px;
	z-index: 99;
	/* same with header#page-title .container */
}

header#topHead {
	height: 40px;
	line-height: 40px;
	width: 100%;

	position: relative;
	top: 0;
	left: 0;
	right: 0;
	/* do not remove - position:fixed added by javascript */
	background-color: #fff;
	z-index: 101;

	border-bottom: #eee 1px solid;
}

header#topHead a.social {
	text-align: center;
	margin: 1px 0 0 1px;
	font-size: 20px;
	padding: 0;
	background: transparent;
	color: #ccc;
}

header#topHead .nav {
	margin-right: 10px;
}

header#topHead a {
	color: #999;
	font-size: 13px;
	padding-right: 10px;
}

header#topHead .btn-group.open .dropdown-toggle {
	-webkit-box-shadow: none;
	box-shadow: none;
}

header#topHead .dropdown-menu {
	background-color: #2E363F;
}

header#topHead .dropdown-menu li a img,
header#topHead button.language img,
header#topHead button.language {
	font-size: 13px;
	display: inline-block;
	margin-right: 6px;
}

header#topHead .dropdown-menu li a {
	color: #fff;
	padding: 6px 10px;
	font-size: 13px;
}

header#topHead .dropdown-menu li:hover a {
	background-color: #1B1F23;
}

header#topHead .dropdown-menu:after {
	content: " ";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	right: 10px;
	top: -18px;

	border: #2E363F 10px solid;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid transparent;
}


header#topNav.topHead {
	top: 40px;
}

header#topNav {
	background: #fff;
	padding: 10px 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
	/* always on top */

	border-bottom: #F4F5F7 1px solid;
	box-shadow: #eee 0 0 8px;
}

header#topNav.hasTopHead {
	top: 40px !important;
}

header#topNav .nav>li:last-child>a {
	padding-right: 0;
}

header#topNav div.nav-main-collapse {
	margin-top: 16px;
	z-index: 300;
}

header#topNav div.nav-main-collapse,
header#topNav div.nav-main-collapse.in {
	overflow-y: visible;
}

header#topNav div.nav-main-collapse.in {
	overflow-y: visible;
	float: none;
	margin: 0;
}

header#topNav nav ul.nav-main {
	margin: -7px 0 8px 0;
	z-index: 300;
}

header#topNav nav ul.nav-main i.icon-caret-down {
	background: transparent;
	border-radius: 100%;
	color: #ADB0AD;
	display: inline-block;
	font-size: 12px;
	height: 14px;
	line-height: 15px;
	position: relative;
	text-align: center;
	top: -1px;
	width: 14px;
}

header#topNav nav ul.nav-main>li+li {
	margin-left: -4px;
}

header#topNav nav ul.nav-main .dropdown-submenu {
	position: relative;
}

header#topNav nav ul.nav-main .dropdown-submenu>.dropdown-menu {
	top: 0;
	left: 100%;
	margin-top: -6px;
	margin-left: -1px;
	-webkit-border-radius: 0 6px 6px 6px;
	-moz-border-radius: 0 6px 6px 6px;
	border-radius: 0 6px 6px 6px;
}

header#topNav nav ul.nav-main .dropdown-submenu:hover>.dropdown-menu {
	display: block;
}

header#topNav nav ul.nav-main .dropdown-submenu>a:after {
	content: " ";
	display: block;
	float: right;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-left-color: #CCC;
	margin-top: 5px;
	margin-right: -10px;
}

header#topNav nav ul.nav-main .dropdown-submenu:hover>a:after {
	border-left-color: #ffffff;
}

header#topNav nav ul.nav-main .dropdown-submenu.pull-left {
	float: none;
}

header#topNav nav ul.nav-main .dropdown-submenu.pull-left>.dropdown-menu {
	left: -100%;
	margin-left: 10px;
	-webkit-border-radius: 6px 0 6px 6px;
	-moz-border-radius: 6px 0 6px 6px;
	border-radius: 6px 0 6px 6px;
}

header#topNav nav ul.nav-main li.dropdown.open a.dropdown-toggle {
	-moz-border-radius: 5px 5px 0px 0px;
	-webkit-border-radius: 5px 5px 0px 0px;
	border-radius: 5px 5px 0px 0px;
}

header#topNav nav ul.nav-main ul.dropdown-menu,
header#topNav nav ul.nav-main li.dropdown.open a.dropdown-toggle,
header#topNav nav ul.nav-main li.active a {
	background-color: transparent;
}

header#topNav nav ul.nav-main ul.dropdown-menu {
	top: auto;
	border: 0;
	border-radius: 6px;

	margin: 0 0 0 0;
	padding: 10px 0;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;

	-webkit-box-shadow: 0 0 0;
	-moz-box-shadow: 0 0 0;
}

header#topNav nav ul.nav-main ul.dropdown-menu ul.dropdown-menu {
	margin-left: -6px !important;
	margin-top: -10px !important;
	box-shadow: rgba(0, 0, 0, 0.5) 0 0 6px !important;
	-moz-box-shadow: rgba(0, 0, 0, 0.5) 0 0 6px !important;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;

}

header#topNav nav ul.nav-main ul.dropdown-menu li:hover>a {
	filter: none;
}

header#topNav nav ul.nav-main ul.dropdown-menu>li>a {
	position: relative;
	font-weight: normal;
	padding: 6px 20px 6px 12px;
}

header#topNav nav ul.nav-main ul.dropdown-menu li:last-child>a {
	border-bottom: 0;
}

header#topNav nav ul.nav-main li a {
	background: none;
	font-style: normal;
	line-height: 20px;
	color: #9C9C9C;
	font-weight: 100;
	position: relative;
	font-size: 1.1em;
}

header#topNav nav ul.nav-pills>li>a,
header#topNav nav ul.nav-pills>li>a:hover,
header#topNav nav ul.nav-pills>li>a:focus,
header#topNav nav ul.nav-pills>li.active>a,
header#topNav nav ul.nav-pills>li.active>a:hover,
header#topNav nav ul.nav-pills>li.active>a:focus {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	border: 0;
	background: none;
}

header#topNav nav ul.nav-main li ul a {
	text-transform: none;
	font-weight: normal;
	font-size: 0.9em;
}

header#topNav nav ul.nav-main li.dropdown:hover>a {
	padding-bottom: 11px;
	margin-bottom: -1px;
	position: relative;
}

header#topNav nav ul.nav-main li.dropdown:hover>a:after {
	content: " ";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	left: 40%;
	bottom: -3px;

	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
}


header#topNav nav ul.nav-main li.dropdown:hover>ul {
	display: block;
	z-index: 300;
}

header#topNav li.divider {
	border: 0;
	border-bottom: #465260 1px solid;
	border-top: #1B1F23 1px solid;
	padding: 0;
}

header#topNav li a i.fa {
	padding-right: 6px;
}

header#topNav li a em {
	color: #fff;
}

header#topNav a.logo {
	color: #333;
	text-decoration: none;
	font-size: 35px;
	display: inline-block;
	height: 60px;
	line-height: 50px;
	font-weight: 600;
	letter-spacing: -2px;
}

header#topNav button.btn-mobile {
	color: #fff;
	display: none;
	background: #2E363F;
	padding: 6px 10px;
	margin-top: 8px;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

header#topNav button.btn-mobile i {
	padding: 0;
	margin: 0;
	font-size: 21px;
}


/* force btn default styles to be available on header */
header#topNav a.btn-warning {
	background-color: #f0ad4e !important;
}

header#topNav a.btn-info {
	background-color: #5bc0de !important;
}

header#topNav a.btn-danger {
	background-color: #d9534f !important;
}

/*

	Top Down Full Width
	.mega-menu-fullwidth ul.dropdown-menu {
		position:fixed;
		left:0; right:0;
		margin-left:0 !important;
		margin-right:0 !important;
		border-radius:0 !important;
	}

*/


/* 
		SIGN IN 
		Top Head Drop Down
	*/
#topHead .signin-dd {
	position: relative;
}

#topHead .signin-dd .dropdown-menu {
	padding: 5px 10px;
}

#topHead .signin-dd h2,
#topHead .signin-dd h3,
#topHead .signin-dd h4,
#topHead .signin-dd h5,
#topHead .signin-dd h6 {
	font-size: 16px;
	line-height: 23px;
	display: block;
	margin-bottom: 6px !important;
}

#topHead .signin-dd h4,
#topHead .signin-dd {
	color: #fff;
	margin: 0;
}

#topHead .signin-dd p {
	color: #888;
}

#topHead .signin-dd input[type="text"],
#topHead .signin-dd input[type="password"],
#topHead .signin-dd input[type="email"] {
	margin: 0;
	border: 0;
	padding: 8px !important;
	height: 38px;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

#topHead .signin-dd .input-group input {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	-webkit-border-top-left-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-topleft: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}

#topHead .signin-dd p,
#topHead .signin-dd form,
#topHead .signin-dd form a,
#topHead .signin-dd form label {
	font-size: 13px;
}


#topHead .signin-dd form {
	width: 250px;
}

#topHead .signin-dd .form-group {
	margin-bottom: 3px !important;
}

#topHead .signin-dd form .input-group-btn,
#topHead .signin-dd form label {
	margin: 0;
	padding: 0;
	line-height: 20px;
}

#topHead .signin-dd form div.checkbox {
	line-height: 20px;
	margin: 3px 0 0 0;
}

#topHead .signin-dd form div.checkbox input {
	/* IE FIX */
	float: left;
	display: inline-block;
	margin-top: 4px;
	margin-right: 6px;
}

#topHead .signin-dd form div.checkbox label {
	display: inline-block;
}

#topHead .signin-dd form .input-group-btn .btn,
#topHead .signin-dd form .input-group .btn,
#topHead .signin-dd form .form-control {
	border: 0;
	height: 38px;
	margin-top: 0;
}

#topHead .signin-dd form button,
#topHead .signin-dd form button:hover {
	-webkit-transition: all 0s;
	-moz-transition: all 0s;
	-o-transition: all 0s;
	transition: all 0s;
}

#topHead .signin-dd form button:after {
	content: " ";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	z-index: 100;
	left: -18px;
	top: 50%;
	margin-top: -10px;
}

#topHead .signin-dd form button:hover:after {
	margin-left: -1px;
	/* temporary fix */
}

#topHead .dropdown-menu hr {
	border: 0;
	padding: 0;
	margin: 10px 0;
	border-bottom: #465260 1px solid;
	border-top: #1B1F23 1px solid;
}

#topHead .bottom-create-account {
	text-align: center;
	margin: 0 -10px -5px -10px;
}

#topHead .bottom-create-account a {
	background: rgba(0, 0, 0, 0.2);
	margin-top: 6px;
	padding: 6px 0;
	display: block;
	text-decoration: none;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;

	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

#topHead .bottom-create-account a:hover {
	background: rgba(0, 0, 0, 0.5);
}




/** 04. Slider
**************************************************************** **/
#slider * {
	color: #fff;
}

#slider {
	color: #fff;
	background: #E2E6E9;
	border-bottom: #ddd 1px solid;
	box-shadow: #ddd 0 0 5px;
	position: relative;
	margin-top: -10px !important;
	margin-bottom: 60px !important;
}

#slider.full-screen {
	background: #f6f6f6;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;

	display: block;
	margin-top: -81px !important;
	/* see #wrapper padding */
}

#slider.nomargin-top {
	margin-top: 0 !important;
}

#slider .fullscreen-img {
	background-repeat: no-repeat;
	background-position: 50% 50%;
	width: 100%;
	height: 100%;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

#slider li {
	display: none;
}

.image-caption {
	text-align: center;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -30px;
	/* header height/2 */
	display: inline-block;
	max-width: 900px;
	z-index: 2;
	color: #fff;

	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);

}

#slider .image-caption .inner {
	display: block;
	padding: 40px 0;
}

#slider .image-caption .inner h1,
#slider .image-caption .inner h2,
#slider .image-caption .inner h3 {
	color: #fff;
	font-size: 33px;
	line-height: 33px;
	margin: 0 0 1px 0;
	display: inline-block;
	padding: 6px;
	text-transform: uppercase;
	-webkit-text-stroke: 0.2px;
}

#slider .image-caption .inner h1 {
	font-size: 60px;
	line-height: 60px;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.3);
	display: inline-block;
}

#slider .image-caption .inner p {
	padding: 3px 10px;
	margin: 0 0 1px 0;
	display: inline-block;
	background: #fff;
	color: #333;
	-webkit-text-stroke: 0.2px;
}

#slider .image-caption .inner .btn {
	margin-top: 40px;
	font-size: 30px;
	padding-bottom: 15x;
	font-weight: 200;
	-webkit-text-stroke: 0.2px;
}

#slider .image-caption img.img-responsive {
	/* if images used on the slider */
	width: 100% !important;
	height: auto !important;
	position: relative !important;
	z-index: 10 !important;
	left: auto !important;
	top: auto !important;
}

#slider .overlay {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.3);
	z-index: 1;
}

#slider .overlay.invisible {
	background: rgba(0, 0, 0, 0);
	visibility: visible;
}


/* controlls */
#slider a.next,
#slider a.prev {
	top: 50%;
	color: #fff;
	font-size: 62px;
	filter: alpha(opacity=50);
	opacity: 0.5;
	text-decoration: none;

	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

#slider a.next:hover,
#slider a.prev:hover {
	color: #fff;
	font-size: 70px;

	filter: alpha(opacity=100);
	opacity: 1;
}

#slider a.prev {
	left: 10px
}

#slider a.prev:after {
	font-family: FontAwesome;
	content: '\f104';
}

#slider a.next {
	right: 10px
}

#slider a.next:after {
	font-family: FontAwesome;
	content: '\f105';
}

/* half screen height */
#slider.half-screen,
#slider.half-screen li {
	height: 600px !important;
	margin: 0;
	padding: 0;
}

/* custom */
#slider.full-screen,
#slider.half-screen {
	background: #F0F0F0 url('../images/loading.gif') no-repeat center;
}

#slider .slides-pagination {
	bottom: 60px !important;
}

#slider.video {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#video-volume {
	bottom: 85px;
	left: 50%;
	margin: 0 0 0 -15px;
	position: absolute;
	z-index: 10;
	width: 30px;
	height: 30px;
	line-height: 26px;
	font-size: 20px;
	text-align: center;
	border-radius: 50%;
	border: 1px solid #fff;
	color: #FFFFFF;
	cursor: pointer;
}


/* slider with no image background */
#slider .noimg-slider h1 {
	font-size: 120px !important;
	line-height: 120px !important;
	background: none !important;
	font-weight: 900 !important;
	display: block !important;
	padding: 0 !important;
}

#slider .noimg-slider p {
	background: none !important;
	padding: 0 !important;
	font-weight: 200;
	display: block !important;
	-webkit-text-stroke: 0.2px;
}


/* bottom button */
.slider-button {
	display: block;
	text-align: center;
	margin-top: -110px;
	margin-bottom: 60px;
	position: relative;
	z-index: 99;
}

.bottom-button {
	border: #F4F5F7 8px solid;
	width: 100px;
	height: 100px;
	line-height: 86px;
	display: inline-block;
	position: relative;
	background: #F4F5F7;
	text-align: center;
	padding: 0;
	margin: 0;
	font-size: 90px;
	text-decoration: none !important;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}


/* boxed slider */
body.boxed #slider li {
	position: relative;
}

body.boxed #slider .image-caption {
	left: 30%;
}






/** 05. Content
 **************************************************************** **/
/* page title */
header#page-title {
	color: #fff;
	padding: 20px 0;
	background: #ddd;
	position: relative;
	margin-bottom: 40px;

	background-repeat: no-repeat;
	background-position: 50% 50%;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

header#page-title h1,
header#page-title h2 {
	font-size: 2.2em;
	font-weight: 300;
	line-height: 42px;
}

header#page-title.big {
	padding: 180px 0;
}

header#page-title.big h1 {
	color: #fff;
	font-size: 3em;
	line-height: 44px;
	line-height: 50px;
}

header#page-title .container {
	color: #fff;
	z-index: 99;
	/* eq #header_shadow */
	position: relative;
}

header#page-title h1 {
	margin: 0;
	padding: 0;
	color: #fff;
}

header#page-title.big .breadcrumb {
	background: rgba(255, 255, 255, 0.8);
	padding: 0 5px;
}

/* header parallax */
header#page-title.parallax {
	margin-top: -100px;
	padding-top: 280px;
}

.no-page-title {
	margin-top: 50px;
}

/* stick element to footer */
.stick-to-footer {
	margin-bottom: -24px;
	/* see #wrapper padding */
}

/* image inside article */
a.inner.pull-left,
img.inner.pull-left {
	margin-right: 25px;
}

a.inner.pull-right,
img.inner.pull-right {
	margin-left: 25px;
}

/* 404 */
div.e404 {
	font-size: 1500%;
	line-height: 200px;
	color: #ddd;
}


.top-content-search {
	margin: 30px 0 60px 0;
	width: 100%;
}

/* if no header used */
.top-no-header {
	position: relative;
	padding-top: 80px;
}


/* demo only, optional - can be deleted on production */
.white-grid span {
	background: #fff;
	line-height: 40px;
	min-height: 40px;
	text-align: center;
	display: block;
}

.white-row {
	padding: 20px;
	margin-bottom: 20px;
	background-color: #fff;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

/* General Page Title */
header.page-title h1,
h1.page-title {
	font-size: 40px !important;
	line-height: 40px !important;
	text-transform: none !important;
	font-weight: 300 !important;
	margin: 0;
}

h1.page-title,
header.page-title {
	margin-bottom: 30px;
}

/* special row -mostly used by one page */
.special-row .divider i.fa,
.special-row {
	background-color: #e8eaee;
}

.special-row .divider.white .fa {
	background: #fff;
}



/* revolution slider */
.tp-banner-container {
	overflow: hidden;
	position: relative;
}

.fullscreen-container {
	width: 100%;
	position: relative;
	padding: 0;
}

.fullwidthbanner-container {
	width: 100%;
	position: relative;
	padding: 0;
}

.fullwidthbanner-container .fullwidthbanner {
	width: 100%;
	position: relative;
}

.tp-caption.roundedimage img {
	-webkit-border-radius: 300px;
	-moz-border-radius: 300px;
	border-radius: 300px;
}

.fullscreenbanner-container,
.fullwidthbanner-container {
	background: #E2E6E9;
	margin-bottom: 60px !important;
}

.fullscreenbanner-container li,
.fullwidthbanner-container li {
	visibility: hidden;
}

.tp-bullets {
	bottom: 10px !important;
}

.tp-caption a.btn,
.tp-caption a.btn:hover {
	color: #fff;
	text-decoration: none;
}

.tp-bannershadow {
	width: 100% !important;
}

.tp-caption h1 {
	color: #fff;
	font-size: 350%;
}

.tp-caption h2 {
	color: #fff;
	font-size: 180%;
}

/* modal wrapper bugfix */
.modal {
	padding-top: 130px;
	background: rgba(0, 0, 0, 0.3);
}

.modal-backdrop {
	z-index: 1 !important;
	/* because of #wrapper */
}

/* isotope filter */
li.masonry-item,
ul.isotope {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	-khtml-opacity: 0;
	opacity: 0;

	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

li.masonry-item.fadeIn,
ul.isotope.fadeIn {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-khtml-opacity: 1;
	opacity: 1;
}

/* loader */
span.js_loader {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.1);
	text-align: center;
	padding-top: 10%;
}

/*
		Custom Arrows
	*/
.tp-bannertimer {
	background: #777 !important;
	background: rgba(0, 0, 0, 0.1) !important;
	height: 5px !important;
}


.tparrows:before {
	font-family: 'revicons';
	color: #fff;
	font-style: normal;
	font-weight: normal;
	speak-as: none;
	display: inline-block;
	text-decoration: inherit;
	margin-right: 0;
	margin-top: 9px;
	text-align: center;
	width: 40px;
	font-size: 20px;
}

.tparrows {

	cursor: pointer;

	background: rgba(0, 0, 0, 0.5) !important;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	width: 40px !important;
	height: 40px !important;

}

.tparrows:hover {
	color: #fff;
}

.tp-leftarrow:before {
	content: '\e824';
}

.tp-rightarrow:before {
	content: '\e825';
}

.tparrows.tp-rightarrow:before {
	margin-left: 1px;
}

.tparrows:hover {
	background: rgba(0, 0, 0, 1) !important;
}

/* end custom arrows */


/* box-icon line separator */
.featured-box.left-separator {
	border-left: #e6e6e6 1px solid;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

/* misc */
.alert-minimal {
	padding: 6px 15px;
	border-radius: 0;
}

.alert.alert-default {
	background-color: rgba(0, 0, 0, 0.08);
	border-left: rgba(0, 0, 0, 0.6) 3px solid;
}

/** 06. Special Pages - maintenance, coming soon, etc
 **************************************************************** **/
.special-page {
	position: absolute;
	z-index: 1000;
	left: 0;
	right: 0;
	top: 0;
}

.special-page .center-box {
	padding: 20px;
	margin-top: 10%;
	background-color: rgba(255, 255, 255, 0.3);
	border: rgba(255, 255, 255, 0.1) 10px solid;
	box-shadow: rgba(0, 0, 0, 0.1) 0 0 20px inset;
	text-align: center;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.special-page .center-box h1 {
	color: #fff;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 60px;
	line-height: 60px;
	margin: 0;
}

.special-page .center-box h1 .subtitle {
	color: #fff;
	font-size: 15px;
	line-height: 26px;
	padding-top: 10px;
	text-transform: none;
	font-weight: 400;
}

.special-page .center-box h2,
.special-page .center-box h3 {
	color: #fff;
	font-size: 22px;
}

.special-page .progress-label,
.special-page .center-box p {
	color: #fff;
}

.special-page .center-box hr {
	border: 0;
	margin: 40px 0;
	border-bottom: rgba(255, 255, 255, 0.3) 1px solid;
}

@media only screen and (max-width: 479px) {
	.special-page .center-box h1 {
		font-size: 30px;
		line-height: 30px;
	}

	.special-page .center-box h1 .subtitle {
		font-weight: 300;
		padding-top: 20px;
	}
}





/** 07. Contact
 **************************************************************** **/
#gmap {
	width: 100%;
	height: 400px;
	display: block;


	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	filter: gray;

	z-index: 1;
}

#gmap_default {
	width: 100%;
	height: 400px;
	display: block;
}

.contact-modern-page {
	padding-bottom: 0;
	box-sizing: border-box;
	overflow-x: hidden;
}

.contact-modern-page,
.contact-modern-page * {
	box-sizing: border-box;
}

.contact-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding: 30px;
	margin: 4px 0 22px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}

.contact-hero-copy {
	max-width: 720px;
	min-width: 0;
}

.contact-eyebrow,
.contact-card-label {
	display: inline-flex;
	align-items: center;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.contact-hero h2 {
	margin: 0 0 12px;
	color: #111827;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.24;
	letter-spacing: 0;
}

.contact-hero p {
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.contact-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex: 0 0 auto;
}

.contact-modern-page .public-btn.public-btn-secondary {
	margin-left: 0 !important;
}

.contact-action-primary,
.contact-action-secondary {
	white-space: nowrap;
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.contact-info-card {
	display: flex;
	gap: 14px;
	min-width: 0;
	min-height: 150px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.contact-info-card-main {
	grid-column: span 3;
	min-height: 130px;
}

.contact-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
}

.contact-card-icon i {
	font-size: 17px;
}

.contact-card-body {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.contact-card-body h3 {
	margin: 0;
	color: #111827;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.contact-card-body h3 a {
	color: #111827;
	text-decoration: none;
}

.contact-card-body h3 a:hover,
.contact-inline-link:hover {
	color: var(--brand-primary, #e62f17);
	text-decoration: none;
}

.contact-card-body p {
	margin: 8px 0 0;
	color: #64748b;
	font-size: 13px;
	line-height: 1.6;
}

.contact-inline-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 12px;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

body[data-color-scheme="dark"] .contact-hero,
body[data-color-scheme="dark"] .contact-info-card {
	background: #1f1f1f;
	border-color: #2f2f2f;
	box-shadow: none;
}

body[data-color-scheme="dark"] .contact-hero h2,
body[data-color-scheme="dark"] .contact-card-body h3,
body[data-color-scheme="dark"] .contact-card-body h3 a {
	color: #e5e7eb;
}

body[data-color-scheme="dark"] .contact-hero p,
body[data-color-scheme="dark"] .contact-card-body p {
	color: #9ca3af;
}

body[data-color-scheme="dark"] .contact-card-icon {
	background: rgba(230, 47, 23, 0.16);
}

@media only screen and (max-width: 991px) {
	.contact-modern-page.container {
		width: auto !important;
		max-width: 100%;
	}

	.contact-hero {
		align-items: flex-start;
		flex-direction: column;
		padding: 24px;
	}

	.contact-hero-actions {
		justify-content: flex-start;
		width: 100%;
	}

	.contact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-info-card-main {
		grid-column: span 2;
	}
}

@media only screen and (max-width: 767px) {
	.contact-modern-page {
		padding-bottom: 0;
	}

	.contact-hero {
		padding: 20px;
		margin-top: 0;
	}

	.contact-hero h2 {
		font-size: 25px;
	}

	.contact-hero p {
		font-size: 14px;
	}

	.contact-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.contact-hero-actions .public-btn {
		width: 100%;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-info-card,
	.contact-info-card-main {
		grid-column: span 1;
	}

	.contact-info-card {
		align-items: flex-start;
	}

	.contact-card-body h3 {
		font-size: 16px;
	}
}

/** 07a. Photo Gallery page
 **************************************************************** **/
.photo-gallery-page {
	padding-bottom: 0;
}

.photo-gallery-shell {
	padding: 24px;
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.08), rgba(15, 23, 42, 0) 32%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-top: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
	box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.photo-gallery-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

.photo-gallery-copy {
	max-width: 720px;
	min-width: 0;
}

.photo-gallery-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.photo-gallery-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: currentColor;
}

.photo-gallery-header h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.photo-gallery-header p {
	max-width: 680px;
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.7;
}

.photo-gallery-stat {
	flex: 0 0 170px;
	min-width: 0;
	padding: 15px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.photo-gallery-stat strong {
	display: block;
	color: #111827;
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
}

.photo-gallery-stat span {
	display: block;
	margin-top: 6px;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.photo-gallery-grid {
	display: grid;
	grid-auto-flow: dense;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.photo-gallery-card {
	position: relative;
	display: block;
	min-width: 0;
	height: 220px;
	padding: 0;
	overflow: hidden;
	background: #111827;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	cursor: pointer;
	text-align: left;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.photo-gallery-card-1,
.photo-gallery-card-4 {
	height: 280px;
}

.photo-gallery-card-2 {
	grid-column: span 2;
	height: 280px;
}

.photo-gallery-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.photo-gallery-card-shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(15, 23, 42, 0) 44%, rgba(15, 23, 42, 0.86) 100%),
		linear-gradient(135deg, rgba(230, 47, 23, 0.18), rgba(15, 23, 42, 0) 38%);
	opacity: 0.95;
}

.photo-gallery-card-caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	padding: 16px;
	color: #ffffff;
}

.photo-gallery-card-caption span,
.photo-gallery-card-caption small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
}

.photo-gallery-card-caption span {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	white-space: nowrap;
}

.photo-gallery-card-caption small {
	margin-top: 5px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 12px;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.photo-gallery-card:hover {
	box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
	transform: translateY(-2px);
}

.photo-gallery-card:hover img {
	transform: scale(1.045);
}

.photo-gallery-pagination-wrap {
	margin-top: 24px;
}

.photo-gallery-pagination {
	margin: 0;
}

.photo-gallery-pagination > li > a,
.photo-gallery-pagination > li > span {
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-color: #e5e7eb;
	color: #475569;
	font-weight: 800;
	line-height: 38px;
}

.photo-gallery-pagination > .active > a,
.photo-gallery-pagination > .active > span,
.photo-gallery-pagination > .active > a:hover,
.photo-gallery-pagination > .active > span:hover {
	background: var(--brand-primary, #e62f17);
	border-color: var(--brand-primary, #e62f17);
	color: #ffffff;
}

.photo-gallery-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 240px;
	padding: 34px 18px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #64748b;
	text-align: center;
}

.photo-gallery-empty i {
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	font-size: 20px;
	line-height: 52px;
}

.photo-gallery-empty strong {
	margin-bottom: 5px;
	color: #111827;
	font-size: 16px;
}

.photo-viewer {
	position: fixed;
	inset: 0;
	z-index: 10001;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 54px 96px;
	background: rgba(8, 13, 24, 0.92);
	/* backdrop-filter: blur(4px); dihapus karena sangat membebani GPU rendering (lag/lemot) di layar penuh */
}

.photo-viewer.is-open {
	display: flex;
}

.photo-viewer-media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: min(1100px, 100%);
	max-height: calc(100vh - 108px);
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
}

.photo-viewer-media img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(100vh - 108px);
	object-fit: contain;
	background: #111827;
}

.photo-viewer-overlay {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 64px 24px 22px;
	background: linear-gradient(180deg, rgba(8, 13, 24, 0) 0%, rgba(8, 13, 24, 0.84) 72%);
	color: #ffffff;
}

.photo-viewer-count {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 4px 8px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.photo-viewer-overlay h3 {
	margin: 0 0 6px;
	color: #ffffff;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.24;
	letter-spacing: 0;
}

.photo-viewer-overlay p {
	max-width: 780px;
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: 14px;
	line-height: 1.6;
}

.photo-viewer-close,
.photo-viewer-nav {
	position: fixed;
	z-index: 10002;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
	transition: background 0.2s ease, transform 0.2s ease;
}

.photo-viewer-close:hover,
.photo-viewer-nav:hover {
	background: var(--brand-primary, #e62f17);
	transform: translateY(-1px);
}

.photo-viewer-close {
	top: 30px;
	right: 34px;
	left: auto;
}

body.photo-viewer-open #slidetop .slidetop-toggle {
	display: none !important;
}

.photo-viewer-prev {
	left: 24px;
	top: 50%;
	margin-top: -22px;
}

.photo-viewer-next {
	right: 24px;
	top: 50%;
	margin-top: -22px;
}

body[data-color-scheme="dark"] .photo-gallery-shell {
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.14), rgba(23, 23, 23, 0) 34%),
		linear-gradient(180deg, #171717 0%, #111111 100%) !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .photo-gallery-header h2,
body[data-color-scheme="dark"] .photo-gallery-stat strong,
body[data-color-scheme="dark"] .photo-gallery-empty strong {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .photo-gallery-header p,
body[data-color-scheme="dark"] .photo-gallery-stat span,
body[data-color-scheme="dark"] .photo-gallery-empty {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .photo-gallery-stat,
body[data-color-scheme="dark"] .photo-gallery-empty {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

@media only screen and (max-width: 991px) {
	.photo-gallery-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.photo-gallery-stat {
		flex: 0 0 auto;
		width: 100%;
	}

	.photo-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.photo-gallery-card,
	.photo-gallery-card-1,
	.photo-gallery-card-2,
	.photo-gallery-card-4 {
		grid-column: span 1;
		height: 250px;
	}

	.photo-viewer {
		padding: 48px 76px;
	}
}

@media only screen and (max-width: 767px) {
	.photo-gallery-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.photo-gallery-shell {
		padding: 16px;
	}

	.photo-gallery-header {
		gap: 14px;
		margin-bottom: 16px;
	}

	.photo-gallery-header h2 {
		font-size: 24px;
		line-height: 1.24;
	}

	.photo-gallery-header p {
		font-size: 14px;
		line-height: 1.65;
	}

	.photo-gallery-stat {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 11px 12px;
	}

	.photo-gallery-stat strong {
		font-size: 20px;
	}

	.photo-gallery-stat span {
		margin-top: 0;
		text-align: right;
	}

	.photo-gallery-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.photo-gallery-card,
	.photo-gallery-card-1,
	.photo-gallery-card-2,
	.photo-gallery-card-4 {
		height: 235px;
	}

	.photo-gallery-card-caption {
		padding: 14px;
	}

	.photo-gallery-card-caption span {
		font-size: 15px;
	}

	.photo-viewer {
		padding: 86px 12px 20px;
	}

	.photo-viewer-media {
		width: 100%;
		max-height: calc(100vh - 130px);
	}

	.photo-viewer-media img {
		max-height: calc(100vh - 130px);
	}

	.photo-viewer-overlay {
		padding: 58px 16px 16px;
	}

	.photo-viewer-overlay h3 {
		font-size: 19px;
	}

	.photo-viewer-overlay p {
		font-size: 13px;
		line-height: 1.5;
	}

	.photo-viewer-close {
		top: 22px;
		right: 14px;
		left: auto;
	}

	.photo-viewer-nav {
		top: 22px;
		margin-top: 0;
		width: 40px;
		height: 40px;
	}

	.photo-viewer-prev {
		left: 14px;
	}

	.photo-viewer-next {
		right: 62px;
	}
}

/* 07a. Shared public sidebar
 **************************************************************** **/
.public-sidebar {
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
}

.public-sidebar-card {
	position: relative;
	margin-bottom: 22px;
	padding: 18px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.public-sidebar-heading {
	margin-bottom: 14px;
}

.public-sidebar-kicker {
	display: block;
	margin-bottom: 4px;
	color: var(--brand-primary, #e62f17);
	font-size: 10px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
}

.public-sidebar-heading h3,
.public-sidebar-heading h4 {
	margin: 0;
	padding-left: 0;
	color: #111827;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	border-left: 0;
}

body .public-sidebar .public-sidebar-heading h3,
body .public-sidebar .public-sidebar-heading h4 {
	margin: 0 !important;
	padding-left: 0 !important;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif !important;
	font-weight: 800 !important;
	border-left: 0 !important;
}

.public-sidebar-search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	border: 1px solid #dbe1ea;
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
}

.public-sidebar-search-form .form-control {
	width: 100%;
	height: 42px;
	min-width: 0;
	padding: 0 12px;
	color: #111827;
	font-size: 13px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.public-sidebar-search-form .form-control:focus {
	box-shadow: none;
}

.public-sidebar-search-btn {
	width: 44px;
	height: 42px;
	flex: 0 0 44px;
	color: #ffffff;
	border: 0;
	border-radius: 0;
	background: var(--brand-primary, #e62f17);
}

.public-sidebar-alert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 10px;
	padding: 9px 10px;
	color: #075985;
	font-size: 12px;
	line-height: 1.35;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 8px;
}

.public-sidebar-alert a {
	color: #0369a1;
}

.public-sidebar-product-list {
	display: grid;
	gap: 12px;
}

.public-sidebar-product {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	color: inherit;
	text-decoration: none !important;
}

.public-sidebar-product-media {
	display: block;
	width: 64px;
	height: 64px;
	overflow: hidden;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.public-sidebar-product-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.public-sidebar-product-copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.public-sidebar-product-title,
.public-sidebar-recent-title {
	display: -webkit-box;
	overflow: hidden;
	color: #1f2937;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.38;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.public-sidebar-product-price {
	color: var(--brand-primary, #e62f17);
	font-size: 13px;
	font-weight: 850;
	line-height: 1.2;
}

.public-sidebar-link-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	margin-top: 14px;
	padding: 7px 12px;
	color: #374151;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #f9fafb;
}

.public-sidebar-link-btn:hover,
.public-sidebar-product:hover .public-sidebar-product-title,
.public-sidebar-category-list a:hover span,
.public-sidebar-recent-list a:hover .public-sidebar-recent-title {
	color: var(--brand-primary, #e62f17);
}

.public-sidebar-category-list,
.public-sidebar-recent-list {
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.public-sidebar-category-list li,
.public-sidebar-recent-list li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #eef2f7;
}

.public-sidebar-category-list li:last-child,
.public-sidebar-recent-list li:last-child {
	border-bottom: 0;
}

.public-sidebar-category-list a {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding: 9px 0 !important;
	color: #374151 !important;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none !important;
}

.public-sidebar-category-list i {
	color: var(--brand-primary, #e62f17);
	font-size: 13px;
}

.public-sidebar-recent-list li {
	padding: 0 0 12px;
	margin-bottom: 12px;
}

.public-sidebar-recent-list li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

.public-sidebar-recent-list a {
	display: grid;
	gap: 6px;
	text-decoration: none !important;
}

.public-sidebar-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	padding: 3px 7px;
	font-size: 9px;
	font-weight: 850;
	line-height: 1.1;
	text-transform: uppercase;
	border-radius: 6px;
}

.public-sidebar-badge-video {
	color: #3730a3;
	background: #eef2ff;
}

.public-sidebar-badge-publication {
	color: #9f1239;
	background: #fff1f2;
}

.public-sidebar-badge-program {
	color: #166534;
	background: #f0fdf4;
}

.public-sidebar-recent-list small {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 6px;
	color: #6b7280;
	font-size: 11px;
	line-height: 1.25;
}

.public-sidebar-empty {
	margin: 0;
	padding: 10px 0;
	color: #6b7280;
	font-size: 12px;
	line-height: 1.45;
}

.public-sidebar-map-catalog {
	padding-bottom: 16px;
}

.public-sidebar-map-carousel {
	margin-bottom: 0 !important;
}

.public-sidebar-map-card {
	display: block;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.public-sidebar-map-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f1f5f9;
	text-decoration: none !important;
}

.public-sidebar-map-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .24s ease, opacity .24s ease;
}

.public-sidebar-map-card:hover .public-sidebar-map-media img {
	opacity: .92;
	transform: scale(1.03);
}

.public-sidebar-map-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #047857;
	background:
		linear-gradient(135deg, rgba(4, 120, 87, 0.1), rgba(230, 47, 23, 0.08)),
		#f8fafc;
	font-size: 28px;
}

.public-sidebar-map-copy {
	display: grid;
	gap: 7px;
	padding: 12px;
}

.public-sidebar-map-group {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	overflow: hidden;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.public-sidebar-map-group i {
	color: #047857;
}

.public-sidebar-map-title {
	display: -webkit-box;
	overflow: hidden;
	color: #111827;
	font-size: 14px;
	font-weight: 850;
	line-height: 1.35;
	text-decoration: none !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.public-sidebar-map-title:hover {
	color: var(--brand-primary, #e62f17);
}

.public-sidebar-map-copy p {
	display: -webkit-box;
	min-height: 36px;
	margin: 0;
	overflow: hidden;
	color: #64748b;
	font-size: 12px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.public-sidebar-partners {
	margin-bottom: 24px;
}

.public-sidebar-partners .owl-carousel {
	margin-bottom: 0 !important;
}

.public-sidebar .mitra-logo-item {
	position: relative;
	z-index: 3;
}

.public-sidebar .mitra-logo-link,
.public-sidebar-partners a {
	display: block;
	position: relative;
	z-index: 3;
	cursor: pointer;
}

.public-sidebar-partners img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 120px;
	padding: 10px;
	object-fit: contain;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

body[data-color-scheme="dark"] .public-sidebar-card {
	background: #1f2937;
	border-color: #374151;
	box-shadow: none;
}

body[data-color-scheme="dark"] .public-sidebar-heading h3,
body[data-color-scheme="dark"] .public-sidebar-heading h4,
body[data-color-scheme="dark"] .public-sidebar-product-title,
body[data-color-scheme="dark"] .public-sidebar-map-title,
body[data-color-scheme="dark"] .public-sidebar-recent-title,
body[data-color-scheme="dark"] .public-sidebar-category-list a {
	color: #f3f4f6 !important;
}

body[data-color-scheme="dark"] .public-sidebar-search-form,
body[data-color-scheme="dark"] .public-sidebar-link-btn,
body[data-color-scheme="dark"] .public-sidebar-product-media,
body[data-color-scheme="dark"] .public-sidebar-map-card,
body[data-color-scheme="dark"] .public-sidebar-partners img {
	background: #111827;
	border-color: #374151;
}

body[data-color-scheme="dark"] .public-sidebar-search-form .form-control {
	color: #f9fafb;
}

body[data-color-scheme="dark"] .public-sidebar-category-list li,
body[data-color-scheme="dark"] .public-sidebar-recent-list li {
	border-bottom-color: #374151;
}

body[data-color-scheme="dark"] .public-sidebar-link-btn,
body[data-color-scheme="dark"] .public-sidebar-empty,
body[data-color-scheme="dark"] .public-sidebar-map-group,
body[data-color-scheme="dark"] .public-sidebar-map-copy p,
body[data-color-scheme="dark"] .public-sidebar-recent-list small {
	color: #d1d5db;
}

body[data-color-scheme="dark"] .public-sidebar-alert {
	color: #bfdbfe;
	background: #172554;
	border-color: #1d4ed8;
}

/* 07b. Revolution slider media controls
 **************************************************************** **/
.fullwidthbanner-container .tparrows,
.fullwidthbanner-container .tp-leftarrow,
.fullwidthbanner-container .tp-rightarrow,
.fullwidthbanner-container .tp-bullets,
.fullwidthbanner-container .tp-video-play-button,
.fullwidthbanner-container .tp-video-play-button i,
.fullwidthbanner-container .tp-video-controls,
.fullwidthbanner-container .vjs-control-bar,
.fullwidthbanner-container .vjs-big-play-button,
.fullwidthbanner-container .vjs-loading-spinner {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.fullwidthbanner-container .nexa-slider-transparent-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 4;
	background: transparent;
}

.fullscreenvideo[data-mediafit="contain"] {
	background: #000000;
	overflow: hidden !important;
}

.fullscreenvideo[data-mediafit="contain"] video,
.nexa-slider-video-contain {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	background: #000000;
}

.fullscreenvideo[data-mediafit="cover"] video,
.nexa-slider-video-cover {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.tp-caption.nexa-slider-caption-group {
	font-family: var(--nexa-slider-font-family, 'Montserrat', 'Open Sans', Arial, sans-serif) !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.42) !important;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	letter-spacing: 0;
	padding: 0 !important;
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	width: auto !important;
	max-width: min(72vw, 620px);
	white-space: normal !important;
}

.nexa-slider-caption-line {
	display: block;
	font-family: var(--nexa-slider-font-family, 'Montserrat', 'Open Sans', Arial, sans-serif) !important;
	white-space: normal !important;
}

.nexa-slider-caption-position-top_left,
.nexa-slider-caption-position-middle_left,
.nexa-slider-caption-position-bottom_left {
	align-items: flex-start;
	text-align: left !important;
}

.nexa-slider-caption-position-top_center,
.nexa-slider-caption-position-center,
.nexa-slider-caption-position-bottom_center {
	align-items: center;
	text-align: center !important;
}

.nexa-slider-caption-position-top_right,
.nexa-slider-caption-position-middle_right,
.nexa-slider-caption-position-bottom_right {
	align-items: flex-end;
	text-align: right !important;
}

.tp-caption.nexa-slider-caption-group .nexa-slider-caption-main {
	max-width: min(62vw, 520px);
}

.tp-caption.nexa-slider-caption-group .nexa-slider-caption-sub {
	font-weight: 500 !important;
	max-width: min(72vw, 620px);
}

.tp-caption.nexa-slider-caption-tech {
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.tp-caption.nexa-slider-caption-classic {
	color: #ffffff !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
}

/* 07b. Category news page
 **************************************************************** **/
.category-news-page {
	padding-bottom: 0;
	color: #111827;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
}

.category-news-layout {
	display: flex;
	align-items: flex-start;
}

.category-news-main,
.category-news-page .rightlink-wrap {
	min-width: 0;
}

.category-news-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 22px;
	margin-bottom: 20px;
	padding: 24px;
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.08), rgba(255, 255, 255, 0) 38%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-top: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.category-news-hero-copy {
	min-width: 0;
	max-width: 620px;
}

.category-news-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 850;
	line-height: 1.2;
	text-transform: uppercase;
}

.category-news-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: currentColor;
}

.category-news-hero h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: 0;
}

.category-news-hero p {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.7;
}

.category-news-stat {
	flex: 0 0 150px;
	padding: 15px;
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.category-news-stat strong {
	display: block;
	color: #111827;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.category-news-stat span {
	display: block;
	margin-top: 6px;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.category-news-list {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.category-news-card {
	display: grid;
	grid-template-columns: 245px minmax(0, 1fr);
	gap: 20px;
	min-width: 0;
	padding: 16px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.category-news-card:hover {
	border-color: rgba(230, 47, 23, 0.25);
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.11);
	transform: translateY(-2px);
}

.category-news-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f1f5f9;
	border-radius: 8px;
}

.category-news-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.category-news-card:hover .category-news-media img {
	transform: scale(1.035);
}

.category-news-content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.category-news-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.category-news-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 5px 9px;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
}

.category-news-meta i {
	color: var(--brand-primary, #e62f17);
}

.category-news-content h3 {
	margin: 0 0 8px;
	font-size: 21px;
	font-weight: 850;
	line-height: 1.32;
	letter-spacing: 0;
}

.category-news-content h3 a {
	display: block;
	color: #111827;
	text-decoration: none !important;
}

.category-news-content h3 a:hover {
	color: var(--brand-primary, #e62f17);
}

.category-news-content p {
	margin: 0 0 14px;
	color: #64748b;
	font-size: 14px;
	line-height: 1.72;
}

.category-news-read {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: fit-content;
	margin-top: auto;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
}

.category-news-read:hover {
	color: #991b1b;
}

.category-news-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 250px;
	padding: 34px 20px;
	color: #64748b;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.category-news-empty i {
	width: 54px;
	height: 54px;
	margin-bottom: 14px;
	color: var(--brand-primary, #e62f17);
	font-size: 24px;
	line-height: 54px;
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
}

.category-news-empty h3 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 20px;
	font-weight: 800;
}

.category-news-empty p {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
}

body[data-color-scheme="dark"] .category-news-hero,
body[data-color-scheme="dark"] .category-news-card,
body[data-color-scheme="dark"] .category-news-empty {
	background: #1f2937;
	border-color: #374151;
	box-shadow: none;
}

body[data-color-scheme="dark"] .category-news-hero h2,
body[data-color-scheme="dark"] .category-news-content h3 a,
body[data-color-scheme="dark"] .category-news-empty h3,
body[data-color-scheme="dark"] .category-news-stat strong {
	color: #f9fafb;
}

body[data-color-scheme="dark"] .category-news-hero p,
body[data-color-scheme="dark"] .category-news-content p,
body[data-color-scheme="dark"] .category-news-empty p,
body[data-color-scheme="dark"] .category-news-stat span {
	color: #cbd5e1;
}

body[data-color-scheme="dark"] .category-news-stat,
body[data-color-scheme="dark"] .category-news-meta span {
	background: #111827;
	border-color: #374151;
}

body[data-color-scheme="dark"] .category-news-meta span {
	color: #d1d5db;
}

@media (max-width: 991px) {
	.category-news-layout {
		display: block;
	}

	.category-news-page .rightlink-wrap {
		margin-top: 26px;
	}

	.category-news-card {
		grid-template-columns: 220px minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.category-news-hero {
		align-items: flex-start;
		flex-direction: column;
		padding: 20px;
	}

	.category-news-stat {
		width: 100%;
		flex-basis: auto;
	}

	.category-news-card {
		grid-template-columns: 1fr;
	}
}

/* 07b. Detail News page
 **************************************************************** **/
.detail-news-page {
	padding-bottom: 0;
	color: #111827;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
}

.detail-news-body {
	overflow: visible;
}

.detail-news-layout {
	display: flex;
	align-items: flex-start;
}

.detail-news-main,
.detail-news-page .rightlink-wrap {
	min-width: 0;
}

.detail-news-page .article-container {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
}

.detail-news-hero {
	position: relative;
	padding: 28px 30px 24px;
	margin-bottom: 22px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.08), rgba(255, 255, 255, 0) 38%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-top: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
	box-shadow: 0 16px 42px rgba(15, 23, 42, 0.07);
}

.detail-news-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.detail-news-eyebrow::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.detail-news-page .entry-title {
	margin: 0 0 15px !important;
	color: #111827;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.detail-news-page .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 !important;
	padding: 0;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: none;
	border: 0;
}

.detail-news-page .entry-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: 100%;
	padding: 7px 10px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
}

.detail-news-page .entry-meta i {
	color: var(--brand-primary, #e62f17);
}

.detail-news-page .blog-post-slider {
	margin-bottom: 0 !important;
	overflow: hidden;
	background: transparent;
	border: 0;
	border-radius: 8px;
	box-shadow: none;
}

.detail-news-page .detail-news-carousel,
.detail-news-page .detail-news-carousel .owl-wrapper-outer {
	overflow: hidden;
	border-radius: 8px;
}

.detail-news-page .detail-news-carousel .owl-wrapper {
	display: flex !important;
	align-items: stretch;
}

.detail-news-page .detail-news-carousel .owl-item {
	float: none;
	min-height: 1px;
}

.detail-news-page .blog-post-slider .item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 220px;
	background: transparent;
}

.detail-news-page .blog-post-slider img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 16px 34px rgba(15, 23, 42, 0.10);
}

.detail-news-page .detail-news-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	min-height: 260px;
	padding: 28px;
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
}

.detail-news-page .detail-news-image-placeholder i {
	color: var(--brand-primary, #e62f17);
	font-size: 28px;
}

.detail-news-page .share-box-modern {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 4px !important;
	padding: 2px 0 4px;
	border-top: 0;
	border-bottom: 0;
}

.detail-news-page .share-label {
	margin-right: 2px;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.detail-news-page .sh-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: #ffffff !important;
	text-decoration: none !important;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: transform .18s ease, opacity .18s ease;
}

.detail-news-page .sh-btn:hover,
.detail-news-page .sh-btn:focus {
	color: #ffffff !important;
	opacity: .92;
	transform: translateY(-2px);
	outline: none;
}

.detail-news-page .sh-fb { background: #1877f2; }
.detail-news-page .sh-wa { background: #25d366; }
.detail-news-page .sh-cp { background: #64748b; }

.detail-news-page .entry-content {
	width: 100%;
	max-width: 100%;
	color: #1f2937;
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 17px;
	line-height: 1.82;
	overflow-wrap: anywhere;
	text-shadow: none;
}

.detail-news-page .entry-content * {
	max-width: 100%;
	box-sizing: border-box;
}

.detail-news-page .entry-content p {
	margin: 0 0 18px !important;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	text-shadow: none;
}

.detail-news-page .entry-content li,
.detail-news-page .entry-content span,
.detail-news-page .entry-content div {
	color: inherit;
	text-shadow: none;
}

.detail-news-page .entry-content h1,
.detail-news-page .entry-content h2,
.detail-news-page .entry-content h3,
.detail-news-page .entry-content h4 {
	margin: 26px 0 12px !important;
	color: #111827;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif !important;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

.detail-news-page .entry-content h1 { font-size: 28px; }
.detail-news-page .entry-content h2 { font-size: 24px; }
.detail-news-page .entry-content h3 { font-size: 20px; }
.detail-news-page .entry-content h4 { font-size: 17px; }

.detail-news-page .entry-content img,
.detail-news-page .entry-content figure,
.detail-news-page .entry-content iframe,
.detail-news-page .entry-content video {
	display: block;
	max-width: 100% !important;
	height: auto !important;
	margin-right: auto;
	margin-left: auto;
}

.detail-news-page .entry-content iframe,
.detail-news-page .entry-content video {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.detail-news-page .entry-content table {
	display: block;
	width: 100% !important;
	max-width: 100%;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.detail-news-page .entry-content blockquote {
	margin: 24px 0 !important;
	padding: 16px 18px !important;
	color: #334155;
	background: #f8fafc;
	border-left: 4px solid var(--brand-primary, #e62f17) !important;
	border-radius: 0 8px 8px 0;
}

.detail-news-page .product-ad-box {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 32px 0;
	padding: 18px;
	background: linear-gradient(135deg, rgba(15, 118, 110, .08), #ffffff 56%);
	border: 1px solid rgba(15, 118, 110, .2);
	border-radius: 8px;
}

.detail-news-page .ad-label {
	position: absolute;
	top: -11px;
	left: 16px;
	padding: 3px 10px;
	color: #ffffff;
	background: #0f766e;
	border-radius: 999px;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
	font-size: 9px;
	font-weight: 800;
	line-height: 1.3;
}

.detail-news-page .ad-img {
	width: 108px;
	height: 108px;
	object-fit: cover;
	border: 1px solid #dbeafe;
	border-radius: 8px;
}

.detail-news-page .ad-info {
	min-width: 0;
}

.detail-news-page .ad-title {
	margin-bottom: 5px;
	color: #111827;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.detail-news-page .ad-desc {
	margin-bottom: 10px;
	color: #64748b;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
	font-size: 13px;
	line-height: 1.5;
}

.detail-news-page .btn-product-name {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 13px;
	color: #ffffff !important;
	background: #0f766e;
	border-radius: 999px;
	font-family: 'Manrope', 'Open Sans', Arial, sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
}

.detail-news-page .comment-section {
	margin: 42px 0 0;
	padding-top: 0;
	border-top: 0;
}

.detail-news-page .comment-title {
	margin: 0 0 18px;
	color: #111827;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
}

.detail-news-page .comment-list {
	margin-bottom: 22px;
}

.detail-news-page .comment-item {
	padding: 15px 0;
	border-bottom: 1px solid #eef2f7;
}

.detail-news-page .comment-user {
	color: #111827;
	font-size: 14px;
	font-weight: 800;
}

.detail-news-page .comment-date {
	margin-left: 9px;
	color: #94a3b8;
	font-size: 11px;
	font-weight: 700;
}

.detail-news-page .comment-text {
	margin-top: 8px;
	color: #475569;
	font-size: 14px;
	line-height: 1.65;
}

.detail-news-page .comment-empty {
	margin: 20px 0;
	color: #94a3b8;
	font-size: 13px;
	text-align: center;
}

.detail-news-page .comment-form-box {
	margin-bottom: 30px;
	padding: 20px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.detail-news-page .comment-form-label {
	display: block;
	margin-bottom: 8px;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
}

.detail-news-page .comment-form-box textarea.form-control {
	border-color: #cbd5e1;
	border-radius: 8px;
	box-shadow: none;
}

.detail-news-page .comment-form-box textarea.form-control:focus {
	border-color: var(--brand-primary, #e62f17);
	box-shadow: 0 0 0 3px rgba(230, 47, 23, .12);
}

.detail-news-page #btnKirimKomentar {
	padding: 8px 18px;
	background: var(--brand-primary, #e62f17);
	border: 0;
	border-radius: 999px;
	font-weight: 800;
	line-height: 1;
}

.detail-news-page .comment-auth-notice {
	margin-bottom: 25px;
	padding: 15px;
	color: #991b1b;
	background: #fff1f2;
	border: 1px solid #fecdd3;
	border-radius: 8px;
	font-size: 13px;
	text-align: center;
}

.detail-news-page .comment-auth-notice a {
	color: #991b1b;
	font-weight: 800;
	text-decoration: underline;
}

.detail-news-page .baca-juga-box {
	margin: 34px 0 0 !important;
	padding: 20px !important;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
}

.detail-news-page .baca-juga-box h4 {
	margin: 0 0 13px !important;
	color: #111827;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.detail-news-page .baca-juga-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 0;
	padding: 0 !important;
	list-style: none !important;
}

.detail-news-page .baca-juga-list li {
	margin: 0 !important;
}

.detail-news-page .baca-juga-list a {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	color: #334155;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.45;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.detail-news-page .baca-juga-list a:hover {
	color: var(--brand-primary, #e62f17);
}

.detail-news-page .baca-juga-list i {
	margin-top: 4px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
}

.detail-news-page .sumber-text {
	display: inline;
	margin: 0;
	padding: 0;
	color: #94a3b8;
	font-size: 12px;
	font-style: italic;
}

.detail-news-inline-notice {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 10050;
	max-width: min(320px, calc(100vw - 36px));
	padding: 11px 14px;
	color: #ffffff;
	background: #334155;
	border-radius: 8px;
	box-shadow: 0 14px 35px rgba(15, 23, 42, .2);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease;
}

.detail-news-inline-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.detail-news-inline-notice-success {
	background: #0f766e;
}

.detail-news-inline-notice-error {
	background: #b91c1c;
}

body[data-color-scheme="dark"] .detail-news-page {
	color: #e5e7eb;
}

body[data-color-scheme="dark"] .detail-news-hero,
body[data-color-scheme="dark"] .detail-news-page .blog-post-slider,
body[data-color-scheme="dark"] .detail-news-page .comment-form-box,
body[data-color-scheme="dark"] .detail-news-page .baca-juga-box {
	background: #1f1f1f;
	border-color: #2f2f2f;
}

body[data-color-scheme="dark"] .detail-news-page .entry-title,
body[data-color-scheme="dark"] .detail-news-page .entry-content h1,
body[data-color-scheme="dark"] .detail-news-page .entry-content h2,
body[data-color-scheme="dark"] .detail-news-page .entry-content h3,
body[data-color-scheme="dark"] .detail-news-page .entry-content h4,
body[data-color-scheme="dark"] .detail-news-page .ad-title,
body[data-color-scheme="dark"] .detail-news-page .comment-title,
body[data-color-scheme="dark"] .detail-news-page .comment-user,
body[data-color-scheme="dark"] .detail-news-page .baca-juga-box h4,
body[data-color-scheme="dark"] .detail-news-page .sumber-text strong {
	color: #e5e7eb;
}

body[data-color-scheme="dark"] .detail-news-page .entry-content,
body[data-color-scheme="dark"] .detail-news-page .ad-desc,
body[data-color-scheme="dark"] .detail-news-page .comment-text,
body[data-color-scheme="dark"] .detail-news-page .baca-juga-list a {
	color: #cbd5e1;
}

body[data-color-scheme="dark"] .detail-news-page .entry-meta,
body[data-color-scheme="dark"] .detail-news-page .comment-date,
body[data-color-scheme="dark"] .detail-news-page .comment-empty,
body[data-color-scheme="dark"] .detail-news-page .sumber-text,
body[data-color-scheme="dark"] .detail-news-page .comment-form-label {
	color: #9ca3af;
}

body[data-color-scheme="dark"] .detail-news-page .entry-meta span {
	background: #111827;
	border-color: #374151;
}

body[data-color-scheme="dark"] .detail-news-page .detail-news-image-placeholder {
	color: #9ca3af;
	background: #262626;
	border-color: #3f3f46;
}

body[data-color-scheme="dark"] .detail-news-page .share-box-modern,
body[data-color-scheme="dark"] .detail-news-page .comment-section,
body[data-color-scheme="dark"] .detail-news-page .comment-item,
body[data-color-scheme="dark"] .detail-news-page .sumber-text {
	border-color: #2f2f2f;
}

body[data-color-scheme="dark"] .detail-news-page .entry-content blockquote,
body[data-color-scheme="dark"] .detail-news-page .product-ad-box {
	background: #1f1f1f;
	border-color: #2f2f2f;
}

body[data-color-scheme="dark"] .detail-news-page .comment-form-box textarea.form-control {
	color: #e5e7eb;
	background: #111827;
	border-color: #374151;
}

body[data-color-scheme="dark"] .detail-news-page .comment-auth-notice {
	color: #fecaca;
	background: #2a1616;
	border-color: #7f1d1d;
}

body[data-color-scheme="dark"] .detail-news-page .comment-auth-notice a {
	color: #fca5a5;
}

@media (max-width: 991px) {
	.detail-news-layout {
		display: block;
	}

	.detail-news-page .rightlink-wrap {
		margin-top: 26px;
	}
}

@media (max-width: 768px) {
	.detail-news-page .article-container {
		max-width: 100% !important;
	}

	.detail-news-hero {
		padding: 22px 18px 20px;
		margin-bottom: 18px;
	}

	.detail-news-page .entry-title {
		font-size: 24px !important;
		line-height: 1.25 !important;
	}

	.detail-news-page .entry-meta {
		gap: 7px;
	}

	.detail-news-page .entry-content {
		font-size: 15px !important;
		line-height: 1.72 !important;
	}

	.detail-news-page .entry-content p,
	.detail-news-page .entry-content div,
	.detail-news-page .entry-content span,
	.detail-news-page .entry-content li {
		font-size: inherit !important;
		line-height: inherit !important;
		word-spacing: normal !important;
		letter-spacing: 0 !important;
	}

	.detail-news-page .entry-content h1 { font-size: 23px !important; }
	.detail-news-page .entry-content h2 { font-size: 21px !important; }
	.detail-news-page .entry-content h3 { font-size: 18px !important; }

	.detail-news-page .product-ad-box {
		flex-direction: column;
		align-items: flex-start;
	}

	.detail-news-page .ad-img {
		width: 130px;
		height: 130px;
	}
}

/* 07c. Video Gallery page
 **************************************************************** **/
.video-gallery-page {
	padding-bottom: 0;
}

body.video-gallery-title-offset header#page-title.public-page-title {
	margin-top: var(--video-gallery-page-title-offset, 0px) !important;
}

.video-gallery-library {
	position: relative;
	padding: 24px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.08), rgba(15, 23, 42, 0) 34%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-top: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
	box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.video-gallery-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.64fr);
	gap: 22px;
	align-items: end;
	margin-bottom: 20px;
}

.video-gallery-copy {
	min-width: 0;
}

.video-gallery-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.video-gallery-eyebrow::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.video-gallery-header h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 30px;
	font-weight: 850;
	line-height: 1.18;
	letter-spacing: 0;
}

.video-gallery-header p {
	max-width: 720px;
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.7;
}

.video-gallery-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.video-gallery-stat {
	min-width: 0;
	padding: 14px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.video-gallery-stat strong,
.video-gallery-stat span {
	display: block;
}

.video-gallery-stat strong {
	overflow: hidden;
	color: #111827;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.15;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.video-gallery-stat span {
	margin-top: 5px;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.video-gallery-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	min-height: 1px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	opacity: 1 !important;
	visibility: visible !important;
}

.video-gallery-card {
	position: static !important;
	min-width: 0;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.video-gallery-card:hover {
	border-color: rgba(230, 47, 23, 0.5);
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-1px) !important;
}

.video-gallery-thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #111827;
	color: #ffffff;
	text-decoration: none !important;
}

.video-gallery-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.video-gallery-card:hover .video-gallery-thumb img {
	opacity: 0.82;
	transform: scale(1.035);
}

.video-gallery-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.04), rgba(15, 23, 42, 0.56));
	pointer-events: none;
}

.video-gallery-play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding-left: 3px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: rgba(230, 47, 23, 0.92);
	border-radius: 50%;
	box-shadow: 0 16px 30px rgba(15, 23, 42, 0.22);
	color: #ffffff;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, background 0.2s ease;
}

.video-gallery-card:hover .video-gallery-play {
	background: var(--brand-primary, #e62f17);
	transform: translate(-50%, -50%) scale(1.06);
}

.video-gallery-category {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 1;
	max-width: calc(100% - 24px);
	padding: 6px 9px;
	overflow: hidden;
	background: rgba(15, 23, 42, 0.78);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 999px;
	color: #ffffff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.15;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.video-gallery-card-body {
	padding: 15px 16px 16px;
}

.video-gallery-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 7px;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.video-gallery-meta i {
	margin-right: 6px;
	color: var(--brand-primary, #e62f17);
}

.video-gallery-title {
	display: -webkit-box;
	min-height: 46px;
	margin: 0;
	overflow: hidden;
	color: #111827;
	font-size: 17px;
	font-weight: 850;
	line-height: 1.35;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.video-gallery-title a {
	color: inherit !important;
	text-decoration: none !important;
}

.video-gallery-title a:hover {
	color: var(--brand-primary, #e62f17) !important;
}

.video-gallery-pagination-wrap {
	margin-top: 22px;
}

.video-gallery-pagination {
	margin: 0;
}

.video-gallery-pagination > li > a,
.video-gallery-pagination > li > span {
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-color: #e5e7eb;
	color: #475569;
	font-weight: 800;
	line-height: 38px;
}

.video-gallery-pagination > .active > a,
.video-gallery-pagination > .active > span,
.video-gallery-pagination > .active > a:hover,
.video-gallery-pagination > .active > span:hover {
	background: var(--brand-primary, #e62f17);
	border-color: var(--brand-primary, #e62f17);
	color: #ffffff;
}

.video-gallery-empty {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 34px 18px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #64748b;
	text-align: center;
}

.video-gallery-empty i {
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	font-size: 20px;
	line-height: 52px;
}

.video-gallery-empty strong {
	margin-bottom: 5px;
	color: #111827;
	font-size: 16px;
}

.video-popup-content {
	overflow: hidden;
	background: #000000;
	border: 0;
	border-radius: 8px;
}

.video-popup-close {
	position: absolute;
	top: 8px;
	right: 10px;
	z-index: 10;
	width: 36px;
	height: 36px;
	border: 0;
	color: #ffffff;
	font-size: 28px;
	line-height: 36px;
	opacity: 1;
	text-shadow: none;
}

body[data-color-scheme="dark"] .video-gallery-header h2,
body[data-color-scheme="dark"] .video-gallery-stat strong,
body[data-color-scheme="dark"] .video-gallery-title,
body[data-color-scheme="dark"] .video-gallery-empty strong {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .video-gallery-header p,
body[data-color-scheme="dark"] .video-gallery-stat span,
body[data-color-scheme="dark"] .video-gallery-meta,
body[data-color-scheme="dark"] .video-gallery-empty {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .video-gallery-library {
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.14), rgba(23, 23, 23, 0) 34%),
		linear-gradient(180deg, #171717 0%, #111111 100%) !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .video-gallery-stat,
body[data-color-scheme="dark"] .video-gallery-card,
body[data-color-scheme="dark"] .video-gallery-empty {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

@media only screen and (max-width: 991px) {
	.video-gallery-header {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.video-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px) {
	.video-gallery-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.video-gallery-library {
		padding: 16px;
	}

	.video-gallery-header {
		margin-bottom: 14px;
	}

	.video-gallery-header h2 {
		font-size: 24px;
		line-height: 1.24;
	}

	.video-gallery-header p {
		font-size: 14px;
		line-height: 1.65;
	}

	.video-gallery-stats {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.video-gallery-stat {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 11px 12px;
	}

	.video-gallery-stat strong {
		font-size: 16px;
	}

	.video-gallery-stat span {
		margin-top: 0;
		text-align: right;
	}

	.video-gallery-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.video-gallery-title {
		min-height: 0;
		font-size: 15px;
		line-height: 1.34;
	}

	.video-gallery-card-body {
		padding: 13px 14px 14px;
	}

	.video-gallery-play {
		width: 44px;
		height: 44px;
	}
}

/* 07c. Product page
 **************************************************************** **/
.product-page {
	padding-bottom: 0;
}

body.product-title-offset header#page-title.public-page-title {
	margin-top: var(--product-page-title-offset, 0px) !important;
}

.product-library {
	position: relative;
	padding: 24px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.08), rgba(15, 23, 42, 0) 34%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-top: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
	box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.product-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr);
	gap: 22px;
	align-items: end;
	margin-bottom: 20px;
}

.product-header-copy {
	min-width: 0;
}

.product-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.product-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: currentColor;
}

.product-header h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 30px;
	font-weight: 850;
	line-height: 1.18;
	letter-spacing: 0;
}

.product-header p {
	max-width: 740px;
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.7;
}

.product-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.product-stat {
	min-width: 0;
	padding: 14px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.product-stat strong,
.product-stat span {
	display: block;
}

.product-stat strong {
	overflow: hidden;
	color: #111827;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.15;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.product-stat span {
	margin-top: 5px;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.product-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	min-height: 1px;
	margin: 0 !important;
	padding: 0 !important;
}

.product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
	color: inherit !important;
	text-decoration: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.product-card:hover {
	border-color: rgba(230, 47, 23, 0.5);
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-1px);
}

.product-card-media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f1f5f9;
}

.product-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.product-card:hover .product-card-media img {
	opacity: 0.92;
	transform: scale(1.035);
}

.product-discount,
.product-stock-flag {
	position: absolute;
	z-index: 1;
	max-width: calc(100% - 20px);
	padding: 6px 8px;
	overflow: hidden;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.1;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.product-discount {
	top: 10px;
	right: 10px;
	background: var(--brand-primary, #e62f17);
	color: #ffffff;
}

.product-stock-flag {
	top: 10px;
	left: 10px;
	background: rgba(15, 23, 42, 0.82);
	color: #ffffff;
}

.product-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 15px 16px 16px;
}

.product-card-title {
	display: -webkit-box;
	min-height: 45px;
	margin: 0 0 10px;
	overflow: hidden;
	color: #111827;
	font-size: 16px;
	font-weight: 850;
	line-height: 1.38;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.product-price {
	min-height: 42px;
	margin-bottom: 10px;
}

.product-price-old,
.product-price-current {
	display: block;
}

.product-price-old {
	color: #94a3b8;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: line-through;
}

.product-price-current {
	color: var(--brand-primary, #e62f17);
	font-size: 17px;
	font-weight: 900;
	line-height: 1.25;
}

.product-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid #eef2f7;
}

.product-stock,
.product-save {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 4px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.product-stock i {
	margin-right: 5px;
}

.product-stock.is-available {
	background: #ecfdf5;
	color: #047857;
}

.product-stock.is-empty {
	background: #fef2f2;
	color: #b91c1c;
}

.product-save {
	background: #f0fdf4;
	color: #15803d;
}

.product-card-action {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	margin-top: 13px;
	color: #475569;
	font-size: 12px;
	font-weight: 850;
}

.product-card:hover .product-card-action {
	color: var(--brand-primary, #e62f17);
}

.product-pagination-wrap {
	margin-top: 22px;
}

.product-pagination {
	margin: 0;
}

.product-pagination > li > a,
.product-pagination > li > span {
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-color: #e5e7eb;
	color: #475569;
	font-weight: 800;
	line-height: 38px;
}

.product-pagination > .active > a,
.product-pagination > .active > span,
.product-pagination > .active > a:hover,
.product-pagination > .active > span:hover {
	background: var(--brand-primary, #e62f17);
	border-color: var(--brand-primary, #e62f17);
	color: #ffffff;
}

.product-empty {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 34px 18px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #64748b;
	text-align: center;
}

.product-empty i {
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	font-size: 20px;
	line-height: 52px;
}

.product-empty strong {
	margin-bottom: 5px;
	color: #111827;
	font-size: 16px;
}

body[data-color-scheme="dark"] .product-header h2,
body[data-color-scheme="dark"] .product-stat strong,
body[data-color-scheme="dark"] .product-card-title,
body[data-color-scheme="dark"] .product-empty strong {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .product-header p,
body[data-color-scheme="dark"] .product-stat span,
body[data-color-scheme="dark"] .product-card-action,
body[data-color-scheme="dark"] .product-empty {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .product-library {
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.14), rgba(23, 23, 23, 0) 34%),
		linear-gradient(180deg, #171717 0%, #111111 100%) !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .product-stat,
body[data-color-scheme="dark"] .product-card,
body[data-color-scheme="dark"] .product-empty {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .product-card-media {
	background: #111827 !important;
}

body[data-color-scheme="dark"] .product-card-meta {
	border-top-color: #2f2f2f !important;
}

@media only screen and (max-width: 991px) {
	.product-header {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px) {
	.product-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.product-library {
		padding: 16px;
	}

	.product-header {
		margin-bottom: 14px;
	}

	.product-header h2 {
		font-size: 24px;
		line-height: 1.24;
	}

	.product-header p {
		font-size: 14px;
		line-height: 1.65;
	}

	.product-stats {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.product-stat {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 11px 12px;
	}

	.product-stat strong {
		font-size: 16px;
	}

	.product-stat span {
		margin-top: 0;
		text-align: right;
	}

	.product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.product-card-body {
		padding: 12px;
	}

	.product-card-title {
		min-height: 40px;
		font-size: 14px;
	}

	.product-price-current {
		font-size: 15px;
	}
}

@media only screen and (max-width: 420px) {
	.product-grid {
		grid-template-columns: 1fr;
	}
}

/* 07c. Detail product page
 **************************************************************** **/
.detail-product-page {
	padding-bottom: 0;
	overflow-x: clip;
}

.detail-product-page,
.detail-product-page * {
	box-sizing: border-box;
}

.detail-product-back-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	min-height: 44px;
	margin-top: 10px;
	padding: 11px 14px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #475569 !important;
	font-size: 13px;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.detail-product-back-action:hover {
	background: #f8fafc;
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17) !important;
	transform: translateY(-1px);
}

.detail-product-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) minmax(280px, 0.62fr);
	gap: 18px;
	align-items: start;
}

.detail-product-media-panel,
.detail-product-info-panel,
.detail-product-action-panel {
	min-width: 0;
	max-width: 100%;
}

.detail-product-card,
.detail-product-empty {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.detail-product-card {
	min-width: 0;
	padding: 20px;
}

.detail-product-main-media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	min-height: 360px;
	overflow: hidden;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 8px;
}

.detail-product-main-media a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.detail-product-image {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
}

.detail-product-play {
	position: absolute;
	top: 50%;
	left: 50%;
	color: rgba(255, 255, 255, 0.88);
	font-size: 62px;
	line-height: 1;
	pointer-events: none;
	text-shadow: 0 12px 30px rgba(15, 23, 42, 0.4);
	transform: translate(-50%, -50%);
}

.detail-product-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	padding: 2px 0 6px;
	overflow-x: auto;
	overflow-y: hidden;
}

.detail-product-thumb {
	position: relative;
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	padding: 0;
	overflow: hidden;
	background: #f8fafc;
	border: 2px solid #e5e7eb;
	border-radius: 8px;
	transition: border-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.detail-product-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0.72;
}

.detail-product-thumb.active,
.detail-product-thumb:hover {
	border-color: var(--brand-primary, #e62f17);
	transform: translateY(-1px);
}

.detail-product-thumb.active img,
.detail-product-thumb:hover img {
	opacity: 1;
}

.detail-product-thumb-play {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #ffffff;
	font-size: 18px;
	line-height: 1;
	pointer-events: none;
	text-shadow: 0 6px 16px rgba(15, 23, 42, 0.5);
	transform: translate(-50%, -50%);
}

.detail-product-info h2 {
	margin: 0 0 12px;
	color: #111827;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.18;
	letter-spacing: 0;
}

.detail-product-category {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.detail-product-category::before {
	content: "";
	width: 20px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.detail-product-price {
	padding: 16px 0 18px;
	border-top: 1px solid #eef2f7;
	border-bottom: 1px solid #eef2f7;
}

.detail-product-price-old,
.detail-product-price-current {
	display: block;
}

.detail-product-price-old {
	margin-bottom: 4px;
	color: #94a3b8;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.3;
	text-decoration: line-through;
}

.detail-product-price-current {
	color: var(--brand-primary, #e62f17);
	font-size: 30px;
	font-weight: 950;
	line-height: 1.15;
}

.detail-product-discount {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	margin-left: 8px;
	padding: 4px 8px;
	vertical-align: middle;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 999px;
	color: #b91c1c;
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
}

.detail-product-description {
	margin-top: 18px;
}

.detail-product-description h3 {
	margin: 0 0 10px;
	color: #111827;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.3;
}

.detail-product-description-text {
	max-height: 155px;
	overflow: hidden;
	color: #475569;
	font-size: 15px;
	line-height: 1.78;
	transition: max-height 0.25s ease;
}

.detail-product-description-text.expanded {
	max-height: none;
}

.detail-product-read-more {
	display: inline-flex;
	align-items: center;
	margin-top: 12px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--brand-primary, #e62f17);
	font-size: 13px;
	font-weight: 900;
	line-height: 1.3;
}

.detail-product-action-panel {
	position: relative;
}

.detail-product-action-card {
	position: sticky;
	top: 112px;
}

.detail-product-qty-label {
	display: block;
	margin: 0 0 9px;
	color: #475569;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.3;
	text-transform: uppercase;
}

.detail-product-qty {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.detail-product-qty-btn {
	width: 40px;
	height: 40px;
	padding: 0;
	background: #f8fafc;
	border: 0;
	color: var(--brand-primary, #e62f17);
	font-size: 18px;
	font-weight: 900;
	line-height: 40px;
	text-align: center;
	transition: background 0.2s ease, color 0.2s ease;
}

.detail-product-qty-btn:hover {
	background: rgba(230, 47, 23, 0.08);
}

.detail-product-qty input {
	width: 52px;
	height: 40px;
	padding: 0;
	background: #ffffff;
	border: 0;
	border-right: 1px solid #e5e7eb;
	border-left: 1px solid #e5e7eb;
	color: #111827;
	font-weight: 900;
	text-align: center;
}

.detail-product-total {
	margin: 18px 0;
	padding-top: 16px;
	border-top: 1px solid #eef2f7;
}

.detail-product-total span,
.detail-product-total small,
.detail-product-total strong {
	display: block;
}

.detail-product-total span {
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
}

.detail-product-total strong {
	margin-top: 4px;
	color: var(--brand-primary, #e62f17);
	font-size: 24px;
	font-weight: 950;
	line-height: 1.15;
}

.detail-product-total small {
	margin-top: 7px;
	color: #64748b;
	font-size: 12px;
}

.detail-product-primary-action,
.detail-product-secondary-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	padding: 11px 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.detail-product-primary-action {
	background: var(--brand-primary, #e62f17);
	border: 1px solid var(--brand-primary, #e62f17);
	color: #ffffff !important;
}

.detail-product-secondary-action {
	margin-top: 10px;
	background: #ffffff;
	border: 1px solid rgba(230, 47, 23, 0.42);
	color: var(--brand-primary, #e62f17) !important;
}

.detail-product-primary-action:hover,
.detail-product-secondary-action:hover {
	transform: translateY(-1px);
}

.detail-product-primary-action:disabled,
.detail-product-secondary-action:disabled {
	cursor: not-allowed !important;
	opacity: 0.6;
	transform: none;
}

.detail-product-login-card h3 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.3;
}

.detail-product-login-card p {
	margin: 0 0 15px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.6;
}

.detail-product-share {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px dashed #e5e7eb;
	text-align: center;
}

.detail-product-share > span {
	display: block;
	margin-bottom: 10px;
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.detail-product-share-actions {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.detail-product-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: #ffffff !important;
	font-size: 16px;
	text-decoration: none !important;
	transition: filter 0.2s ease, transform 0.2s ease;
}

.detail-product-share-btn:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.detail-product-share-whatsapp {
	background: #25d366;
}

.detail-product-share-facebook {
	background: #1877f2;
}

.detail-product-share-copy {
	background: #475569;
}

.detail-product-inline-notice {
	min-height: 18px;
	margin-top: 9px;
	color: #15803d;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
}

.detail-product-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 280px;
	padding: 38px 20px;
	color: #64748b;
	text-align: center;
}

.detail-product-empty i {
	width: 54px;
	height: 54px;
	margin-bottom: 12px;
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	color: var(--brand-primary, #e62f17);
	font-size: 21px;
	line-height: 54px;
}

.detail-product-empty h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.25;
}

.detail-product-empty p {
	max-width: 520px;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.65;
}

.detail-product-empty .detail-product-secondary-action {
	width: auto;
	margin-top: 0;
	padding-right: 16px;
	padding-left: 16px;
}

body[data-color-scheme="dark"] .detail-product-back-action,
body[data-color-scheme="dark"] .detail-product-card,
body[data-color-scheme="dark"] .detail-product-empty {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .detail-product-back-action,
body[data-color-scheme="dark"] .detail-product-description-text,
body[data-color-scheme="dark"] .detail-product-total span,
body[data-color-scheme="dark"] .detail-product-total small,
body[data-color-scheme="dark"] .detail-product-login-card p,
body[data-color-scheme="dark"] .detail-product-share > span,
body[data-color-scheme="dark"] .detail-product-empty {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .detail-product-info h2,
body[data-color-scheme="dark"] .detail-product-description h3,
body[data-color-scheme="dark"] .detail-product-login-card h3,
body[data-color-scheme="dark"] .detail-product-empty h2,
body[data-color-scheme="dark"] .detail-product-qty input {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .detail-product-main-media,
body[data-color-scheme="dark"] .detail-product-thumb,
body[data-color-scheme="dark"] .detail-product-qty-btn,
body[data-color-scheme="dark"] .detail-product-qty input,
body[data-color-scheme="dark"] .detail-product-secondary-action {
	background: #111827 !important;
	border-color: #374151 !important;
}

body[data-color-scheme="dark"] .detail-product-price,
body[data-color-scheme="dark"] .detail-product-total,
body[data-color-scheme="dark"] .detail-product-share {
	border-color: #2f2f2f !important;
}

@media only screen and (max-width: 991px) {
	.detail-product-layout {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 0.62fr);
	}

	.detail-product-media-panel {
		grid-column: 1 / -1;
	}

	.detail-product-main-media {
		min-height: 320px;
	}

	.detail-product-action-card {
		top: 98px;
	}
}

@media only screen and (max-width: 767px) {
	.detail-product-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.detail-product-layout {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.detail-product-media-panel,
	.detail-product-info-panel,
	.detail-product-action-panel,
	.detail-product-action-card,
	.detail-product-back-action,
	.detail-product-share {
		width: 100%;
		max-width: 100%;
	}

	.detail-product-card {
		padding: 16px;
	}

	.detail-product-main-media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.detail-product-info h2 {
		font-size: 24px;
	}

	.detail-product-price-current {
		font-size: 24px;
	}

	.detail-product-action-card {
		position: static;
	}

	.detail-product-primary-action,
	.detail-product-secondary-action {
		min-height: 42px;
	}
}

/* 07d. Public cart page
 **************************************************************** **/
.cart-page {
	padding-bottom: 0;
	overflow-x: clip;
}

.cart-page,
.cart-page * {
	box-sizing: border-box;
}

.cart-page-title.public-page-title {
	margin-bottom: 0;
}

.cart-page-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 18px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.cart-page-copy {
	min-width: 0;
	max-width: 760px;
}

.cart-page-eyebrow,
.cart-panel-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.cart-page-eyebrow::before,
.cart-panel-kicker::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.cart-page-copy h2 {
	margin: 7px 0 8px;
	color: #111827;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.22;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.cart-page-copy p {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.68;
}

.cart-page-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 9px;
}

.cart-nav-btn,
.cart-ghost-btn,
.cart-save-btn,
.cart-primary-link,
.cart-checkout-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	padding: 9px 13px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cart-nav-btn {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	color: #334155 !important;
}

.cart-nav-btn:hover,
.cart-ghost-btn:hover,
.cart-save-btn:hover,
.cart-primary-link:hover,
.cart-checkout-btn:hover {
	transform: translateY(-1px);
}

.cart-nav-transaction:hover {
	border-color: #93c5fd;
	color: #1d4ed8 !important;
}

.cart-nav-shop:hover {
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17) !important;
}

.cart-nav-logout:hover {
	border-color: #fecaca;
	color: #dc2626 !important;
}

.cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.38fr);
	gap: 18px;
	align-items: start;
	margin: 0 0 24px;
}

.cart-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.cart-panel,
.cart-summary-card {
	min-width: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.cart-panel {
	padding: 20px;
}

.cart-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.cart-panel-head h3,
.cart-summary-card h3,
.cart-empty-state h3,
.cart-item h4 {
	margin: 0;
	color: #111827;
	font-weight: 900;
	letter-spacing: 0;
}

.cart-panel-head h3,
.cart-summary-card h3 {
	margin-top: 6px;
	font-size: 18px;
	line-height: 1.25;
}

.cart-count-pill {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 6px 10px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	color: #475569;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
}

.cart-items-list {
	display: grid;
	gap: 14px;
}

.cart-item {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 16px;
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 8px;
}

.cart-item-media {
	width: 112px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.cart-item-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.cart-item-body {
	min-width: 0;
}

.cart-item-topline,
.cart-item-price-row,
.cart-item-controls,
.cart-summary-lines > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.cart-item h4 {
	margin-bottom: 5px;
	font-size: 15px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.cart-item p {
	margin: 0;
	color: #64748b;
	font-size: 12px;
	line-height: 1.45;
}

.cart-remove-btn,
.cart-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	color: #64748b;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cart-remove-btn {
	width: 36px;
	height: 36px;
	border-radius: 8px;
}

.cart-remove-btn:hover {
	background: #fef2f2;
	border-color: #fecaca;
	color: #dc2626;
	transform: translateY(-1px);
}

.cart-item-price-row {
	margin: 14px 0;
	padding: 13px 0;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
}

.cart-price-old,
.cart-price-current {
	display: inline-flex;
	align-items: center;
	margin-right: 7px;
	line-height: 1.25;
}

.cart-price-old {
	color: #94a3b8;
	font-size: 12px;
	font-weight: 800;
	text-decoration: line-through;
}

.cart-price-current {
	color: #111827;
	font-size: 14px;
	font-weight: 950;
}

.cart-discount-badge {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 4px 7px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 999px;
	color: #b91c1c;
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
}

.cart-item-price-row strong {
	flex: 0 0 auto;
	color: var(--brand-primary, #e62f17);
	font-size: 16px;
	font-weight: 950;
	line-height: 1.2;
}

.cart-note-field {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

.cart-note-field span,
.cart-form-grid span,
.cart-select-field span {
	display: block;
	margin-bottom: 6px;
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.cart-note-field input,
.cart-form-grid input,
.cart-form-grid textarea,
.cart-select-field select {
	width: 100%;
	min-height: 42px;
	padding: 9px 11px;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	color: #111827;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cart-note-field input:focus,
.cart-form-grid input:focus,
.cart-form-grid textarea:focus,
.cart-select-field select:focus {
	border-color: rgba(230, 47, 23, 0.55);
	box-shadow: 0 0 0 3px rgba(230, 47, 23, 0.1);
}

.cart-qty-control {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
}

.cart-qty-btn {
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 0;
}

.cart-qty-btn:hover {
	background: rgba(230, 47, 23, 0.08);
	color: var(--brand-primary, #e62f17);
}

.cart-qty-control span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 38px;
	border-right: 1px solid #dbe3ee;
	border-left: 1px solid #dbe3ee;
	color: #111827;
	font-size: 13px;
	font-weight: 950;
}

.cart-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 280px;
	padding: 32px 20px;
	text-align: center;
}

.cart-empty-state i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 14px;
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	color: var(--brand-primary, #e62f17);
	font-size: 22px;
}

.cart-empty-state h3 {
	margin-bottom: 7px;
	font-size: 20px;
	line-height: 1.25;
}

.cart-empty-state p {
	max-width: 430px;
	margin: 0 0 16px;
	color: #64748b;
	font-size: 14px;
	line-height: 1.65;
}

.cart-primary-link,
.cart-save-btn,
.cart-checkout-btn {
	background: var(--brand-primary, #e62f17);
	border: 1px solid var(--brand-primary, #e62f17);
	color: #ffffff !important;
}

.cart-primary-link:hover,
.cart-save-btn:hover,
.cart-checkout-btn:hover {
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(230, 47, 23, 0.18);
}

.cart-address-view {
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
}

.cart-address-view strong,
.cart-address-view span {
	display: inline-flex;
	color: #111827;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.35;
}

.cart-address-view span {
	margin-left: 8px;
	color: #64748b;
	font-size: 13px;
	font-weight: 800;
}

.cart-address-view p {
	margin: 8px 0 0;
	color: #475569;
	font-size: 13px;
	line-height: 1.68;
	overflow-wrap: anywhere;
}

.cart-address-edit {
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.cart-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.cart-form-grid label,
.cart-select-field {
	display: block;
	margin: 0;
	min-width: 0;
}

.cart-form-wide {
	grid-column: 1 / -1;
}

.cart-form-grid textarea {
	min-height: 94px;
	resize: vertical;
}

.cart-address-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 14px;
}

.cart-ghost-btn {
	background: #ffffff;
	border: 1px solid #dbe3ee;
	color: #334155 !important;
}

.cart-ghost-btn:hover {
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17) !important;
}

.cart-summary-panel {
	position: relative;
	min-width: 0;
}

.cart-summary-card {
	position: sticky;
	top: 112px;
	padding: 20px;
}

.cart-summary-lines {
	display: grid;
	gap: 11px;
	margin: 18px 0;
	padding: 15px 0;
	border-top: 1px solid #eef2f7;
	border-bottom: 1px solid #eef2f7;
}

.cart-summary-lines span {
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.cart-summary-lines strong {
	color: #111827;
	font-size: 13px;
	font-weight: 950;
	line-height: 1.35;
	text-align: right;
}

.cart-summary-saving span,
.cart-summary-saving strong {
	color: #dc2626;
}

.cart-select-field + .cart-select-field {
	margin-top: 14px;
}

.cart-total-box {
	margin: 18px 0;
	padding: 16px;
	background: linear-gradient(135deg, rgba(230, 47, 23, 0.09), rgba(255, 255, 255, 0.82));
	border: 1px solid rgba(230, 47, 23, 0.16);
	border-radius: 8px;
}

.cart-total-box span,
.cart-total-box strong {
	display: block;
}

.cart-total-box span {
	margin-bottom: 5px;
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.cart-total-box strong {
	color: var(--brand-primary, #e62f17);
	font-size: 26px;
	font-weight: 950;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.cart-checkout-btn {
	width: 100%;
	min-height: 46px;
}

.cart-checkout-btn:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	transform: none;
	box-shadow: none;
}

.cart-summary-note {
	margin: 13px 0 0;
	color: #64748b;
	font-size: 11px;
	line-height: 1.55;
	text-align: center;
}

body[data-color-scheme="dark"] .cart-page-head,
body[data-color-scheme="dark"] .cart-panel,
body[data-color-scheme="dark"] .cart-summary-card {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .cart-item,
body[data-color-scheme="dark"] .cart-item-media,
body[data-color-scheme="dark"] .cart-address-view,
body[data-color-scheme="dark"] .cart-address-edit,
body[data-color-scheme="dark"] .cart-count-pill,
body[data-color-scheme="dark"] .cart-nav-btn,
body[data-color-scheme="dark"] .cart-ghost-btn,
body[data-color-scheme="dark"] .cart-note-field input,
body[data-color-scheme="dark"] .cart-form-grid input,
body[data-color-scheme="dark"] .cart-form-grid textarea,
body[data-color-scheme="dark"] .cart-select-field select,
body[data-color-scheme="dark"] .cart-qty-control,
body[data-color-scheme="dark"] .cart-remove-btn,
body[data-color-scheme="dark"] .cart-qty-btn {
	background: #111827 !important;
	border-color: #374151 !important;
}

body[data-color-scheme="dark"] .cart-page-copy h2,
body[data-color-scheme="dark"] .cart-panel-head h3,
body[data-color-scheme="dark"] .cart-summary-card h3,
body[data-color-scheme="dark"] .cart-empty-state h3,
body[data-color-scheme="dark"] .cart-item h4,
body[data-color-scheme="dark"] .cart-address-view strong,
body[data-color-scheme="dark"] .cart-price-current,
body[data-color-scheme="dark"] .cart-summary-lines strong,
body[data-color-scheme="dark"] .cart-note-field input,
body[data-color-scheme="dark"] .cart-form-grid input,
body[data-color-scheme="dark"] .cart-form-grid textarea,
body[data-color-scheme="dark"] .cart-select-field select,
body[data-color-scheme="dark"] .cart-qty-control span {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .cart-page-copy p,
body[data-color-scheme="dark"] .cart-item p,
body[data-color-scheme="dark"] .cart-address-view span,
body[data-color-scheme="dark"] .cart-address-view p,
body[data-color-scheme="dark"] .cart-summary-lines span,
body[data-color-scheme="dark"] .cart-summary-note,
body[data-color-scheme="dark"] .cart-empty-state p,
body[data-color-scheme="dark"] .cart-note-field span,
body[data-color-scheme="dark"] .cart-form-grid span,
body[data-color-scheme="dark"] .cart-select-field span {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .cart-item-price-row,
body[data-color-scheme="dark"] .cart-summary-lines {
	border-color: #2f2f2f !important;
}

body[data-color-scheme="dark"] .cart-total-box {
	background: #111827 !important;
	border-color: rgba(230, 47, 23, 0.28) !important;
}

@media only screen and (max-width: 991px) {
	.cart-page-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.cart-page-actions {
		justify-content: flex-start;
	}

	.cart-layout {
		grid-template-columns: 1fr;
	}

	.cart-summary-card {
		position: static;
	}
}

@media only screen and (max-width: 767px) {
	.cart-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.cart-page-head,
	.cart-panel,
	.cart-summary-card {
		padding: 16px;
	}

	.cart-page-copy h2 {
		font-size: 23px;
	}

	.cart-page-actions,
	.cart-nav-btn {
		width: 100%;
	}

	.cart-item {
		grid-template-columns: 84px minmax(0, 1fr);
		gap: 12px;
		padding: 12px;
	}

	.cart-item-media {
		width: 84px;
	}

	.cart-item-topline,
	.cart-item-price-row,
	.cart-item-controls {
		align-items: flex-start;
		flex-direction: column;
	}

	.cart-item-price-row strong,
	.cart-note-field,
	.cart-qty-control,
	.cart-address-actions,
	.cart-address-actions .cart-ghost-btn,
	.cart-address-actions .cart-save-btn {
		width: 100%;
	}

	.cart-qty-control {
		justify-content: space-between;
	}

	.cart-qty-control span {
		flex: 1 1 auto;
	}

	.cart-form-grid {
		grid-template-columns: 1fr;
	}

	.cart-total-box strong {
		font-size: 23px;
	}
}

/* 07e. Public transaction page
 **************************************************************** **/
.transaction-page {
	padding-bottom: 0;
	overflow-x: clip;
}

.transaction-page,
.transaction-page * {
	box-sizing: border-box;
}

.transaction-title.public-page-title {
	margin-bottom: 0;
}

.transaction-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 18px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.transaction-copy {
	min-width: 0;
	max-width: 780px;
}

.transaction-eyebrow,
.order-info-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.transaction-eyebrow::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.transaction-copy h2 {
	margin: 7px 0 8px;
	color: #111827;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.22;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.transaction-copy p {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.68;
}

.transaction-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 9px;
}

.transaction-btn,
.order-primary-action,
.order-secondary-action,
.order-danger-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	padding: 9px 13px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.transaction-btn {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	color: #334155 !important;
}

.transaction-btn:hover,
.order-primary-action:hover,
.order-secondary-action:hover,
.order-danger-action:hover {
	transform: translateY(-1px);
}

.transaction-btn-shop:hover {
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17) !important;
}

.transaction-btn-logout:hover {
	border-color: #fecaca;
	color: #dc2626 !important;
}

.transaction-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}

.order-shipping-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding: 18px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.order-shipping-copy {
	min-width: 0;
}

.order-shipping-copy h3 {
	margin: 7px 0 10px;
	color: #111827;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0;
}

.order-shipping-address {
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
}

.order-shipping-address strong,
.order-shipping-address span {
	display: inline-flex;
	color: #111827;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.35;
}

.order-shipping-address span {
	margin-left: 8px;
	color: #64748b;
	font-size: 13px;
	font-weight: 800;
}

.order-shipping-address p,
.order-shipping-empty p {
	margin: 8px 0 0;
	color: #475569;
	font-size: 13px;
	line-height: 1.68;
	overflow-wrap: anywhere;
}

.order-shipping-empty {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
}

.order-shipping-empty i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
	color: var(--brand-primary, #e62f17);
}

.order-shipping-empty p {
	margin-top: 0;
}

.order-address-action {
	flex: 0 0 auto;
}

.order-stat-card {
	min-width: 0;
	padding: 16px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.order-stat-card span,
.order-stat-card strong {
	display: block;
}

.order-stat-card span {
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.order-stat-card strong {
	margin-top: 7px;
	color: #111827;
	font-size: 26px;
	font-weight: 950;
	line-height: 1;
}

.transaction-list {
	display: grid;
	gap: 18px;
	margin-bottom: 24px;
}

.order-card {
	min-width: 0;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.order-card-status-batal {
	opacity: 0.82;
}

.order-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 16px 18px;
	background: #f8fafc;
	border-bottom: 1px solid #e5e7eb;
}

.order-card-identity {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.order-invoice-tag,
.order-resi-tag,
.order-date,
.order-status-badge,
.order-note,
.order-muted {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
}

.order-invoice-tag {
	padding: 5px 9px;
	background: #eef2f7;
	border: 1px solid #dbe3ee;
	color: #334155;
}

.order-date {
	color: #64748b;
	font-weight: 800;
}

.order-resi-tag {
	padding: 5px 9px;
	background: rgba(37, 99, 235, 0.09);
	border: 1px solid rgba(37, 99, 235, 0.18);
	color: #1d4ed8;
}

.order-status-badge {
	flex: 0 0 auto;
	padding: 6px 10px;
	text-transform: uppercase;
}

.order-status-pending {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #c2410c;
}

.order-status-proses {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
}

.order-status-dikirim {
	background: #ecfeff;
	border: 1px solid #a5f3fc;
	color: #0e7490;
}

.order-status-selesai {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #15803d;
}

.order-status-batal {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #b91c1c;
}

.order-card-body {
	padding: 18px;
}

.order-products {
	display: grid;
	gap: 12px;
}

.order-product-row {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) minmax(120px, auto);
	gap: 14px;
	align-items: center;
	padding: 12px;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 8px;
}

.order-product-media {
	width: 64px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.order-product-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.order-product-main {
	min-width: 0;
}

.order-product-main h3 {
	margin: 0 0 5px;
	color: #111827;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.order-product-main p {
	margin: 0;
	color: #64748b;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.45;
}

.order-price-old {
	margin-right: 7px;
	color: #94a3b8;
	text-decoration: line-through;
}

.order-note {
	width: fit-content;
	max-width: 100%;
	margin-top: 8px;
	padding: 5px 8px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #c2410c;
	font-size: 11px;
	overflow-wrap: anywhere;
}

.order-product-subtotal {
	color: var(--brand-primary, #e62f17);
	font-size: 14px;
	font-weight: 950;
	line-height: 1.25;
	text-align: right;
}

.order-info-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 14px;
	margin-top: 14px;
}

.order-info-box {
	min-width: 0;
	padding: 15px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.order-info-label {
	margin-bottom: 9px;
	color: #64748b;
}

.order-info-box p {
	margin: 0;
	color: #475569;
	font-size: 13px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.order-payment-box > strong {
	display: block;
	margin-bottom: 10px;
	color: #111827;
	font-size: 14px;
	font-weight: 950;
	line-height: 1.35;
}

.order-bank-copy {
	display: grid;
	gap: 8px;
	margin-bottom: 12px;
}

.order-bank-copy > span {
	display: block;
	padding: 9px;
	background: #ffffff;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	color: #475569;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.order-bank-copy button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: fit-content;
	min-height: 32px;
	padding: 7px 10px;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	color: #334155;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
}

.order-bank-copy button:hover {
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17);
}

.order-proof {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.order-proof-link {
	display: block;
	width: 96px;
	height: 62px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
}

.order-proof-link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mfp-bg,
.mfp-wrap {
	z-index: 10060;
}

.mfp-wrap .mfp-close {
	z-index: 10061;
}

.donation-page {
	padding-top: 34px;
	padding-bottom: 46px;
}

.donation-campaign-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-right: 0;
	margin-left: 0;
}

.donation-campaign-grid::before,
.donation-campaign-grid::after {
	display: none;
	content: none;
}

.donation-campaign-col {
	float: none !important;
	width: auto !important;
	min-height: 0;
	padding-right: 0;
	padding-left: 0;
}

.donation-campaign-card,
.donation-empty-state,
.donation-detail {
	margin-bottom: 24px;
	padding: 22px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.donation-campaign-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.donation-campaign-media {
	display: block;
	aspect-ratio: 16 / 10;
	margin: -22px -22px 18px;
	overflow: hidden;
	background: #f1f5f9;
	text-decoration: none !important;
}

.donation-campaign-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.35s ease;
}

.donation-campaign-card:hover .donation-campaign-media img {
	transform: scale(1.04);
}

.donation-campaign-image-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--brand-primary, #e62f17);
	font-size: 34px;
	background: linear-gradient(135deg, #fff7ed 0%, #fee2e2 100%);
}

.donation-campaign-card h3,
.donation-empty-state h3,
.donation-detail h2 {
	margin-top: 0;
	color: #111827;
	font-weight: 800;
	letter-spacing: 0;
}

.donation-campaign-card h3 {
	display: -webkit-box;
	min-height: 52px;
	margin-bottom: 10px;
	overflow: hidden;
	font-size: 19px;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.donation-campaign-card p,
.donation-empty-state p,
.donation-detail p {
	color: #64748b;
	line-height: 1.7;
}

.donation-campaign-card p {
	display: -webkit-box;
	min-height: 96px;
	margin-bottom: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.donation-progress {
	display: block;
	width: 100%;
	height: 8px;
	margin: 16px 0 10px;
	overflow: hidden;
	background: #e5e7eb;
	border: 0;
	border-radius: 999px;
}

.donation-progress::-webkit-progress-bar {
	background: #e5e7eb;
	border-radius: 999px;
}

.donation-progress::-webkit-progress-value {
	background: var(--brand-primary, #e62f17);
	border-radius: inherit;
}

.donation-progress::-moz-progress-bar {
	background: var(--brand-primary, #e62f17);
	border-radius: 999px;
}

.donation-pagination {
	margin: 26px 0 8px;
}

.donation-pagination .pagination > li > a,
.donation-pagination .pagination > li > span {
	border-radius: 6px;
	margin: 0 3px;
	color: var(--brand-primary, #e62f17);
	border-color: #e5e7eb;
	font-weight: 700;
}

.donation-pagination .pagination > .active > a,
.donation-pagination .pagination > .active > span {
	background: var(--brand-primary, #e62f17);
	border-color: var(--brand-primary, #e62f17);
	color: #fff;
}

.donation-campaign-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	color: #111827;
	font-weight: 800;
}

.donation-campaign-meta small {
	color: #64748b;
	font-weight: 600;
}

.donation-card-action {
	align-self: flex-start;
	margin-top: auto;
}

.donation-detail-grid,
.donation-instruction-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
}

.donation-detail-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-bottom: 20px;
	object-fit: cover;
	border-radius: 8px;
}

.donation-form-panel,
.donation-public-section {
	margin-bottom: 24px;
	padding: 22px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.donation-form-panel h3,
.donation-public-section h3 {
	margin-top: 0;
	color: #111827;
	font-weight: 800;
	letter-spacing: 0;
}

.donation-form .form-group label {
	display: block;
	margin-bottom: 7px;
	color: #334155;
	font-weight: 700;
}

.donation-form .form-control {
	border-radius: 8px;
	box-shadow: none;
}

.donation-donor-summary {
	display: grid;
	gap: 4px;
	margin-bottom: 16px;
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
}

.donation-donor-summary span {
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.donation-donor-summary strong {
	color: #111827;
	font-size: 15px;
	line-height: 1.35;
}

.donation-donor-summary small {
	color: #475569;
	line-height: 1.35;
}

.donation-hp-field {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.donation-quick-amounts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 10px;
}

.donation-quick-amount {
	min-height: 38px;
	padding: 7px 8px;
	color: #334155;
	font-weight: 800;
	background: #f8fafc;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
}

.donation-quick-amount:hover,
.donation-quick-amount.is-active {
	color: #ffffff;
	background: var(--brand-primary, #e62f17);
	border-color: var(--brand-primary, #e62f17);
}

.donation-alert {
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: 8px;
	font-weight: 700;
	line-height: 1.5;
}

.donation-alert-error {
	color: #991b1b;
	background: #fee2e2;
	border: 1px solid #fecaca;
}

.donation-alert-warning {
	color: #92400e;
	background: #fffbeb;
	border: 1px solid #fde68a;
}

.donation-alert-success {
	color: #166534;
	background: #dcfce7;
	border: 1px solid #bbf7d0;
}

.donation-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.donation-radio-group label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	margin: 0;
	padding: 8px 11px;
	color: #334155;
	font-weight: 800;
	background: #f8fafc;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
}

.donation-radio-group input {
	margin: 0;
}

.donation-summary-band {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 24px;
	padding: 18px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.donation-summary-band span,
.donation-status-row span,
.donation-payment-box span {
	display: block;
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.donation-summary-band strong,
.donation-status-row strong,
.donation-payment-box strong {
	display: block;
	margin-top: 4px;
	color: #111827;
	font-size: 18px;
	font-weight: 900;
}

.donation-timeline-item {
	padding: 14px 0;
	border-top: 1px solid #e5e7eb;
}

.donation-timeline-item strong,
.donation-timeline-item span {
	display: block;
	color: #111827;
	font-weight: 800;
}

.donation-timeline-item p {
	margin-bottom: 0;
	color: #64748b;
}

.donation-status-row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 13px 0;
	border-top: 1px solid #e5e7eb;
}

.donation-status-row strong {
	margin-top: 0;
	text-align: right;
}

.donation-payment-box {
	margin: 18px 0;
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
}

.donation-payment-box small,
.donation-copy-feedback {
	display: block;
	margin-top: 6px;
	color: #64748b;
}

.donation-payment-box .btn {
	margin-top: 12px;
}

.donation-history-list {
	display: grid;
	gap: 10px;
}

.donation-history-item {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(150px, 0.6fr) auto;
	gap: 12px;
	align-items: center;
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.donation-history-item strong,
.donation-history-item span {
	display: block;
}

.donation-history-item strong {
	color: #111827;
	font-weight: 900;
}

.donation-history-item span {
	color: #64748b;
}

.donation-history-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.donation-receipt {
	max-width: 820px;
	margin: 0 auto 24px;
	padding: 28px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.donation-receipt-head {
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid #e5e7eb;
	text-align: center;
}

.donation-receipt-head span {
	color: #64748b;
	font-weight: 800;
	text-transform: uppercase;
}

.donation-receipt-head h2 {
	margin: 8px 0;
	color: #111827;
	font-weight: 900;
}

.donation-receipt-note {
	margin: 20px 0 0;
	color: #64748b;
	line-height: 1.7;
}

.donation-content-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 22px 0;
	padding: 18px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
}

.donation-content-cta span {
	display: block;
	margin-bottom: 4px;
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.donation-content-cta strong {
	display: block;
	color: #111827;
	font-size: 17px;
	font-weight: 900;
}

.donation-content-cta .btn {
	flex: 0 0 auto;
}

@media (max-width: 991px) {
	.donation-campaign-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.donation-detail-grid,
	.donation-instruction-grid,
	.donation-summary-band {
		grid-template-columns: 1fr;
	}

	.donation-content-cta {
		align-items: stretch;
		flex-direction: column;
	}

	.donation-history-item {
		grid-template-columns: 1fr;
	}

	.donation-history-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.donation-page {
		padding-top: 24px;
		padding-bottom: 34px;
	}

	.donation-campaign-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.donation-campaign-card {
		margin-bottom: 0;
		padding: 18px;
	}

	.donation-campaign-media {
		margin: -18px -18px 16px;
	}

	.donation-campaign-card h3,
	.donation-campaign-card p {
		min-height: 0;
	}

	.donation-campaign-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.donation-card-action {
		width: 100%;
	}
}

body[data-color-scheme="dark"] .donation-campaign-card,
body[data-color-scheme="dark"] .donation-empty-state,
body[data-color-scheme="dark"] .donation-detail {
	background: #111827;
	border-color: #263244;
}

body[data-color-scheme="dark"] .donation-campaign-media {
	background: #1f2937;
}

body[data-color-scheme="dark"] .donation-campaign-image-fallback {
	background: linear-gradient(135deg, #1f2937 0%, #2f1f1f 100%);
}

body[data-color-scheme="dark"] .donation-campaign-card h3,
body[data-color-scheme="dark"] .donation-empty-state h3,
body[data-color-scheme="dark"] .donation-detail h2,
body[data-color-scheme="dark"] .donation-campaign-meta {
	color: #f8fafc;
}

body[data-color-scheme="dark"] .donation-campaign-card p,
body[data-color-scheme="dark"] .donation-empty-state p,
body[data-color-scheme="dark"] .donation-detail p,
body[data-color-scheme="dark"] .donation-campaign-meta small {
	color: #cbd5e1;
}

body[data-color-scheme="dark"] .donation-form-panel,
body[data-color-scheme="dark"] .donation-public-section,
body[data-color-scheme="dark"] .donation-summary-band,
body[data-color-scheme="dark"] .donation-payment-box,
body[data-color-scheme="dark"] .donation-content-cta,
body[data-color-scheme="dark"] .donation-history-item,
body[data-color-scheme="dark"] .donation-receipt {
	background: #111827;
	border-color: #263244;
}

body[data-color-scheme="dark"] .donation-form-panel h3,
body[data-color-scheme="dark"] .donation-public-section h3,
body[data-color-scheme="dark"] .donation-summary-band strong,
body[data-color-scheme="dark"] .donation-status-row strong,
body[data-color-scheme="dark"] .donation-payment-box strong,
body[data-color-scheme="dark"] .donation-timeline-item strong,
body[data-color-scheme="dark"] .donation-timeline-item span,
body[data-color-scheme="dark"] .donation-content-cta strong,
body[data-color-scheme="dark"] .donation-history-item strong,
body[data-color-scheme="dark"] .donation-receipt-head h2 {
	color: #f8fafc;
}

body[data-color-scheme="dark"] .donation-form .form-group label,
body[data-color-scheme="dark"] .donation-donor-summary span,
body[data-color-scheme="dark"] .donation-donor-summary small,
body[data-color-scheme="dark"] .donation-summary-band span,
body[data-color-scheme="dark"] .donation-status-row span,
body[data-color-scheme="dark"] .donation-payment-box span,
body[data-color-scheme="dark"] .donation-payment-box small,
body[data-color-scheme="dark"] .donation-copy-feedback,
body[data-color-scheme="dark"] .donation-timeline-item p,
body[data-color-scheme="dark"] .donation-content-cta span,
body[data-color-scheme="dark"] .donation-history-item span,
body[data-color-scheme="dark"] .donation-receipt-head span,
body[data-color-scheme="dark"] .donation-receipt-note {
	color: #cbd5e1;
}

body[data-color-scheme="dark"] .donation-donor-summary {
	background: #0f172a;
	border-color: #334155;
}

body[data-color-scheme="dark"] .donation-donor-summary strong {
	color: #f8fafc;
}

body[data-color-scheme="dark"] .donation-radio-group label {
	color: #e5e7eb;
	background: #1f2937;
	border-color: #334155;
}

.order-cost-row,
.order-cost-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #64748b;
	font-size: 12px;
	line-height: 1.35;
}

.order-cost-row + .order-cost-row {
	margin-top: 8px;
}

.order-cost-row strong {
	color: #111827;
	font-weight: 950;
	text-align: right;
}

.order-cost-saving,
.order-cost-saving strong {
	color: #15803d;
}

.order-cost-total {
	margin-top: 11px;
	padding-top: 11px;
	border-top: 1px solid #dbe3ee;
	color: #111827;
	font-weight: 900;
}

.order-cost-total strong {
	color: var(--brand-primary, #e62f17);
	font-size: 15px;
	font-weight: 950;
	text-align: right;
}

.order-admin-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 14px;
	padding: 13px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 8px;
	color: #9a3412;
}

.order-admin-note i {
	margin-top: 2px;
}

.order-admin-note span,
.order-admin-note p {
	display: block;
	margin: 0;
}

.order-admin-note span {
	font-size: 11px;
	font-weight: 950;
	line-height: 1.2;
	text-transform: uppercase;
}

.order-admin-note p {
	margin-top: 5px;
	font-size: 12px;
	line-height: 1.55;
}

.order-action-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 16px;
}

.order-timer {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	margin-right: auto;
	padding: 8px 10px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 8px;
	color: #9a3412;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
}

.order-timer strong {
	padding: 3px 6px;
	background: #ffffff;
	border: 1px solid #fed7aa;
	border-radius: 6px;
	color: #c2410c;
	font-family: "Courier New", Courier, monospace;
	font-weight: 950;
}

.order-timer strong.is-expired {
	color: #b91c1c;
}

.order-primary-action {
	background: var(--brand-primary, #e62f17);
	border: 1px solid var(--brand-primary, #e62f17);
	color: #ffffff !important;
}

.order-primary-action:hover {
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(230, 47, 23, 0.18);
}

.order-secondary-action {
	background: #ffffff;
	border: 1px solid #dbe3ee;
	color: #334155 !important;
}

.order-secondary-action:hover {
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17) !important;
}

.order-danger-action {
	background: #ffffff;
	border: 1px solid #fecaca;
	color: #dc2626 !important;
}

.order-danger-action:hover {
	background: #fef2f2;
	color: #b91c1c !important;
}

.order-muted {
	padding: 5px 8px;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	color: #94a3b8;
	font-size: 11px;
}

.transaction-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 320px;
	margin-bottom: 24px;
	padding: 36px 20px;
	background: #ffffff;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	text-align: center;
}

.transaction-empty i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 14px;
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	color: var(--brand-primary, #e62f17);
	font-size: 23px;
}

.transaction-empty h3 {
	margin: 0 0 7px;
	color: #111827;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0;
}

.transaction-empty p {
	max-width: 440px;
	margin: 0 0 16px;
	color: #64748b;
	font-size: 14px;
	line-height: 1.65;
}

.order-upload-modal .modal-content,
.order-address-modal .modal-content {
	overflow: hidden;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
}

.order-upload-modal .modal-header,
.order-upload-modal .modal-footer,
.order-address-modal .modal-header,
.order-address-modal .modal-footer {
	padding: 14px 16px;
	background: #f8fafc;
	border-color: #e5e7eb;
}

.order-upload-modal .modal-title,
.order-address-modal .modal-title {
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 950;
	line-height: 1.25;
	letter-spacing: 0;
}

.order-upload-modal .modal-body,
.order-address-modal .modal-body {
	padding: 16px;
}

.order-upload-modal .modal-footer,
.order-address-modal .modal-footer {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

.order-upload-field {
	display: block;
	margin: 0;
}

.order-upload-field span {
	display: block;
	margin-bottom: 7px;
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.order-upload-field input {
	min-height: 42px;
	border-color: #dbe3ee;
	border-radius: 8px;
}

.order-address-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.order-address-form-grid label {
	display: block;
	min-width: 0;
	margin: 0;
}

.order-address-form-wide {
	grid-column: 1 / -1;
}

.order-address-form-grid span {
	display: block;
	margin-bottom: 7px;
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.order-address-form-grid input,
.order-address-form-grid textarea {
	width: 100%;
	min-height: 42px;
	padding: 9px 11px;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	color: #111827;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.order-address-form-grid textarea {
	min-height: 104px;
	resize: vertical;
}

.order-address-form-grid input:focus,
.order-address-form-grid textarea:focus {
	border-color: rgba(230, 47, 23, 0.55);
	box-shadow: 0 0 0 3px rgba(230, 47, 23, 0.1);
}

body[data-color-scheme="dark"] .transaction-head,
body[data-color-scheme="dark"] .order-stat-card,
body[data-color-scheme="dark"] .order-card,
body[data-color-scheme="dark"] .transaction-empty,
body[data-color-scheme="dark"] .order-shipping-panel,
body[data-color-scheme="dark"] .order-upload-modal .modal-content,
body[data-color-scheme="dark"] .order-address-modal .modal-content {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .order-card-head,
body[data-color-scheme="dark"] .order-product-row,
body[data-color-scheme="dark"] .order-info-box,
body[data-color-scheme="dark"] .order-product-media,
body[data-color-scheme="dark"] .order-bank-copy > span,
body[data-color-scheme="dark"] .order-bank-copy button,
body[data-color-scheme="dark"] .order-proof-link,
body[data-color-scheme="dark"] .order-secondary-action,
body[data-color-scheme="dark"] .order-danger-action,
body[data-color-scheme="dark"] .order-muted,
body[data-color-scheme="dark"] .order-upload-modal .modal-header,
body[data-color-scheme="dark"] .order-upload-modal .modal-footer,
body[data-color-scheme="dark"] .order-address-modal .modal-header,
body[data-color-scheme="dark"] .order-address-modal .modal-footer,
body[data-color-scheme="dark"] .order-shipping-address,
body[data-color-scheme="dark"] .order-shipping-empty,
body[data-color-scheme="dark"] .order-address-form-grid input,
body[data-color-scheme="dark"] .order-address-form-grid textarea {
	background: #111827 !important;
	border-color: #374151 !important;
}

body[data-color-scheme="dark"] .transaction-copy h2,
body[data-color-scheme="dark"] .order-stat-card strong,
body[data-color-scheme="dark"] .order-product-main h3,
body[data-color-scheme="dark"] .order-payment-box > strong,
body[data-color-scheme="dark"] .order-cost-row strong,
body[data-color-scheme="dark"] .order-cost-total,
body[data-color-scheme="dark"] .transaction-empty h3,
body[data-color-scheme="dark"] .order-upload-modal .modal-title,
body[data-color-scheme="dark"] .order-address-modal .modal-title,
body[data-color-scheme="dark"] .order-shipping-copy h3,
body[data-color-scheme="dark"] .order-shipping-address strong,
body[data-color-scheme="dark"] .order-address-form-grid input,
body[data-color-scheme="dark"] .order-address-form-grid textarea {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .transaction-copy p,
body[data-color-scheme="dark"] .order-stat-card span,
body[data-color-scheme="dark"] .order-date,
body[data-color-scheme="dark"] .order-product-main p,
body[data-color-scheme="dark"] .order-info-box p,
body[data-color-scheme="dark"] .order-bank-copy > span,
body[data-color-scheme="dark"] .order-cost-row,
body[data-color-scheme="dark"] .transaction-empty p,
body[data-color-scheme="dark"] .order-upload-field span,
body[data-color-scheme="dark"] .order-shipping-address span,
body[data-color-scheme="dark"] .order-shipping-address p,
body[data-color-scheme="dark"] .order-shipping-empty p,
body[data-color-scheme="dark"] .order-address-form-grid span {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .order-cost-total {
	border-color: #374151 !important;
}

@media only screen and (max-width: 991px) {
	.transaction-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.transaction-actions {
		justify-content: flex-start;
	}

	.transaction-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.order-info-grid {
		grid-template-columns: 1fr;
	}

	.order-shipping-panel {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media only screen and (max-width: 767px) {
	.transaction-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.transaction-head,
	.order-card-body {
		padding: 16px;
	}

	.transaction-copy h2 {
		font-size: 23px;
	}

	.transaction-actions,
	.transaction-btn,
	.order-primary-action,
	.order-secondary-action,
	.order-danger-action {
		width: 100%;
	}

	.transaction-stats {
		grid-template-columns: 1fr;
	}

	.order-shipping-panel,
	.order-address-action {
		width: 100%;
	}

	.order-card-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.order-product-row {
		grid-template-columns: 58px minmax(0, 1fr);
		align-items: start;
	}

	.order-product-media {
		width: 58px;
	}

	.order-product-subtotal {
		grid-column: 1 / -1;
		text-align: left;
	}

	.order-action-row {
		justify-content: flex-start;
	}

	.order-timer {
		width: 100%;
		margin-right: 0;
		justify-content: center;
	}

	.order-upload-modal .modal-footer {
		flex-direction: column-reverse;
	}

	.order-address-modal .modal-footer {
		flex-direction: column-reverse;
	}

	.order-address-form-grid {
		grid-template-columns: 1fr;
	}
}

/* 07f. Public buyer profile page
 **************************************************************** **/
.buyer-profile-page {
	padding-bottom: 0;
	overflow-x: clip;
}

.buyer-profile-page,
.buyer-profile-page * {
	box-sizing: border-box;
}

.buyer-profile-head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 18px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.buyer-profile-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	background: var(--brand-primary, #e62f17);
	border-radius: 50%;
	color: #ffffff;
	font-size: 26px;
	font-weight: 950;
	line-height: 1;
}

.buyer-profile-copy {
	min-width: 0;
	flex: 1 1 auto;
}

.buyer-profile-eyebrow,
.buyer-profile-panel-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.buyer-profile-eyebrow::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.buyer-profile-copy h2 {
	margin: 7px 0 5px;
	color: #111827;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.buyer-profile-copy p {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.buyer-profile-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 9px;
}

.buyer-profile-link,
.buyer-profile-save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	padding: 9px 13px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.buyer-profile-link {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	color: #334155 !important;
}

.buyer-profile-link:hover {
	border-color: rgba(230, 47, 23, 0.45);
	color: var(--brand-primary, #e62f17) !important;
	transform: translateY(-1px);
}

.buyer-profile-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
	gap: 18px;
	margin-bottom: 24px;
}

.buyer-profile-panel {
	min-width: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.buyer-profile-summary,
.buyer-profile-form {
	padding: 20px;
}

.buyer-profile-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	margin: 14px 0 18px;
	padding: 8px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
}

.buyer-profile-status-verified {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #15803d;
}

.buyer-profile-status-pending {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #c2410c;
}

.buyer-profile-summary-row {
	padding: 14px 0;
	border-top: 1px solid #eef2f7;
}

.buyer-profile-summary-row span,
.buyer-profile-address span {
	display: block;
	margin-bottom: 5px;
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.buyer-profile-summary-row strong {
	display: block;
	color: #111827;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.buyer-profile-address {
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
}

.buyer-profile-address p {
	margin: 0;
	color: #475569;
	font-size: 13px;
	line-height: 1.68;
	overflow-wrap: anywhere;
}

.buyer-profile-form-head h3 {
	margin: 7px 0 16px;
	color: #111827;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0;
}

.buyer-profile-form-head p {
	margin: 7px 0 16px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.6;
}

.buyer-profile-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.buyer-profile-form-grid label {
	display: block;
	min-width: 0;
	margin: 0;
}

.buyer-profile-form-wide {
	grid-column: 1 / -1;
}

.buyer-profile-form-grid span {
	display: block;
	margin-bottom: 7px;
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.buyer-profile-form-grid input,
.buyer-profile-form-grid textarea {
	width: 100%;
	min-height: 42px;
	padding: 9px 11px;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	color: #111827;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.buyer-profile-form-grid textarea {
	min-height: 112px;
	resize: vertical;
}

.buyer-profile-form-grid input:focus,
.buyer-profile-form-grid textarea:focus {
	border-color: rgba(230, 47, 23, 0.55);
	box-shadow: 0 0 0 3px rgba(230, 47, 23, 0.1);
}

.buyer-profile-form-grid input[readonly] {
	cursor: not-allowed;
	background: #f8fafc;
	color: #64748b;
}

.buyer-profile-password {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid #eef2f7;
}

.buyer-profile-password p {
	margin: 7px 0 14px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.55;
}

.buyer-profile-submit {
	display: flex;
	justify-content: flex-end;
	margin-top: 18px;
}

.buyer-profile-save {
	background: var(--brand-primary, #e62f17);
	border: 1px solid var(--brand-primary, #e62f17);
	color: #ffffff !important;
}

.buyer-profile-save:hover {
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(230, 47, 23, 0.18);
	transform: translateY(-1px);
}

body[data-color-scheme="dark"] .buyer-profile-head,
body[data-color-scheme="dark"] .buyer-profile-panel {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .buyer-profile-link,
body[data-color-scheme="dark"] .buyer-profile-address,
body[data-color-scheme="dark"] .buyer-profile-form-grid input,
body[data-color-scheme="dark"] .buyer-profile-form-grid textarea {
	background: #111827 !important;
	border-color: #374151 !important;
}

body[data-color-scheme="dark"] .buyer-profile-copy h2,
body[data-color-scheme="dark"] .buyer-profile-summary-row strong,
body[data-color-scheme="dark"] .buyer-profile-form-head h3,
body[data-color-scheme="dark"] .buyer-profile-form-grid input,
body[data-color-scheme="dark"] .buyer-profile-form-grid textarea {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .buyer-profile-copy p,
body[data-color-scheme="dark"] .buyer-profile-summary-row span,
body[data-color-scheme="dark"] .buyer-profile-address span,
body[data-color-scheme="dark"] .buyer-profile-address p,
body[data-color-scheme="dark"] .buyer-profile-form-head p,
body[data-color-scheme="dark"] .buyer-profile-form-grid span,
body[data-color-scheme="dark"] .buyer-profile-password p {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .buyer-profile-summary-row,
body[data-color-scheme="dark"] .buyer-profile-password {
	border-color: #2f2f2f !important;
}

@media only screen and (max-width: 991px) {
	.buyer-profile-head {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.buyer-profile-actions {
		justify-content: flex-start;
		width: 100%;
	}

	.buyer-profile-grid {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 767px) {
	.buyer-profile-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.buyer-profile-head,
	.buyer-profile-summary,
	.buyer-profile-form {
		padding: 16px;
	}

	.buyer-profile-avatar {
		flex-basis: 54px;
		width: 54px;
		height: 54px;
		font-size: 22px;
	}

	.buyer-profile-copy h2 {
		font-size: 23px;
	}

	.buyer-profile-link,
	.buyer-profile-save {
		width: 100%;
	}

	.buyer-profile-form-grid {
		grid-template-columns: 1fr;
	}
}

/* 07g. Public WebGIS catalog
 **************************************************************** **/
.webgis-public-page {
	--webgis-hero-min-height: 330px;
	--webgis-grid-gap: 16px;
	--webgis-card-radius: 8px;
	padding-bottom: 0;
}

.webgis-slider-hero {
	position: relative;
	overflow: hidden;
	background: #111827;
}

.webgis-slider-hero .fullwidthbanner-container {
	margin-bottom: 0 !important;
}

.webgis-slider-hero .webgis-slider-banner {
	border-radius: 0;
}

.webgis-map-hero {
	position: relative;
	overflow: hidden;
	min-height: var(--webgis-hero-min-height);
	margin-bottom: 0;
	background-color: #111827;
	background-position: center;
	background-size: cover;
	color: #ffffff;
}

.webgis-map-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(15, 23, 42, 0.88), rgba(15, 23, 42, 0.62) 48%, rgba(15, 23, 42, 0.78)),
		linear-gradient(180deg, rgba(4, 120, 87, 0.2), rgba(230, 47, 23, 0.18));
}

.webgis-map-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0.18;
	pointer-events: none;
}

.catalog-hero-content {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(90px, 90px);
	column-gap: 28px;
	align-items: center;
	min-height: var(--webgis-hero-min-height);
	padding-top: 34px;
	padding-bottom: 34px;
	text-align: left;
}

.catalog-hero-copy {
	display: flex;
	grid-column: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
}

.webgis-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 0;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.webgis-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: currentColor;
}

.webgis-map-hero .webgis-eyebrow {
	color: #93c5fd;
}

.webgis-map-hero h2 {
	max-width: 780px;
	margin: 0;
	color: #ffffff !important;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0;
}

.webgis-map-hero p {
	max-width: 720px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	line-height: 1.72;
}

.catalog-hero-stats {
	display: flex;
	grid-column: 2;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 8px;
	justify-self: end;
	width: 100%;
	margin-top: 0;
}

.catalog-hero-stat {
	min-width: 0;
	padding: 9px 10px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 8px;
	backdrop-filter: blur(8px);
}

.catalog-hero-stat strong,
.catalog-hero-stat span {
	display: block;
}

.catalog-hero-stat strong {
	color: #ffffff;
	font-size: 23px;
	font-weight: 900;
	line-height: 1;
}

.catalog-hero-stat span {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 10px;
	font-weight: 850;
	line-height: 1.2;
	text-transform: uppercase;
}

.webgis-card-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 7px;
	font-weight: 850;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.webgis-catalog-panel {
	padding-top: 22px;
	padding-bottom: 0;
}

.webgis-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.webgis-filter > li {
	float: none !important;
	margin: 0 !important;
}

.webgis-filter > li > a {
	max-width: 220px;
	min-height: 34px;
	padding: 8px 12px !important;
	overflow: hidden;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 999px !important;
	color: #475569 !important;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.webgis-filter > li.active > a,
.webgis-filter > li > a:hover,
.webgis-filter > li > a:focus {
	background: var(--brand-primary, #e62f17) !important;
	border-color: var(--brand-primary, #e62f17) !important;
	color: #ffffff !important;
}

.webgis-catalog-list.webgis-grid-fallback {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--webgis-grid-gap);
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	list-style: none;
}

.webgis-catalog-list.webgis-grid-fallback .isotope-item {
	position: static !important;
	left: auto !important;
	top: auto !important;
	width: auto !important;
	min-width: 0;
	padding: 0 !important;
	transform: none !important;
}

.webgis-catalog-list.webgis-grid-fallback .isotope-item.webgis-hidden {
	display: none !important;
}

.webgis-catalog-item .map-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: var(--webgis-card-radius);
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.webgis-catalog-item .map-card:hover {
	border-color: rgba(230, 47, 23, 0.42);
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-1px);
}

.webgis-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	margin: 0;
	overflow: hidden;
	background: #f1f5f9;
}

.webgis-card-media img,
.map-placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.webgis-card-media img {
	object-fit: cover;
	object-position: center;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.webgis-catalog-item .map-card:hover .webgis-card-media img {
	opacity: 0.9;
	transform: scale(1.03);
}

.map-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(135deg, rgba(4, 120, 87, 0.1), rgba(230, 47, 23, 0.08)),
		#f8fafc;
	color: #047857;
	font-size: 30px;
}

.map-placeholder i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	background: #ffffff;
	border: 1px solid #d1fae5;
	border-radius: 50%;
	box-shadow: 0 10px 24px rgba(4, 120, 87, 0.12);
}

.webgis-catalog-item .item-hover .inner {
	text-align: center;
}

.webgis-catalog-item .item-box-desc {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 15px 16px 16px;
}

.webgis-catalog-item .item-box-desc h5 {
	display: -webkit-box;
	min-height: 44px;
	margin: 0 0 7px;
	overflow: hidden;
	color: #111827;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.38;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.directory-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	margin-bottom: 9px;
	overflow: hidden;
	color: #64748b;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.directory-chip i {
	color: #047857;
}

.webgis-catalog-item .item-box-desc p {
	display: -webkit-box;
	min-height: 42px;
	margin: 0;
	overflow: hidden;
	color: #64748b;
	font-size: 13px;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.webgis-card-actions {
	display: flex;
	gap: 8px;
	margin-top: auto;
	padding-top: 14px;
}

.webgis-card-actions a {
	min-width: 0;
	min-height: 34px;
	padding: 8px 10px;
	font-size: 12px;
	line-height: 1.2;
}

.btn-layer {
	flex: 1 1 auto;
	background: var(--brand-primary, #e62f17);
	color: #ffffff;
}

.btn-layer:hover,
.btn-layer:focus {
	background: #c52613;
	color: #ffffff;
}

.btn-directory {
	flex: 0 0 auto;
	background: #ecfdf5;
	border: 1px solid #bbf7d0;
	color: #047857;
}

.btn-directory:hover,
.btn-directory:focus {
	background: #d1fae5;
	color: #065f46;
}

.webgis-empty {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 34px 18px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #64748b;
	text-align: center;
}

.webgis-empty i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	background: rgba(4, 120, 87, 0.09);
	border-radius: 50%;
	color: #047857;
	font-size: 20px;
}

.webgis-empty strong {
	margin-bottom: 5px;
	color: #111827;
	font-size: 16px;
}

body[data-color-scheme="dark"] .webgis-catalog-item .item-box-desc h5,
body[data-color-scheme="dark"] .webgis-empty strong {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .directory-chip,
body[data-color-scheme="dark"] .webgis-catalog-item .item-box-desc p,
body[data-color-scheme="dark"] .webgis-empty {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .webgis-filter > li > a,
body[data-color-scheme="dark"] .webgis-catalog-item .map-card,
body[data-color-scheme="dark"] .webgis-empty {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

@media only screen and (max-width: 991px) {
	.webgis-catalog-list.webgis-grid-fallback {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px) {
	.webgis-public-page {
		--webgis-hero-min-height: 300px;
	}

	.catalog-hero-content {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-top: 26px;
		padding-bottom: 26px;
	}

	.catalog-hero-stats {
		flex-direction: row;
		flex-wrap: wrap;
		justify-self: stretch;
		width: 100%;
		margin-top: 18px;
	}

	.catalog-hero-stat {
		flex: 1 1 130px;
		padding: 11px 13px;
	}

	.catalog-hero-stat strong {
		font-size: 22px;
	}

	.webgis-map-hero h2 {
		font-size: 30px;
		line-height: 1.18;
	}

	.webgis-map-hero p {
		font-size: 14px;
		line-height: 1.65;
	}

	.webgis-catalog-panel {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.webgis-catalog-list.webgis-grid-fallback {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.webgis-filter {
		flex-wrap: nowrap;
		padding-bottom: 3px !important;
		overflow-x: auto;
	}

	.webgis-card-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* 07e. Publication page
 **************************************************************** **/
.publication-page {
	padding-bottom: 0;
}

.publication-library {
	position: relative;
	padding: 24px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.08), rgba(15, 23, 42, 0) 34%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-top: 4px solid var(--brand-primary, #e62f17);
	border-radius: 8px;
	box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.publication-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
	gap: 22px;
	align-items: end;
	margin-bottom: 20px;
}

.publication-header-copy {
	min-width: 0;
}

.publication-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.publication-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: currentColor;
}

.publication-header h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.publication-header p {
	max-width: 680px;
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.7;
}

.publication-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.publication-stat {
	min-width: 0;
	padding: 14px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.publication-stat strong {
	display: block;
	overflow: hidden;
	color: #111827;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.15;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.publication-stat span {
	display: block;
	margin-top: 5px;
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.publication-toolbar {
	margin-bottom: 20px;
}

.publication-search-form {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 9px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(226, 232, 240, 0.98);
	border-radius: 8px;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.publication-search-form > i {
	flex: 0 0 auto;
	width: 42px;
	height: 40px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
	line-height: 40px;
	text-align: center;
}

.publication-search-form .form-control {
	height: 38px;
	padding-right: 8px;
	padding-left: 0;
	border: 0;
	box-shadow: none;
	color: #111827;
	font-size: 14px;
}

.publication-search-form .form-control:focus {
	box-shadow: none;
}

.publication-search-form .btn {
	height: 40px;
	min-width: 86px;
	padding: 0 16px;
	border: 0;
	border-radius: 6px;
	background: var(--brand-primary, #e62f17);
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
}

.publication-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	color: #475569 !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
}

.publication-reset.is-hidden {
	display: none !important;
}

.publication-list-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

.publication-card {
	display: grid;
	position: relative;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 15px;
	align-items: start;
	min-width: 0;
	min-height: 178px;
	padding: 17px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.publication-card::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-primary, #e62f17), rgba(230, 47, 23, 0.18));
}

.publication-card:hover {
	border-color: rgba(230, 47, 23, 0.5);
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-1px);
}

.publication-file-icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	color: #0f766e;
	background: #ecfdf5;
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.08);
}

.publication-file-icon i {
	font-size: 24px;
	line-height: 1;
}

.publication-file-icon span {
	margin-top: 7px;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.publication-file-pdf {
	color: #dc2626;
	background: #fef2f2;
	box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.08);
}

.publication-file-doc,
.publication-file-docx {
	color: #2563eb;
	background: #eff6ff;
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.publication-file-xls,
.publication-file-xlsx {
	color: #16a34a;
	background: #f0fdf4;
	box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.08);
}

.publication-card-body {
	min-width: 0;
}

.publication-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 7px;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.publication-meta i {
	margin-right: 5px;
	color: var(--brand-primary, #e62f17);
}

.publication-title {
	display: block;
	margin-bottom: 7px;
	color: #111827 !important;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.32;
	text-decoration: none !important;
}

.publication-title:hover {
	color: var(--brand-primary, #e62f17) !important;
}

.publication-desc {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #64748b;
	font-size: 14px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.publication-card-action {
	display: flex;
	grid-column: 2;
	justify-content: flex-start;
	align-self: end;
	margin-top: 3px;
}

.publication-card .btn-download-pub {
	white-space: nowrap;
}

.publication-empty {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 34px 18px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #64748b;
	text-align: center;
}

.publication-empty i {
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 50%;
	font-size: 20px;
	line-height: 52px;
}

.publication-empty strong {
	margin-bottom: 5px;
	color: #111827;
	font-size: 16px;
}

body[data-color-scheme="dark"] .publication-header h2,
body[data-color-scheme="dark"] .publication-stat strong,
body[data-color-scheme="dark"] .publication-title,
body[data-color-scheme="dark"] .publication-empty strong {
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .publication-header p,
body[data-color-scheme="dark"] .publication-stat span,
body[data-color-scheme="dark"] .publication-meta,
body[data-color-scheme="dark"] .publication-desc,
body[data-color-scheme="dark"] .publication-empty {
	color: #cbd5e1 !important;
}

body[data-color-scheme="dark"] .publication-library {
	background:
		linear-gradient(135deg, rgba(230, 47, 23, 0.14), rgba(23, 23, 23, 0) 34%),
		linear-gradient(180deg, #171717 0%, #111111 100%) !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .publication-stat,
body[data-color-scheme="dark"] .publication-search-form,
body[data-color-scheme="dark"] .publication-card,
body[data-color-scheme="dark"] .publication-empty {
	background: #1f1f1f !important;
	border-color: #2f2f2f !important;
	box-shadow: none !important;
}

body[data-color-scheme="dark"] .publication-search-form .form-control {
	background: transparent !important;
	color: #e5e7eb !important;
}

body[data-color-scheme="dark"] .publication-reset {
	background: #171717;
	border-color: #374151;
	color: #e5e7eb !important;
}

@media only screen and (max-width: 991px) {
	.publication-header {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.publication-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.publication-list-grid {
		grid-template-columns: 1fr;
	}

	.publication-card {
		min-height: 0;
	}
}

@media only screen and (max-width: 767px) {
	.publication-page {
		width: calc(100vw - 30px) !important;
		max-width: calc(100vw - 30px) !important;
		padding-right: 0;
		padding-left: 0;
	}

	.publication-library {
		padding: 16px;
	}

	.publication-header {
		margin-bottom: 14px;
	}

	.publication-header h2 {
		font-size: 24px;
		line-height: 1.24;
	}

	.publication-header p {
		font-size: 14px;
		line-height: 1.65;
	}

	.publication-stats {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.publication-stat {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 11px 12px;
	}

	.publication-stat strong {
		font-size: 16px;
	}

	.publication-stat span {
		margin-top: 0;
		text-align: right;
	}

	.publication-search-form {
		align-items: stretch;
		flex-wrap: wrap;
		gap: 8px;
		padding: 10px;
	}

	.publication-search-form > i {
		display: none;
	}

	.publication-search-form .form-control {
		flex: 1 0 100%;
		height: 40px;
		padding: 0 10px;
		border: 1px solid #e5e7eb;
		border-radius: 6px;
	}

	.publication-search-form .btn,
	.publication-reset {
		flex: 1 1 0;
		height: 38px;
	}

	.publication-card {
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 12px;
		padding: 14px;
	}

	.publication-file-icon {
		width: 56px;
		height: 56px;
	}

	.publication-file-icon i {
		font-size: 20px;
	}

	.publication-title {
		font-size: 15px;
		line-height: 1.34;
	}

	.publication-meta {
		gap: 7px;
		font-size: 11px;
	}

	.publication-desc {
		font-size: 13px;
		line-height: 1.58;
		-webkit-line-clamp: 3;
	}

	.publication-card-action {
		grid-column: 1 / -1;
	}

	.publication-card .btn-download-pub {
		width: 100%;
	}
}

.about-modern-page {
	padding-bottom: 0;
	margin-bottom: 0;
	box-sizing: border-box;
	overflow-x: hidden;
}

#app-content[data-route="aboutas"] {
	max-width: 100vw;
	overflow-x: hidden;
}

.about-modern-page,
.about-modern-page * {
	box-sizing: border-box;
}

.about-story-grid,
.about-team-card,
.about-partner-section,
.about-empty-panel {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}

.about-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: stretch;
	padding: 34px;
	margin: 4px 0 22px;
	background: linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 14px 40px rgba(15, 23, 42, 0.07);
	overflow: hidden;
}

.about-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-primary, #e62f17), rgba(230, 47, 23, 0.18));
}

.about-hero-copy {
	min-width: 0;
	max-width: 100%;
}

.about-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.about-eyebrow::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.about-hero h2,
.about-story-copy h3,
.about-section-heading h3,
.about-team-body h4 {
	margin: 0;
	color: #111827;
	font-weight: 700;
	letter-spacing: 0;
}

.about-hero h2 {
	margin-bottom: 14px;
	font-size: 25px;
	line-height: 1.18;
}

.about-hero h2, .about-story-copy h3, .about-section-heading h3 { font-size: 20px !important; }

.about-richtext {
	max-width: 100%;
	color: #64748b;
	font-size: 15px;
	line-height: 1.78;
	overflow-wrap: anywhere;
}

.about-richtext *,
.about-richtext p,
.about-richtext .textGallery,
.about-team-body p {
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.about-richtext img,
.about-richtext figure,
.about-richtext iframe,
.about-richtext video {
	display: block;
	max-width: 100% !important;
	height: auto !important;
}

.about-richtext table {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto;
	white-space: nowrap !important;
	-webkit-overflow-scrolling: touch;
}

.about-hero .about-richtext {
	max-width: 100%;
	font-size: 16px;
	line-height: 1.78;
}

.about-richtext p:last-child {
	margin-bottom: 0;
}

.about-hero-summary {
	display: flex;
	flex-wrap: wrap;
	min-width: 0;
	gap: 16px;
	padding-left: 0;
	border-left: none;
	padding-top: 24px;
	border-top: 1px solid #e5e7eb;
}

.about-summary-row {
	display: flex;
	align-items: center;
	flex: 1 1 200px;
	gap: 12px;
	min-width: 0;
	padding: 14px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid #eef2f7;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.about-summary-row:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.about-summary-row i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px rgba(230, 47, 23, 0.06);
}

.about-summary-row strong,
.about-summary-row span {
	display: block;
}

.about-summary-row strong {
	color: #111827;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
}

.about-summary-row span {
	margin-top: 4px;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.about-story-grid {
	position: relative;
	display: block;
	gap: 28px;
	padding: 22px;
	margin-bottom: 34px;
	overflow: hidden;
}

.about-story-grid::after {
	content: "";
	display: block;
	clear: both;
}

.about-story-media,
.about-story-copy {
	min-width: 0;
}

.about-story-media {
	float: left;
	width: min(48%, 600px);
	margin: 0 14px -4px 0;
}

.about-story-copy {
	position: relative;
	z-index: 1;
	display: block;
	padding: 0 4px 18px;
	transform: translateY(-8px);
}

.about-story-copy h3 {
	margin-bottom: 13px;
	font-size: 28px;
	line-height: 1.24;
}

.about-story-copy .about-richtext p {
	margin-bottom: 6px !important;
}

.about-slide {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	overflow: hidden;
	border-radius: 16px;
	background: #f8fafc;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
}

.about-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.02), rgba(15, 23, 42, 0.14));
	pointer-events: none;
}

.about-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.about-owl .owl-controls .owl-buttons div {
	position: relative;
	width: 38px;
	height: 38px;
	line-height: 38px;
	border-radius: 50%;
	background: rgba(15, 23, 42, 0.56) !important;
	border: 1px solid rgba(255, 255, 255, 0.52) !important;
	color: transparent !important;
	font-size: 0 !important;
	text-indent: -9999px;
	overflow: hidden;
	opacity: 1 !important;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.about-owl .owl-controls .owl-buttons .owl-prev::before,
.about-owl .owl-controls .owl-buttons .owl-next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	text-indent: 0;
}

.about-owl .owl-controls .owl-buttons .owl-prev::before {
	transform: translate(-40%, -50%) rotate(-135deg);
}

.about-owl .owl-controls .owl-buttons .owl-next::before {
	transform: translate(-60%, -50%) rotate(45deg);
}

.about-owl .owl-controls .owl-buttons div:hover {
	background: var(--brand-primary, #e62f17) !important;
	border-color: var(--brand-primary, #e62f17) !important;
	transform: translateY(-1px);
}

.about-section {
	margin-top: 34px;
}

.about-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}

.about-section-heading h3 {
	font-size: 28px;
	line-height: 1.22;
}

.about-section-heading p {
	max-width: 430px;
	margin: 0 0 2px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.65;
	text-align: right;
}

.about-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.about-team-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.about-team-card:hover {
	transform: translateY(-8px);
	border-color: var(--brand-primary, #e62f17);
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
}

.about-team-photo {
	width: 100%;
	aspect-ratio: 4 / 3.35;
	margin: 0;
	overflow: hidden;
	background: #f8fafc;
}

.about-team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform 0.35s ease;
}

.about-team-card:hover .about-team-photo img {
	transform: scale(1.035);
}

.about-team-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 18px 18px 20px;
	text-align: center;
	border-top: 1px solid #f1f5f9;
}

.about-team-body h4 {
	font-size: 17px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.about-team-body span {
	display: block;
	margin-top: 6px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.35;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.about-team-body p {
	display: -webkit-box;
	margin: 13px 0 0;
	color: #64748b;
	font-size: 13px;
	line-height: 1.65;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.about-partner-section {
	padding: 24px 24px 14px;
}

.about-partner-carousel {
	margin-top: 2px;
}

.about-partner-item {
	padding: 8px;
}

.about-partner-item a,
.about-partner-item span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	padding: 16px;
	background: #ffffff;
	border: 1px solid #edf2f7;
	border-radius: 12px;
	opacity: 1;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
	transition: all 0.3s ease;
}

.about-partner-item a:hover {
	border-color: var(--brand-primary, #e62f17);
	opacity: 1;
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.about-partner-item img {
	max-height: 48px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.about-empty-panel {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 96px;
	padding: 20px;
	color: #64748b;
	font-size: 14px;
	line-height: 1.55;
	box-shadow: none;
}

.about-empty-panel i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
}

body[data-color-scheme="dark"] .about-hero,
body[data-color-scheme="dark"] .about-story-grid,
body[data-color-scheme="dark"] .about-team-card,
body[data-color-scheme="dark"] .about-partner-section,
body[data-color-scheme="dark"] .about-empty-panel {
	border-color: #2f2f2f;
	box-shadow: none;
}

body[data-color-scheme="dark"] .about-hero {
	background: linear-gradient(135deg, #1f1f1f 0%, #1f1f1f 58%, #171717 100%);
}

body[data-color-scheme="dark"] .about-story-grid,
body[data-color-scheme="dark"] .about-team-card,
body[data-color-scheme="dark"] .about-partner-section,
body[data-color-scheme="dark"] .about-empty-panel {
	background: #1f1f1f;
}

body[data-color-scheme="dark"] .about-hero h2,
body[data-color-scheme="dark"] .about-story-copy h3,
body[data-color-scheme="dark"] .about-section-heading h3,
body[data-color-scheme="dark"] .about-team-body h4,
body[data-color-scheme="dark"] .about-summary-row strong {
	color: #e5e7eb;
}

body[data-color-scheme="dark"] .about-richtext,
body[data-color-scheme="dark"] .about-team-body p,
body[data-color-scheme="dark"] .about-section-heading p,
body[data-color-scheme="dark"] .about-summary-row span,
body[data-color-scheme="dark"] .about-empty-panel {
	color: #9ca3af;
}

body[data-color-scheme="dark"] .about-hero-summary {
	border-left-color: #2f2f2f;
}

body[data-color-scheme="dark"] .about-slide,
body[data-color-scheme="dark"] .about-team-photo,
body[data-color-scheme="dark"] .about-partner-item a,
body[data-color-scheme="dark"] .about-partner-item span {
	background: #111827;
	border-color: #2f2f2f;
}

body[data-color-scheme="dark"] .about-summary-row {
	background: rgba(255, 255, 255, 0.045);
	border-color: #2f2f2f;
}

body[data-color-scheme="dark"] .about-story-grid::after {
	background: radial-gradient(circle, rgba(230, 47, 23, 0.12), transparent 68%);
}

body[data-color-scheme="dark"] .about-slide {
	box-shadow: none;
}

body[data-color-scheme="dark"] .about-team-body {
	border-top-color: #2f2f2f;
}

body[data-color-scheme="dark"] .about-partner-item a,
body[data-color-scheme="dark"] .about-partner-item span {
	box-shadow: none;
}

body[data-color-scheme="dark"] .about-empty-panel i {
	background: rgba(230, 47, 23, 0.16);
}

@media only screen and (max-width: 991px) {
	.about-modern-page.container {
		width: auto !important;
		max-width: 100%;
	}

	.about-hero {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.about-hero-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: 18px 0 0;
		border-top: 1px solid #e5e7eb;
		border-left: 0;
	}

	.about-story-grid {
		display: block;
	}

	.about-story-copy {
		padding: 2px;
	}

	.about-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-section-heading {
		align-items: start;
		flex-direction: column;
		gap: 8px;
	}

	.about-section-heading p {
		max-width: 620px;
		text-align: left;
	}

	body[data-color-scheme="dark"] .about-hero-summary {
		border-top-color: #2f2f2f;
	}
}

@media only screen and (max-width: 767px) {
	.about-modern-page.container {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.about-modern-page {
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.about-hero,
	.about-story-grid,
	.about-partner-section {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		padding: 20px;
	}

	.about-hero {
		margin-top: 0;
	}

	.about-story-media {
		float: none;
		width: 100%;
		margin: 0 0 18px;
	}

	.about-hero h2 {
		font-size: 25px;
	}

	.about-hero .about-richtext {
		font-size: 14px;
	}

	.about-hero-summary {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.about-story-copy h3,
	.about-section-heading h3 {
		font-size: 22px;
	}

	.about-richtext {
		font-size: 14px;
	}

	.about-team-grid {
		grid-template-columns: 1fr;
	}

	.about-team-body {
		text-align: left;
	}

	.about-slide {
		aspect-ratio: 4 / 3;
	}
}

/** 07c. Program Detail
 **************************************************************** **/
html[data-route="detailprogram"],
body[data-route="detailprogram"] {
	max-width: 100%;
	overflow-x: hidden !important;
}

html[data-route="detailprogram"] {
	overflow-x: clip !important;
}

body[data-route="detailprogram"] #wrapper,
body[data-route="detailprogram"] #app-content,
body[data-route="detailprogram"] .program-detail-shell {
	max-width: 100vw;
	overflow-x: hidden;
}

body[data-route="detailprogram"] *::-webkit-scrollbar:horizontal {
	display: none !important;
	height: 0 !important;
}

body[data-route="detailprogram"] .VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
body[data-route="detailprogram"] .VIpgJd-ZVi9od-aZ2wEe-OiiCO {
	max-width: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

.program-detail-page {
	padding-bottom: 0;
	box-sizing: border-box;
	overflow-x: clip;
	overflow-y: visible;
}

.program-detail-page,
.program-detail-page * {
	box-sizing: border-box;
}

.program-detail-hero,
.program-detail-layout,
.program-detail-actions,
.program-detail-empty-panel {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}

.program-detail-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
	gap: 28px;
	align-items: end;
	padding: 34px;
	margin: 4px 0 22px;
	overflow: hidden;
}

.program-detail-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-primary, #e62f17), rgba(230, 47, 23, 0.18));
}

.program-detail-hero-copy {
	min-width: 0;
	max-width: 830px;
}

.program-detail-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 9px;
	color: var(--brand-primary, #e62f17);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.program-detail-eyebrow::before {
	content: "";
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.program-detail-hero h2,
.program-detail-share h3,
.program-detail-empty-panel h2 {
	margin: 0;
	color: #111827;
	font-weight: 700;
	letter-spacing: 0;
}

.program-detail-hero h2 {
	margin-bottom: 12px;
	font-size: 34px;
	line-height: 1.18;
	overflow-wrap: anywhere;
}

.program-detail-hero p {
	max-width: 720px;
	margin: 0;
	color: #64748b;
	font-size: 15px;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.program-detail-spotlight {
	position: relative;
	min-width: 0;
	padding: 22px;
	background: linear-gradient(135deg, #fff7f4 0%, #ffffff 62%);
	border: 1px solid rgba(230, 47, 23, 0.14);
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.76);
}

.program-detail-spotlight::before {
	content: "";
	position: absolute;
	top: 20px;
	right: 20px;
	width: 42px;
	height: 42px;
	border-top: 2px solid rgba(230, 47, 23, 0.22);
	border-right: 2px solid rgba(230, 47, 23, 0.22);
	border-radius: 0 8px 0 0;
	pointer-events: none;
}

.program-detail-date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	padding: 7px 10px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
}

.program-detail-spotlight p {
	margin: 0 0 18px;
	color: #475569;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.68;
}

.program-detail-scroll-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: #111827;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
}

.program-detail-scroll-link i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: #ffffff;
	background: var(--brand-primary, #e62f17);
	border-radius: 50%;
	transition: transform 0.2s ease;
}

.program-detail-scroll-link:hover {
	color: var(--brand-primary, #e62f17);
}

.program-detail-scroll-link:hover i {
	transform: translateY(2px);
}

.program-detail-layout {
	display: block;
	gap: 28px;
	padding: 22px;
	margin-bottom: 24px;
	overflow: hidden;
}

.program-detail-layout::after {
	content: "";
	display: block;
	clear: both;
}

.program-detail-media {
	float: left;
	width: min(48%, 600px);
	margin: 0 14px 8px 0;
	min-width: 0;
}

.program-detail-content-panel {
	position: relative;
	z-index: 1;
	display: block;
	min-width: 0;
	padding: 0 4px 18px;
	transform: translateY(-10px);
}

.program-detail-content-panel h2 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 20px !important;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.program-detail-slide {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: #f8fafc;
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
}

.program-detail-slide a,
.program-detail-slide img {
	display: block;
	width: 100%;
	height: 100%;
}

.program-detail-slide img {
	object-fit: cover;
	object-position: center;
}

.program-detail-carousel,
.program-detail-carousel .owl-wrapper-outer {
	max-width: 100%;
}

.program-detail-carousel,
.program-detail-carousel .owl-wrapper-outer {
	overflow-x: hidden !important;
	overflow-y: hidden !important;
}

.program-detail-slide-empty {
	max-width: 100%;
	box-shadow: none;
}

.program-detail-content-panel {
	padding: 0 4px 18px;
}

.program-detail-richtext {
	max-width: 100%;
	color: #475569;
	font-size: 15px;
	line-height: 1.78;
	overflow-wrap: anywhere;
}

.program-detail-content-panel .program-detail-date {
	margin-bottom: 12px;
}

.program-detail-content-panel .program-detail-richtext p {
	margin-bottom: 6px !important;
}

.program-detail-richtext *,
.program-detail-richtext p,
.program-detail-richtext .textGallery {
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.program-detail-richtext p:last-child {
	margin-bottom: 0;
}

.program-detail-richtext img,
.program-detail-richtext figure,
.program-detail-richtext iframe,
.program-detail-richtext video {
	display: block;
	max-width: 100% !important;
	height: auto !important;
}

.program-detail-richtext table {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto;
}

.program-detail-richtext ul,
.program-detail-richtext ol {
	padding-left: 22px;
}

.program-detail-carousel .owl-controls .owl-buttons div {
	position: relative;
	width: 38px;
	height: 38px;
	line-height: 38px;
	border-radius: 50%;
	background: rgba(15, 23, 42, 0.56) !important;
	border: 1px solid rgba(255, 255, 255, 0.52) !important;
	color: transparent !important;
	font-size: 0 !important;
	text-indent: -9999px;
	overflow: hidden;
	opacity: 1 !important;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.program-detail-carousel .owl-controls .owl-buttons .owl-prev::before,
.program-detail-carousel .owl-controls .owl-buttons .owl-next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	text-indent: 0;
}

.program-detail-carousel .owl-controls .owl-buttons .owl-prev::before {
	transform: translate(-40%, -50%) rotate(-135deg);
}

.program-detail-carousel .owl-controls .owl-buttons .owl-next::before {
	transform: translate(-60%, -50%) rotate(45deg);
}

.program-detail-carousel .owl-controls .owl-buttons div:hover {
	background: var(--brand-primary, #e62f17) !important;
	border-color: var(--brand-primary, #e62f17) !important;
	transform: translateY(-1px);
}

.program-detail-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 24px;
	margin-bottom: 0;
}

.program-detail-share {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	min-width: 0;
	width: 100%;
}

.program-detail-share h3 {
	font-size: 22px;
	line-height: 1.25;
}

.program-detail-share-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

.program-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 36px;
	padding: 8px 13px;
	color: #ffffff !important;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.program-share-btn:hover {
	color: #ffffff !important;
	transform: translateY(-1px);
	filter: brightness(1.04);
	box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
}

.program-share-facebook {
	background: #3b5998;
}

.program-share-twitter {
	background: #1da1f2;
}

.program-share-whatsapp {
	background: #25d366;
}

.program-detail-empty {
	padding: 34px 15px 0;
}

.program-detail-empty-panel {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 12px;
	min-height: 260px;
	padding: 38px 24px;
	text-align: center;
}

.program-detail-empty-panel i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	color: var(--brand-primary, #e62f17);
	background: rgba(230, 47, 23, 0.08);
	border-radius: 8px;
	font-size: 20px;
}

.program-detail-empty-panel p {
	max-width: 560px;
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.7;
}

body[data-color-scheme="dark"] .program-detail-hero,
body[data-color-scheme="dark"] .program-detail-layout,
body[data-color-scheme="dark"] .program-detail-actions,
body[data-color-scheme="dark"] .program-detail-empty-panel {
	background: #1f1f1f;
	border-color: #2f2f2f;
	box-shadow: none;
}

body[data-color-scheme="dark"] .program-detail-hero h2,
body[data-color-scheme="dark"] .program-detail-share h3,
body[data-color-scheme="dark"] .program-detail-scroll-link,
body[data-color-scheme="dark"] .program-detail-empty-panel h2 {
	color: #e5e7eb;
}

body[data-color-scheme="dark"] .program-detail-hero p,
body[data-color-scheme="dark"] .program-detail-richtext,
body[data-color-scheme="dark"] .program-detail-spotlight p,
body[data-color-scheme="dark"] .program-detail-empty-panel p {
	color: #9ca3af;
}

body[data-color-scheme="dark"] .program-detail-spotlight,
body[data-color-scheme="dark"] .program-detail-slide,
body[data-color-scheme="dark"] .program-detail-empty-panel i {
	background: #111827;
	border-color: #2f2f2f;
}

body[data-color-scheme="dark"] .program-detail-date {
	background: rgba(230, 47, 23, 0.16);
}

body[data-color-scheme="dark"] .program-detail-slide {
	box-shadow: none;
}

@media only screen and (max-width: 991px) {
	.program-detail-page.container,
	.program-detail-empty.container {
		width: auto !important;
		max-width: 100%;
	}

	.program-detail-hero {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.program-detail-spotlight {
		padding: 18px;
	}

	.program-detail-layout {
		display: block;
	}

	.program-detail-media {
		float: none;
		width: 100%;
		margin: 0 0 18px;
	}

	.program-detail-content-panel {
		padding: 2px;
		transform: none;
	}

	.program-detail-actions,
	.program-detail-share {
		align-items: flex-start;
		flex-direction: column;
	}

	.program-detail-share-buttons {
		justify-content: flex-start;
	}

}

@media only screen and (max-width: 767px) {
	.program-detail-page.container,
	.program-detail-empty.container {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.program-detail-hero,
	.program-detail-layout,
	.program-detail-actions,
	.program-detail-empty-panel {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		padding: 20px;
	}

	.program-detail-hero {
		margin-top: 0;
	}

	.program-detail-hero h2 {
		font-size: 25px;
	}

	.program-detail-hero p,
	.program-detail-richtext {
		font-size: 14px;
	}

	.program-detail-spotlight {
		padding: 16px;
	}

	.program-detail-slide {
		aspect-ratio: 4 / 3;
	}

	.program-detail-share-buttons,
	.program-share-btn {
		width: 100%;
	}
}

.err {
	border-color: #ff0000;
}



/** 08. Item Box (team, shop, etc)
 **************************************************************** **/
.item-box {
	background: #fff;
	overflow: hidden;
	margin: 16px 0;
	width: 100%;
	position: relative;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.item-box.fullwidth {
	max-width: 100%;
}

.item-box figure {
	width: 100%;
	display: block;
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
	text-align: center;
}

.item-box.fixed-box figure img {
	width: 100%;
	height: auto;
}

.item-box-desc {
	padding: 10px 20px;
	overflow: hidden;
}

.item-box-desc p {
	margin-top: 20px;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	/*white-space: nowrap;*/
}

.item-box.fixed-box .item-box-desc p {
	height: 98px;
}

.item-box-desc h4 {
	padding: 0;
	margin: 0;
}

.item-box .item-box-desc small {
	display: block;
}

.item-box.fixed-box .item-box-desc {
	height: 256px;
}

.item-box.fixed-box figure {
	max-height: 263px;
}

.item-box .socials {
	border-top: #eee 1px solid;
	text-align: center;
	display: block;
}


/* hover */
.item-box .item-hover,
.item-box .item-hover .overlay {
	-webkit-border-top-right-radius: 6px;
	-webkit-border-top-left-radius: 6px;
	-moz-border-radius-topleft: 6px;
	-moz-border-radius-topright: 6px;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}

.item-box .item-hover {
	opacity: 0;
	filter: alpha(opacity=0);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	text-align: center;
	color: #fff;

	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.item-box .item-hover,
.item-box .item-hover button,
.item-box .item-hover a {
	color: #fff;
}

.item-box .item-hover .inner {
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	top: 50%;
	margin-top: -30px;
	z-index: 100;
}

.item-box:hover .item-hover {
	opacity: 1;
	filter: alpha(opacity=100);
}





/** 09. Comments
 **************************************************************** **/
#comments .comment {
	margin: 40px 0;

	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

#comments a.replyBtn {
	float: right;
	font-size: 11px;
	text-transform: uppercase;
}

#comments span.user-avatar {
	background: #eee;
	width: 64px;
	height: 64px;
	float: left;
	margin-right: 10px;
}

#comments form .col-md-3,
#comments form .col-md-4,
#comments form .col-md-6,
#comments form .col-md-12 {
	padding: 2px;
}

#comments form label {
	padding: 6px 0 0 4px;
}

#commentForm {
	padding: 15px;
}





/** 10. Footer
 **************************************************************** **/
footer {
	color: #87919F;
	font-size: 13px;
	overflow: hidden;
}

footer a,
footer a:hover {
	color: #fff;
}

footer ul,
footer ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .footer-bar {
	background: #292f38;
	display: block;
	text-transform: uppercase;
	position: relative;
}

footer .footer-bar .fa {
	margin-left: 10px;
}

footer .footer-bar .copyright {
	display: inline-block;
	padding: 20px 0;
}

footer .footer-bar .toTop {
	position: absolute;
	right: 0;
	padding: 20px 0;
	padding-left: 70px;
	width: 50%;
	display: inline-block;
	float: right;
	text-align: center;
	border-left: #403E44 1px dashed;
}

footer .footer-bar .toTop:hover {
	text-decoration: none;
}

/* footer columns */
footer .footer-content {
	background: #2E363F;
	border-top: #403E44 1px dashed;
	padding: 30px 0;
	display: block;
}

footer .footer-content h3 {
	color: #fff !important;
	font-weight: 200;
	font-size: 16px;
}

footer .column {
	display: block;
	height: 100%;
}

/* footer logo */
footer .column.logo {
	position: rtelative;
	background: #292f38;
	display: block;
	margin-top: -30px;
	margin-bottom: -30px;
	padding-top: 50px;
	padding-bottom: 50px;

	-webkit-border-bottom-right-radius: 15px;
	-webkit-border-bottom-left-radius: 15px;
	-moz-border-radius-bottomright: 15px;
	-moz-border-radius-bottomleft: 15px;
	border-bottom-right-radius: 15px;
	border-bottom-left-radius: 15px;
}

footer .column.logo h4 {
	color: #fff;
	font-size: 20px;
	padding: 0;
	margin: 0;
}


/* footer latest posts */
footer .post-item,
footer .post-item p,
footer .post-item small {
	padding: 0;
	margin: 0;
	display: block;
}

footer .post-item {
	border-top: #403E44 1px dashed;
	padding-top: 10px;
	margin-top: 10px;
}

footer .post-item:first-child {
	border-top: 0;
}

footer .post-item small {
	font-size: 11px;
}

footer .post-item h3 {
	font-size: 13px;
	line-height: 20px;
	font-weight: normal;
	padding: 0;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-transform: none;
}

footer .view-more {
	display: block;
	margin-top: 20px;
	font-size: 13px;
}

/* footer contact */
footer address .footer-sprite {
	margin-bottom: 20px;
	padding-left: 30px;
	background: url('../images/footer_sprite.png') no-repeat 0 0;
}

footer address .footer-sprite:last-child {
	margin-bottom: 0;
}

footer p {
	line-height: 18px;
}

footer p.contact-desc {
	margin: 0 0 30px 0;
	padding: 0 0 10px 0;
	border-bottom: #403E44 1px dashed;
}

footer address .footer-sprite.address {
	background-position: 0 0;
}

footer address .footer-sprite.phone {
	background-position: 0 -138px;
	line-height: 30px;
}

footer address .footer-sprite.email {
	background-position: 0 -247px;
}




/** 11. Global Search
 **************************************************************** **/
header#topNav li.search {
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;

	cursor: pointer;
	background: rgba(0, 0, 0, 0.03);
	line-height: 40px;
	width: 40px;
	height: 40px;
	text-align: center;
	font-size: 17px;

	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

header#topNav li.search:before {
	content: "\f002";
}

header#topNav li.search form {
	width: 300px;
	padding: 10px;
	height: 60px;
	background-color: #F8F8F8;
	position: fixed;
	left: -999px;
}

header#topNav li.search form button:hover header#topNav li.search form button {
	width: 49px !important;
	;

	-webkit-transition: all 0s;
	-moz-transition: all 0s;
	-o-transition: all 0s;
	transition: all 0s;
}

header#topNav li.search form button:after {
	content: " ";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	z-index: 100;
	left: -18px;
	top: 50%;
	margin-top: -10px;
}

header#topNav li.search form button:hover:after {
	margin-left: -1px;
	/* temporary fix */
}

header#topNav li.search form button,
header#topNav li.search form input {
	height: 40px;
	border: #F8F8F8 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	/* font-family: 'Open Sans', Arial, sans-serif; */
	font-family: 'Montserrat', sans-serif;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

header#topNav li.search.open {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	-webkit-border-top-left-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	-moz-border-radius-topleft: 4px;
	-moz-border-radius-topright: 4px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

header#topNav li.search.open form {
	position: relative;
	left: 0;
}

header#topNav li.search.open:before {
	content: "\f00d";
}



/** 12. Quick Shop Cart
 **************************************************************** **/
header#topNav li.quick-cart {
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	position: relative;

	cursor: pointer;
	background: rgba(0, 0, 0, 0.03);
	line-height: 40px;
	width: 40px;
	height: 40px;
	text-align: center;
	font-size: 17px;
	margin-left: 10px !important;

	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

header#topNav li.quick-cart:before {
	content: "\f07a";
}

header#topNav li.quick-cart .badge {
	font-family: 'Open Sans';
	position: absolute;
	top: -4px;
	right: -4px;
	color: #999;
	font-size: 12px;
	background-color: #F8F8F8;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

header#topNav li.quick-cart .quick-cart-content {
	font-family: 'Open Sans';
	width: 250px;
	position: absolute;
	top: 40px;
	right: 0;
	background-color: #F8F8F8;
	text-align: left;
	padding: 10px;
}

header#topNav li.quick-cart .quick-cart-content p {
	padding: 0 0 6px 0;
	margin: 0;
	font-size: 13px;
}

header#topNav li.quick-cart .quick-cart-content a.item {
	clear: both;
	display: block;
	color: #999;
	padding: 10px 0;
	font-size: 13px;
	line-height: 16px;
	min-height: 60px;
	text-decoration: none;
	border-bottom: rgba(0, 0, 0, 0.1) 1px solid;
	background: rgba(0, 0, 0, 0.03);
}

header#topNav li.quick-cart .quick-cart-content a.item:hover {
	background: rgba(0, 0, 0, 0.06);
}

header#topNav li.quick-cart .quick-cart-content a.item img {
	margin-right: 10px;
	margin-left: 8px;
}

header#topNav li.quick-cart .quick-cart-content a.item span.title,
header#topNav li.quick-cart .quick-cart-content a.item span.price {
	display: block;
	font-size: 14px;
	max-height: 39px;
	overflow: hidden;
}

header#topNav li.quick-cart .cart-footer div.nopadding-right {
	margin-top: 6px;
	padding-right: 6px !important;
}

header#topNav li.quick-cart .cart-footer div.nopadding-left {
	margin-top: 6px;
	padding-left: 6px !important;
}

header#topNav li.quick-cart .cart-footer a.btn {
	color: #fff !important;
	font-size: 13px !important;
}

header#topNav li.quick-cart.open {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	-webkit-border-top-left-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	-moz-border-radius-topleft: 4px;
	-moz-border-radius-topright: 4px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

header#topNav li.quick-cart .quick-cart-content {
	position: fixed;
	left: -999px;
}

header#topNav li.quick-cart.open .quick-cart-content {
	cursor: default;
	position: absolute;
	left: auto;
	right: 0;
}

header#topNav li.quick-cart.open:before {
	content: "\f00d";
}

/* mobile button */
#btn-mobile-quick-cart {
	font-size: 16px;
	display: none;
	border-left: rgba(0, 0, 0, 0.1) 1px solid;
	padding: 0 15px !important;
}




/** DEMO ONLY
 **************************************************************** **/
/** feature-icons.html - icon text color - can be removed on production **/
.fa-hover a {
	text-decoration: none;
}

.fa-hover i {
	width: 20px;
	margin-right: 10px;
}

.fa-hover a span {
	color: #666;
}
