/* Idex Engine — Elementor widget default styles */

.idexw-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.idexw-empty {
	color: #8b887c;
	font-size: 13px;
}
.idexw-card {
	min-width: 0;
}
.idexw-sec-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--idexf-primary, #3f4224);
	margin: 30px 0 16px;
}

/* field widgets */
.idexw-field {
	display: flex;
	align-items: center;
	gap: 8px;
}
.idexw-field.idexw-col {
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}
.idexw-field-label {
	color: #8b887c;
	font-size: 13px;
}
.idexw-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.idexw-icon img {
	width: 20px;
	height: 20px;
	display: block;
}
.idexw-icon.has-shape {
	border: 1.5px solid var(--idexf-primary, #3f4224);
	padding: 10px;
}
.idexw-icon.shape-circle {
	border-radius: 50%;
}
.idexw-icon.shape-square {
	border-radius: 12px;
}

/* ---------- home category card ---------- */
.idexw-homecat {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 420px;
	border-radius: var(--idexf-radius, 16px);
	background-size: cover;
	background-position: center;
	background-color: #3f4224;
	overflow: hidden;
	padding: 22px;
	text-decoration: none !important;
	color: #fff;
}
.idexw-homecat::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(12, 12, 6, 0.9), rgba(12, 12, 6, 0.25));
	opacity: 0.45;
}
.idexw-homecat > * {
	position: relative;
	z-index: 2;
}
.idexw-homecat-num {
	font-size: 15px;
	opacity: 0.9;
	align-self: flex-start;
}
.idexw-homecat-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.idexw-homecat-icon {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 6px;
}
.idexw-homecat-icon img {
	width: 20px;
	height: 20px;
	filter: invert(1);
}
.idexw-homecat-body strong {
	font-size: 19px;
	letter-spacing: 0.4px;
}
.idexw-homecat-body em {
	font-style: normal;
	font-size: 12px;
	opacity: 0.85;
	line-height: 1.9;
}
.idexw-homecat-line {
	display: block;
	width: 46px;
	height: 4px;
	border-radius: 4px;
	margin-top: 4px;
}
.idexw-homecat-arrow {
	position: absolute;
	bottom: 20px;
	inset-inline-start: 20px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s;
}
.idexw-homecat:hover .idexw-homecat-arrow {
	background: rgba(255, 255, 255, 0.3);
}
.idexw-homecat-arrow img {
	width: 16px;
	filter: invert(1);
	transform: scaleX(-1);
}

/* ---------- video card ---------- */
.idexf-video-card {
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
	background: #fff;
	border: 1px solid #e7e3d8;
	display: flex;
	flex-direction: column;
}
.idexw-video-media {
	position: relative;
}
.idexw-video-media > img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}
.idexw-video-media .idexf-play {
	top: auto;
	left: auto;
	transform: none;
	bottom: 12px;
	inset-inline-end: 12px;
	position: absolute;
	width: 44px;
	height: 44px;
}
.idexw-video-time {
	position: absolute;
	bottom: 14px;
	inset-inline-start: 12px;
	background: rgba(12, 12, 6, 0.72);
	color: #fff;
	border-radius: 8px;
	padding: 4px 10px;
	font-size: 11px;
}
.idexw-video-bar {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	color: #fff;
	text-decoration: none !important;
	flex: 1;
}
.idexw-video-bar strong {
	font-size: 14px;
}
.idexw-video-bar em {
	font-style: normal;
	font-size: 11px;
	opacity: 0.85;
	line-height: 1.8;
}

/* ---------- article card ---------- */
.idexw-article-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none !important;
	color: inherit;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
	padding-bottom: 16px;
}
.idexw-article-img {
	display: block;
	height: 190px;
	background: #eee9dd;
	margin-bottom: 10px;
}
.idexw-article-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.idexw-article-card strong {
	padding: 0 16px;
	font-size: 15px;
}
.idexw-article-meta {
	padding: 0 16px;
	display: flex;
	gap: 12px;
}
.idexw-article-meta em {
	font-style: normal;
	font-size: 11px;
	color: #8b887c;
}

