/* =========================================================
   AM Image Accordion for Elementor
   ========================================================= */

.am-iacc {
	--am-iacc-sign: 12px;
}

.am-iacc__inner {
	display: flex;
	align-items: flex-start;
	gap: 50px;
}

.am-iacc--img-left .am-iacc__inner {
	flex-direction: row-reverse;
}

/* ---------- left column: the accordion ---------- */

.am-iacc__list {
	flex: 1 1 auto;
	min-width: 0;
}

.am-iacc__item {
	border-bottom: 1px solid #e4e8ec;
	transition: background-color 0.3s ease;
}

.am-iacc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	cursor: pointer;
	user-select: none;
	outline: none;
}

.am-iacc__head:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.am-iacc__title {
	margin: 0;
	padding: 0;
	font-size: 22px;
	line-height: 1.3;
	transition: color 0.25s ease;
}

/* ---------- icon box ---------- */

.am-iacc__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid #d8dee4;
	background-color: transparent;
	color: #123a5c;
	transition: all 0.25s ease;
}

.am-iacc__icon svg {
	width: var(--am-iacc-sign, 12px);
	height: var(--am-iacc-sign, 12px);
}

.am-iacc__icon-opened {
	display: none;
}

.am-iacc__icon-closed,
.am-iacc__icon-opened {
	line-height: 0;
}

.am-iacc__item.is-active .am-iacc__icon-closed {
	display: none;
}

.am-iacc__item.is-active .am-iacc__icon-opened {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.am-iacc--rotate-icon .am-iacc__item.is-active .am-iacc__icon {
	transform: rotate(180deg);
}

/* built-in + / - sign (used when no custom icon is chosen) */

.am-iacc__sign {
	position: relative;
	display: block;
	width: var(--am-iacc-sign, 12px);
	height: var(--am-iacc-sign, 12px);
}

.am-iacc__sign::before,
.am-iacc__sign::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background-color: currentColor;
	transform: translate(-50%, -50%);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.am-iacc__sign::before {
	width: 100%;
	height: 1.5px;
}

.am-iacc__sign::after {
	width: 1.5px;
	height: 100%;
}

.am-iacc__item.is-active .am-iacc__sign::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg);
}

.am-iacc__sign--minus-only::after {
	display: none;
}

.am-iacc__item.is-active .am-iacc__sign--plus-only::after {
	opacity: 1;
	transform: translate(-50%, -50%);
}

/* ---------- sliding panel ---------- */

.am-iacc__panel {
	height: 0;
	overflow: hidden;
	transition-property: height;
	transition-duration: 350ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	will-change: height;
}

.am-iacc__panel-inner {
	padding: 14px 40px 0 0;
}

.am-iacc__desc {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: #4a6b85;
}

.am-iacc__desc > *:last-child {
	margin-bottom: 0;
}

/* ---------- button / link ---------- */

.am-iacc__btn-wrap {
	margin-top: 20px;
}

.am-iacc__btn {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #123a5c;
	transition: color 0.25s ease, background-color 0.25s ease;
}

.am-iacc__btn--underline::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin-top: 8px;
	background-color: #00b8d9;
	transition: background-color 0.25s ease, width 0.25s ease;
}

.am-iacc__btn--solid {
	padding: 12px 26px;
	background-color: #00b8d9;
	color: #ffffff;
}

/* ---------- right column: the image ---------- */

.am-iacc__media {
	position: relative;
	flex: 0 0 50%;
	max-width: 50%;
	height: 600px;
	overflow: hidden;
}

.am-iacc--sticky .am-iacc__media {
	position: sticky;
	top: 40px;
}

.am-iacc__media-item {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition-property: opacity, transform;
	transition-duration: 450ms;
	transition-timing-function: ease;
}

.am-iacc__media-item.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

.am-iacc__media-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* change effects */

.am-iacc--fx-fade-zoom .am-iacc__media-item {
	transform: scale(1.06);
}

.am-iacc--fx-fade-zoom .am-iacc__media-item.is-active {
	transform: scale(1);
}

.am-iacc--fx-fade-slide .am-iacc__media-item {
	transform: translateY(28px);
}

.am-iacc--fx-fade-slide .am-iacc__media-item.is-active {
	transform: translateY(0);
}

.am-iacc--fx-none .am-iacc__media-item {
	transition-duration: 0ms !important;
}

/* ---------- image shown inside the item (small screens) ---------- */

.am-iacc__inline-media {
	display: none;
	margin-top: 20px;
}

.am-iacc__inline-media img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- responsive stacking ---------- */

