/* ════════════════════════════════════════════════════
   AAFE Slide Icon Button — style.css
   ════════════════════════════════════════════════════ */

.aafe-slide-icon-button-wrapper,
.aafe-slide-icon-button-wrapper * {
	box-sizing: border-box;
}

/* ══ 1. WRAPPER ══ */
.aafe-slide-icon-button-wrapper {
	--aafe-icon-box-size: 36px;
	--aafe-icon-size: 16px;
	--aafe-icon-box-offset: 5px;
	--aafe-btn-transition: 0.35s;
	display: flex;
	align-items: center;
	width: 100%;
}

/* ══ 1.1 ALIGNMENT (Desktop, Tablet, Mobile) ══ */

/* Desktop */
.aafe-slide-btn-align-left .aafe-slide-icon-button-wrapper,
.aafe-slide-icon-button-wrapper[data-align="left"],
.aafe-slide-icon-button-wrapper[data-align="flex-start"] {
	justify-content: flex-start;
}

.aafe-slide-btn-align-center .aafe-slide-icon-button-wrapper,
.aafe-slide-icon-button-wrapper[data-align="center"] {
	justify-content: center;
}

.aafe-slide-btn-align-right .aafe-slide-icon-button-wrapper,
.aafe-slide-icon-button-wrapper[data-align="right"],
.aafe-slide-icon-button-wrapper[data-align="flex-end"] {
	justify-content: flex-end;
}

.aafe-slide-btn-align-justify .aafe-slide-icon-button-wrapper,
.aafe-slide-icon-button-wrapper[data-align="justify"],
.aafe-slide-icon-button-wrapper[data-align="stretch"] {
	justify-content: stretch;
	width: 100%;
}

.aafe-slide-btn-align-justify .aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn,
.aafe-slide-btn-align-justify .aafe-slide-icon-button__btn,
.aafe-slide-icon-button-wrapper[data-align="justify"] .aafe-slide-icon-button__btn,
.aafe-slide-icon-button-wrapper[data-align="stretch"] .aafe-slide-icon-button__btn {
	width: 100% !important;
	justify-content: center;
	text-align: center;
}

/* Fallback: Content Alignment when Justified / Stretch */
.aafe-slide-icon-button-wrapper[data-align="justify"][data-content-align="start"] .aafe-slide-icon-button__btn {
	justify-content: flex-start !important;
	text-align: left !important;
}
.aafe-slide-icon-button-wrapper[data-align="justify"][data-content-align="center"] .aafe-slide-icon-button__btn {
	justify-content: center !important;
	text-align: center !important;
}
.aafe-slide-icon-button-wrapper[data-align="justify"][data-content-align="end"] .aafe-slide-icon-button__btn {
	justify-content: flex-end !important;
	text-align: right !important;
}
.aafe-slide-icon-button-wrapper[data-align="justify"][data-content-align="space-between"] .aafe-slide-icon-button__btn {
	justify-content: space-between !important;
	text-align: center !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.aafe-slide-btn-align_tablet-left .aafe-slide-icon-button-wrapper {
		justify-content: flex-start;
	}
	.aafe-slide-btn-align_tablet-center .aafe-slide-icon-button-wrapper {
		justify-content: center;
	}
	.aafe-slide-btn-align_tablet-right .aafe-slide-icon-button-wrapper {
		justify-content: flex-end;
	}
	.aafe-slide-btn-align_tablet-justify .aafe-slide-icon-button-wrapper {
		justify-content: stretch;
		width: 100%;
	}
	.aafe-slide-btn-align_tablet-justify .aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn,
	.aafe-slide-btn-align_tablet-justify .aafe-slide-icon-button__btn {
		width: 100% !important;
		justify-content: center;
		text-align: center;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.aafe-slide-btn-align_mobile-left .aafe-slide-icon-button-wrapper {
		justify-content: flex-start;
	}
	.aafe-slide-btn-align_mobile-center .aafe-slide-icon-button-wrapper {
		justify-content: center;
	}
	.aafe-slide-btn-align_mobile-right .aafe-slide-icon-button-wrapper {
		justify-content: flex-end;
	}
	.aafe-slide-btn-align_mobile-justify .aafe-slide-icon-button-wrapper {
		justify-content: stretch;
		width: 100%;
	}
	.aafe-slide-btn-align_mobile-justify .aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn,
	.aafe-slide-btn-align_mobile-justify .aafe-slide-icon-button__btn {
		width: 100% !important;
		justify-content: center;
		text-align: center;
	}
}

/* ══ 2. BUTTON BASE (Supports <a>, <button>, <div>, <span>) ══ */
.aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn,
.aafe-slide-icon-button-wrapper button.aafe-slide-icon-button__btn,
.aafe-slide-icon-button-wrapper [type="button"].aafe-slide-icon-button__btn,
button.aafe-slide-icon-button__btn,
a.aafe-slide-icon-button__btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 12px 56px 12px 24px !important;
	min-height: 46px;
	border-radius: 14px;
	border: 1px solid transparent;
	overflow: hidden !important;
	cursor: pointer;
	text-decoration: none !important;
	text-align: left;
	vertical-align: middle;
	background-color: #a370f0;
	color: #ffffff;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.2;
	outline: none;
	-webkit-user-select: auto;
	user-select: auto;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.3s ease, background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease;
}