/* filters bar */
.idexw-filters {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.idexw-filters a {
	border: 1px solid #ddd8cb;
	border-radius: 999px;
	padding: 8px 18px;
	font-size: 13px;
	text-decoration: none !important;
	color: #2b2b26;
	background: #fff;
}
.idexw-filters a.is-active {
	background: var(--idexf-primary, #3f4224);
	color: #fff;
	border-color: transparent;
}
.idexw-filters select {
	margin-inline-start: auto;
	border: 1px solid #ddd8cb;
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 13px;
	background: #fff;
	font-family: inherit;
}

/* ---------- projects ---------- */
.idexw-pcats {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.idexw-pcat {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #ddd8cb;
	background: #fff;
	border-radius: 999px;
	padding: 9px 20px;
	font-size: 13px;
	text-decoration: none !important;
	color: #2b2b26;
	transition: 0.15s;
}
.idexw-pcat img {
	width: 17px;
	height: 17px;
}
.idexw-pcat.is-active,
.idexw-pcat:hover {
	background: var(--idexf-primary, #3f4224);
	color: #fff;
	border-color: transparent;
}
.idexw-pcat.is-active img,
.idexw-pcat:hover img {
	filter: invert(1);
}
.idexw-pfilter {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	padding: 14px;
	margin-bottom: 22px;
}
.idexw-pfilter select,
.idexw-pfilter input {
	flex: 1;
	min-width: 130px;
	border: 1px solid #ddd8cb;
	border-radius: 12px;
	padding: 10px 14px;
	font-size: 13px;
	background: #fbfaf7;
	font-family: inherit;
}
.idexf-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #ddd8cb;
	border-radius: 999px;
	padding: 6px 14px;
	width: 320px;
	max-width: 100%;
}
.idexf-search input {
	border: 0;
	outline: none;
	flex: 1;
	font-size: 13px;
	background: transparent;
	font-family: inherit;
	min-width: 0;
}
.idexf-search-toggle {
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 2px;
	display: inline-flex;
}
.idexf-search.is-icon {
	width: auto;
	border-color: transparent;
	background: transparent;
}
.idexf-search.is-icon input {
	width: 0;
	opacity: 0;
	transition: 0.25s;
}
.idexf-search.is-icon.is-open {
	background: #fff;
	border-color: #ddd8cb;
}
.idexf-search.is-icon.is-open input {
	width: 200px;
	opacity: 1;
}

.idexw-pcard {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 340px;
	border-radius: var(--idexf-radius, 16px);
	background-size: cover;
	background-position: center;
	background-color: #3f4224;
	overflow: hidden;
	text-decoration: none !important;
	color: #fff;
	padding: 20px;
}
.idexw-pcard::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 5, 0.9), transparent 60%);
	opacity: 0.5;
}
.idexw-pcard-body {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	gap: 12px;
}
.idexw-pcard-main {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.idexw-pcard-main strong {
	font-size: 17px;
}
.idexw-pcard-main em {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-style: normal;
	font-size: 11.5px;
	opacity: 0.9;
}
.idexw-pcard-main em i {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-style: normal;
}
.idexw-pcard-main em img {
	width: 14px;
	height: 14px;
	filter: invert(1);
}
.idexw-pcard-area {
	background: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(3px);
	border-radius: 10px;
	padding: 6px 12px;
	font-size: 12px;
	white-space: nowrap;
}

/* project single banner */
.idexw-psbanner {
	position: relative;
	height: 420px;
	border-radius: var(--idexf-radius, 16px);
	background-size: cover;
	background-position: center;
	background-color: #e8e4d8;
	overflow: hidden;
}
.idexw-psbanner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 15, 8, 0.85), transparent 55%);
	opacity: 0.35;
}