@media (max-width: 1024px) {
	.am-iacc--stack-tablet .am-iacc__inner {
		flex-direction: column;
	}

	.am-iacc--stack-tablet .am-iacc__media {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100%;
		order: 2;
	}

	.am-iacc--stack-tablet.am-iacc--inline-media .am-iacc__media {
		display: none;
	}

	.am-iacc--stack-tablet.am-iacc--inline-media .am-iacc__inline-media {
		display: block;
	}

	.am-iacc--stack-tablet .am-iacc__panel-inner {
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	.am-iacc--stack-mobile .am-iacc__inner {
		flex-direction: column;
	}

	.am-iacc--stack-mobile .am-iacc__media {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100%;
		order: 2;
	}

	.am-iacc--stack-mobile.am-iacc--inline-media .am-iacc__media {
		display: none;
	}

	.am-iacc--stack-mobile.am-iacc--inline-media .am-iacc__inline-media {
		display: block;
	}

	.am-iacc--stack-mobile .am-iacc__panel-inner {
		padding-right: 0;
	}
}

/* ---------- reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
	.am-iacc__panel,
	.am-iacc__media-item,
	.am-iacc__icon,
	.am-iacc__sign::before,
	.am-iacc__sign::after {
		transition-duration: 1ms !important;
	}
}

/* ===== AM Infographic Widgets (Radial + Hexagon) - added, does not touch accordion styles above ===== */
.am-info-wrap{max-width:100%;margin:0 auto;text-align:center;box-sizing:border-box;}
.am-info-wrap *{box-sizing:border-box;}
.am-info-ring{position:relative;margin:60px auto;}
.am-info-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;padding:12px;text-align:center;transition:opacity .6s ease, transform .6s ease;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.am-info-ring.am-hex .am-info-center{border-radius:0;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);}
.am-info-ring.am-in-view .am-info-center{opacity:1;transform:translate(-50%,-50%) scale(1);}
.am-info-center-title{font-weight:700;line-height:1.15;word-break:break-word;}
.am-info-node{position:absolute;top:50%;left:50%;width:var(--am-node);height:var(--am-node);margin-top:calc(var(--am-node) / -2);margin-left:calc(var(--am-node) / -2);transform:rotate(calc(360deg / var(--am-n) * var(--am-i))) translate(var(--am-r)) rotate(calc(-360deg / var(--am-n) * var(--am-i)));}
.am-info-spoke{position:absolute;top:50%;left:50%;height:2px;width:var(--am-r);background:var(--am-line,#cbd5e1);transform-origin:0 50%;transform:rotate(calc(360deg / var(--am-n) * var(--am-i))) scaleX(0);transition:transform .7s ease;transition-delay:calc(var(--am-i) * .09s);}
.am-info-ring.am-in-view .am-info-spoke{transform:rotate(calc(360deg / var(--am-n) * var(--am-i))) scaleX(1);}
.am-info-node-inner{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;text-align:center;cursor:pointer;opacity:0;transform:scale(.4);transition:opacity .5s ease, transform .5s ease, box-shadow .25s ease;transition-delay:calc(var(--am-i) * .09s);box-shadow:0 6px 16px rgba(0,0,0,.15);}
.am-info-ring.am-hex .am-info-node-inner{border-radius:0;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);}
.am-info-ring.am-in-view .am-info-node-inner{opacity:1;transform:scale(1);}
.am-info-node-inner:hover,.am-info-node-inner.am-active{transform:scale(1.09);box-shadow:0 12px 26px rgba(0,0,0,.28);}
.am-info-node-icon{font-size:1.6em;line-height:1;margin-bottom:4px;transition:transform .25s ease;}
.am-info-node-icon svg{width:1em;height:1em;fill:currentColor;}
.am-info-node-inner:hover .am-info-node-icon{transform:rotate(8deg) scale(1.1);}
.am-info-node-title{font-size:.85em;font-weight:600;line-height:1.2;word-break:break-word;}
.am-info-tooltip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);width:220px;max-width:60vw;background:#0f172a;color:#fff;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.45;box-shadow:0 14px 34px rgba(0,0,0,.35);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease, transform .2s ease;z-index:20;}
.am-info-node.am-open .am-info-tooltip{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);pointer-events:auto;}
.am-info-tooltip:after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:#0f172a;}
@media (max-width:767px){
.am-info-ring{height:auto !important;width:100% !important;display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:0;}
.am-info-ring .am-info-spoke{display:none;}
.am-info-ring .am-info-center{position:relative;top:auto;left:auto;transform:none !important;opacity:1;margin-bottom:6px;}
.am-info-ring.am-in-view .am-info-center{transform:none !important;}
.am-info-ring .am-info-node{position:relative;top:auto;left:auto;margin:0;transform:none !important;width:100%;max-width:340px;}
.am-info-ring .am-info-node-inner{border-radius:14px !important;clip-path:none !important;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 16px;opacity:1;transform:none !important;text-align:left;}
.am-info-ring .am-info-node-icon{margin-bottom:0;font-size:1.4em;}
.am-info-ring .am-info-tooltip{position:static;transform:none;width:auto;max-width:none;opacity:1;visibility:visible;box-shadow:none;background:transparent;color:inherit;padding:4px 0 0;display:none;}
.am-info-ring .am-info-node.am-open .am-info-tooltip{display:block;}
}