/* Left Icon Layout Padding */
.aafe-slide-icon-button-wrapper[data-icon-pos="left"] .aafe-slide-icon-button__btn,
.aafe-slide-icon-button-wrapper[data-icon-pos="left"] button.aafe-slide-icon-button__btn,
.aafe-slide-icon-button-wrapper[data-icon-pos="left"] [type="button"].aafe-slide-icon-button__btn,
.aafe-icon-pos-left .aafe-slide-icon-button__btn {
	padding: 12px 24px 12px 56px !important;
}

.aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn:hover,
.aafe-slide-icon-button-wrapper button.aafe-slide-icon-button__btn:hover,
.aafe-slide-icon-button-wrapper [type="button"].aafe-slide-icon-button__btn:hover {
	text-decoration: none;
}

.aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn:focus-visible,
.aafe-slide-icon-button-wrapper button.aafe-slide-icon-button__btn:focus-visible {
	outline: 2px solid #a370f0;
	outline-offset: 3px;
}

.aafe-slide-icon-button-wrapper .aafe-slide-icon-button__btn:disabled,
.aafe-slide-icon-button-wrapper button.aafe-slide-icon-button__btn:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

/* ══ 3. BUTTON TEXT ══ */
.aafe-slide-icon-button__text {
	display: inline-block;
	position: relative;
	z-index: 1;
	white-space: nowrap;
	line-height: 1.2;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1), transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease;
}