/* ---------- reference: phases ---------- */
.idexw-phase {
	position: relative;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	padding: 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
	height: 100%;
}
.idexw-phase-num {
	font-size: 15px;
	color: #8b887c;
}
.idexw-phase strong {
	font-size: 18px;
	color: var(--idexf-primary, #3f4224);
}
.idexw-phase em {
	font-style: normal;
	font-size: 13px;
	color: #6c695e;
	line-height: 1.9;
	flex: 1;
}
.idexw-phase-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #6c695e;
}
.idexw-status-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}
.idexw-status-dot.is-on {
	background: #4caf50;
}
.idexw-status-dot.is-off {
	background: #c9c4b4;
}
.idexw-btn-disabled {
	opacity: 0.5;
	cursor: not-allowed;
	position: relative;
}
.idexw-phase.is-inactive .idexw-btn-disabled:hover::after {
	content: attr(data-soon);
}
.idexw-phase.is-inactive:hover .idexw-btn-disabled::before {
	content: 'به زودی';
	position: absolute;
	top: -34px;
	right: 50%;
	transform: translateX(50%);
	background: #2b2b26;
	color: #fff;
	border-radius: 8px;
	padding: 4px 12px;
	font-size: 11px;
	white-space: nowrap;
}

/* ref categories */
.idexw-refcat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	padding: 16px 10px;
	text-decoration: none !important;
	color: #2b2b26;
	font-size: 12.5px;
	text-align: center;
	transition: 0.15s;
}
.idexw-refcat img {
	width: 26px;
	height: 26px;
}
.idexw-refcat.is-active,
.idexw-refcat:hover {
	border-color: var(--idexf-primary, #3f4224);
	background: var(--idexf-primary, #3f4224);
	color: #fff;
}
.idexw-refcat.is-active img,
.idexw-refcat:hover img {
	filter: invert(1);
}

/* materials archive */
.idexw-archive {
	display: grid;
	grid-template-columns: 270px 1fr;
	gap: 22px;
	align-items: start;
}
.idexw-sidebar {
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	padding: 18px;
	position: sticky;
	top: 20px;
}
.idexw-sb-group {
	border-bottom: 1px dashed #eae6da;
	padding: 10px 0;
}
.idexw-sb-group summary {
	cursor: pointer;
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 6px;
}
.idexw-sb-group label {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 0;
	font-size: 13px;
	cursor: pointer;
}
.idexw-sidebar .idexf-btn {
	margin-top: 14px;
}
.idexw-matcard {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none !important;
	color: inherit;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
	padding-bottom: 14px;
}
.idexw-matcard-img {
	position: relative;
	display: block;
	height: 200px;
	background: #eee9dd;
	margin-bottom: 10px;
}
.idexw-matcard-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.idexw-matcard-img i,
.idexw-matimg i {
	position: absolute;
	bottom: 10px;
	inset-inline-start: 10px;
	background: var(--idexf-primary, #3f4224);
	color: #fff;
	border-radius: 999px;
	padding: 4px 12px;
	font-size: 11px;
	font-style: normal;
}
.idexw-matimg.pos-bottom-right i {
	inset-inline-start: auto;
	inset-inline-end: 10px;
}
.idexw-matimg.pos-top-left i {
	bottom: auto;
	top: 10px;
}
.idexw-matimg.pos-top-right i {
	bottom: auto;
	top: 10px;
	inset-inline-start: auto;
	inset-inline-end: 10px;
}
.idexw-matcard strong {
	padding: 0 14px;
	font-size: 14px;
}
.idexw-matcard-meta {
	padding: 0 14px;
	display: flex;
	gap: 10px;
}
.idexw-matcard-meta em {
	font-style: normal;
	font-size: 11px;
	color: #8b887c;
}

/* brand info list */
.idexw-bsinfo {
	list-style: none;
	margin: 0;
	padding: 8px 20px;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
}
.idexw-bsinfo li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 0;
	border-bottom: 1px dashed #eae6da;
	font-size: 13px;
}
.idexw-bsinfo li:last-child {
	border-bottom: 0;
}
.idexw-bsinfo li img {
	width: 17px;
	height: 17px;
}
.idexw-bsinfo span {
	color: #8b887c;
}
.idexw-bsinfo.mode-split li strong {
	margin-inline-start: auto;
}
.idexw-bsinfo.mode-center li {
	justify-content: center;
}

/* ---------- journal ---------- */
.idexw-journal {
	position: relative;
	display: block;
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-color: #3f4224;
	text-decoration: none !important;
	color: #fff;
}
.idexw-journal::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 5, 0.92), transparent 55%);
	opacity: 0.4;
}
.idexw-journal-txt {
	position: absolute;
	bottom: 16px;
	inset-inline-end: 16px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: end;
}
.idexw-journal-txt strong {
	font-size: 16px;
}
.idexw-journal-txt em {
	font-style: normal;
	font-size: 11.5px;
	opacity: 0.85;
}