/* Text hover animations */
.aafe-slide-icon-button-wrapper[data-text-hover="slide_fade"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__text {
	opacity: 0;
	transform: translateX(-12px);
}

.aafe-slide-icon-button-wrapper[data-icon-pos="left"][data-text-hover="slide_fade"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__text,
.aafe-icon-pos-left .aafe-slide-icon-button-wrapper[data-text-hover="slide_fade"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__text {
	opacity: 0;
	transform: translateX(12px);
}

.aafe-slide-icon-button-wrapper[data-text-hover="fade"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__text {
	opacity: 0;
}

.aafe-slide-icon-button-wrapper[data-text-hover="none"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__text {
	opacity: 1;
	transform: none;
}

/* ══ 4. ICON BOX ══ */
.aafe-slide-icon-button__icon-box {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	color: #7b52b9;
	width: var(--aafe-icon-box-size, 36px);
	height: var(--aafe-icon-box-size, 36px);
	border-radius: 11px;
	box-shadow: 0 2px 10px rgba(123, 82, 185, 0.25);
	transition: width var(--aafe-btn-transition, 0.35s) cubic-bezier(0.4, 0, 0.2, 1),
	            background-color 0.3s ease,
	            border-color 0.3s ease,
	            box-shadow 0.3s ease,
	            color 0.3s ease;
	z-index: 2;
	pointer-events: none;
	box-sizing: border-box;
}

/* Right-aligned icon box (default) */
.aafe-slide-icon-button-wrapper:not([data-icon-pos="left"]) .aafe-slide-icon-button__icon-box,
.aafe-slide-icon-button-wrapper[data-icon-pos="right"] .aafe-slide-icon-button__icon-box {
	right: var(--aafe-icon-box-offset, 5px);
	left: auto;
}

/* Left-aligned icon box */
.aafe-slide-icon-button-wrapper[data-icon-pos="left"] .aafe-slide-icon-button__icon-box,
.aafe-icon-pos-left .aafe-slide-icon-button__icon-box {
	left: var(--aafe-icon-box-offset, 5px);
	right: auto;
}

/* Hover: expand icon box across the button */
.aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box {
	width: calc(100% - (var(--aafe-icon-box-offset, 5px) * 2)) !important;
}

/* Active (Click) State */
.aafe-slide-icon-button__btn:active .aafe-slide-icon-button__icon-box {
	transform: translateY(-50%) scale(0.97);
}

/* ══ 5. ICON INSIDE BOX ══ */
.aafe-slide-icon-button__icon-box span,
.aafe-slide-icon-button__icon-box .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transform-origin: center center;
}

.aafe-slide-icon-button__icon-box svg {
	width: var(--aafe-icon-size, 16px);
	height: var(--aafe-icon-size, 16px);
	fill: currentColor;
	color: inherit;
	display: block;
	transform-box: fill-box;
	transform-origin: center center;
	will-change: transform;
	transition: transform var(--aafe-btn-transition, 0.35s) cubic-bezier(0.4, 0, 0.2, 1), fill 0.3s ease, color 0.3s ease;
}

.aafe-slide-icon-button__icon-box i {
	font-size: var(--aafe-icon-size, 16px);
	width: 1em;
	height: 1em;
	color: inherit;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform-origin: center center;
	will-change: transform;
	transition: transform var(--aafe-btn-transition, 0.35s) cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease;
}

/* ══ 6. ICON HOVER MOTIONS ══ */

/* Slide Forward (Default) - right position moves right, left position moves left */
.aafe-slide-icon-button-wrapper[data-icon-anim="slide"]:not([data-icon-pos="left"]) .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-anim="slide"]:not([data-icon-pos="left"]) .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-slide:not(.aafe-icon-pos-left) .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-slide:not(.aafe-icon-pos-left) .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: translateX(6px);
}

.aafe-slide-icon-button-wrapper[data-icon-pos="left"][data-icon-anim="slide"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-pos="left"][data-icon-anim="slide"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-slide.aafe-icon-pos-left .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-slide.aafe-icon-pos-left .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: translateX(-6px);
}

/* Rotate 45° */
.aafe-slide-icon-button-wrapper[data-icon-anim="rotate"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-anim="rotate"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-rotate .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-rotate .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: rotate(45deg);
}

/* Rotate 90° */
.aafe-slide-icon-button-wrapper[data-icon-anim="rotate_90"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-anim="rotate_90"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-rotate_90 .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-rotate_90 .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: rotate(90deg);
}

/* Spin (360°) */
.aafe-slide-icon-button-wrapper[data-icon-anim="spin"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-anim="spin"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-spin .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-spin .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: rotate(360deg);
}

/* Scale / Zoom */
.aafe-slide-icon-button-wrapper[data-icon-anim="scale"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-anim="scale"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-scale .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-scale .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: scale(1.3);
}

/* None */
.aafe-slide-icon-button-wrapper[data-icon-anim="none"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-slide-icon-button-wrapper[data-icon-anim="none"] .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i,
.aafe-icon-anim-none .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box svg,
.aafe-icon-anim-none .aafe-slide-icon-button__btn:hover .aafe-slide-icon-button__icon-box i {
	transform: none !important;
}