/* ---------- showcase card ---------- */
.idexw-showcase-card {
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	color: inherit;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
}
.idexw-showcase-img {
	display: block;
	height: 210px;
	background: #eee9dd;
}
.idexw-showcase-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.idexw-showcase-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px 16px;
}
.idexw-showcase-body strong {
	font-size: 14px;
}
.idexw-showcase-body em {
	font-style: normal;
	font-size: 11.5px;
	color: #8b887c;
}
.idexw-showcase-brand {
	color: var(--idexf-accent, #5a6138) !important;
}

/* ---------- awards ---------- */
.idexw-award-active {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 22px;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	padding: 20px;
	align-items: center;
}
.idexw-award-img {
	position: relative;
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
}
.idexw-award-img img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
}
.idexw-award-body h3 {
	margin: 4px 0 8px;
	font-size: 21px;
	color: var(--idexf-primary, #3f4224);
}
.idexw-award-body p {
	color: #6c695e;
	font-size: 13px;
	line-height: 1.9;
	margin: 0 0 8px;
}
.idexw-award-head {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 14px;
}
.idexw-award-card {
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	color: inherit;
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	overflow: hidden;
}
.idexw-award-cardimg {
	position: relative;
	display: block;
	height: 190px;
	background: #eee9dd;
}
.idexw-award-cardimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.idexw-award-cardimg i {
	position: absolute;
	top: 10px;
	inset-inline-end: 10px;
}
.idexw-award-cardbody {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px;
}
.idexw-award-cardbody strong {
	font-size: 15px;
}
.idexw-award-cardbody em {
	font-style: normal;
	font-size: 11.5px;
	color: #8b887c;
}
.idexw-award-cardbody .idexf-btn {
	margin-top: 8px;
	align-self: flex-start;
}

/* awards sidebar */
.idexw-awside {
	background: #fff;
	border: 1px solid #e7e3d8;
	border-radius: var(--idexf-radius, 16px);
	padding: 20px;
}
.idexw-awside h4 {
	margin: 0 0 12px;
	font-size: 15px;
}
.idexw-awside-cats {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}
.idexw-awside-cat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border-radius: 12px;
	text-decoration: none !important;
	color: #2b2b26;
	font-size: 13px;
}
.idexw-awside-cat:hover,
.idexw-awside-cat.is-active {
	background: #f2efe9;
}
.idexw-awside-cat i {
	font-style: normal;
	background: #f2efe9;
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 11px;
	color: #6c695e;
}
.idexw-awside-about p {
	font-size: 12.5px;
	color: #6c695e;
	line-height: 1.9;
}

/* responsive */
@media (max-width: 1024px) {
	.idexw-archive {
		grid-template-columns: 1fr;
	}
	.idexw-sidebar {
		position: static;
	}
	.idexw-award-active {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 767px) {
	.idexw-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.idexw-filters select {
		margin-inline-start: 0;
		width: 100%;
	}
}
