/**
 * Woo Instagram Follower — CT- follower frontend.
 */

.elementor-widget-ct-follower {
	width: 100%;
}

.wifl-stack {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.wifl-cats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.wifl-cat {
	margin: 0;
	padding: 10px 22px;
	border: 2px solid #e5e7eb;
	border-radius: 999px;
	background: #fff;
	color: #111827;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.wifl-cat.is-active {
	border-color: var(--wifl-accent, #ff5c3a);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.wifl-cat:nth-child(1).is-active {
	border-color: #7c3aed;
}

.wifl-cat:nth-child(2).is-active {
	border-color: #f97316;
}

.wifl-cat:nth-child(3).is-active {
	border-color: #06b6d4;
}

.wifl-stack__item[hidden] {
	display: none !important;
}

.wifl {
	--wifl-accent: #ff5c3a;
	--wifl-accent-hover: #e84e2f;
	--wifl-text: #1a1a1a;
	--wifl-muted: #6b7280;
	--wifl-card-bg: #ffffff;
	--wifl-card-border: #ececec;
	--wifl-pkg-bg: #f3f4f6;
	--wifl-pkg-text: #111827;
	--wifl-radius: 16px;
	--wifl-pkg-radius: 12px;
	--wifl-btn-radius: 14px;
	--wifl-save-bg: #dcfce7;
	--wifl-save-color: #16a34a;
	--wifl-check-idle: #d1d5db;
	--wifl-feature: #222;
	--wifl-gap: 20px;
	--wifl-pkg-gap: 12px;
	--wifl-pkg-cols: 4;
	--wifl-service-cols: 2;
	--wifl-service-rows: 5;
	--wifl-title-size: 18px;
	--wifl-feature-size: 13px;
	--wifl-qty-size: 22px;
	--wifl-off-size: 13px;
	--wifl-sale-size: 40px;
	--wifl-regular-size: 18px;
	--wifl-btn-size: 18px;
	--wifl-shadow: 0 2px 10px rgba(17, 24, 39, 0.06);
	box-sizing: border-box;
	width: 100%;
	color: var(--wifl-text);
	font-family: inherit;
}

.wifl *,
.wifl *::before,
.wifl *::after {
	box-sizing: border-box;
}

/* Isolate native <button> from theme / WooCommerce / Elementor hover styles. */
.wifl button.wifl-service,
.wifl button.wifl-pkg,
.wifl button.wifl-cart {
	font-family: inherit;
	text-transform: none;
	text-decoration: none;
	text-shadow: none;
	letter-spacing: inherit;
	background-image: none;
	box-shadow: none;
	outline: none;
	float: none;
	max-width: none;
	white-space: normal;
	-webkit-tap-highlight-color: transparent;
}

.wifl button.wifl-service:hover,
.wifl button.wifl-service:focus,
.wifl button.wifl-service:focus-visible,
.wifl button.wifl-service:active,
.wifl button.wifl-pkg:hover,
.wifl button.wifl-pkg:focus,
.wifl button.wifl-pkg:focus-visible,
.wifl button.wifl-pkg:active,
.wifl button.wifl-cart:hover,
.wifl button.wifl-cart:focus,
.wifl button.wifl-cart:focus-visible,
.wifl button.wifl-cart:active {
	background-image: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	outline: none !important;
	filter: none !important;
	transform: none !important;
}

.wifl button.wifl-service:hover,
.wifl button.wifl-service:focus,
.wifl button.wifl-service:focus-visible,
.wifl button.wifl-service:active {
	background-color: var(--wifl-card-bg);
	background: var(--wifl-card-bg);
	color: inherit;
	border-color: var(--wifl-card-border);
	box-shadow: var(--wifl-shadow);
}

.wifl button.wifl-service.is-active:hover,
.wifl button.wifl-service.is-active:focus,
.wifl button.wifl-service.is-active:focus-visible,
.wifl button.wifl-service.is-active:active {
	border-color: var(--wifl-accent);
}

.wifl button.wifl-pkg:hover,
.wifl button.wifl-pkg:focus,
.wifl button.wifl-pkg:focus-visible,
.wifl button.wifl-pkg:active {
	background: var(--wifl-pkg-bg);
	color: var(--wifl-pkg-text);
	box-shadow: none;
}

.wifl button.wifl-pkg.is-active:hover,
.wifl button.wifl-pkg.is-active:focus,
.wifl button.wifl-pkg.is-active:focus-visible,
.wifl button.wifl-pkg.is-active:active {
	background: var(--wifl-accent);
	color: #fff;
}

.wifl button.wifl-cart:hover,
.wifl button.wifl-cart:focus-visible,
.wifl button.wifl-cart:active {
	background: var(--wifl-accent-hover);
	color: #fff;
	box-shadow: none;
}

.wifl button.wifl-cart:disabled,
.wifl button.wifl-cart:disabled:hover,
.wifl button.wifl-cart:disabled:focus,
.wifl button.wifl-cart:disabled:active {
	background: var(--wifl-accent);
	color: #fff;
	opacity: 0.55;
	cursor: not-allowed;
	transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.wifl button.wifl-service,
	.wifl button.wifl-pkg,
	.wifl button.wifl-cart {
		transition: none;
	}
}

.wifl-json {
	display: none !important;
}

.wifl-services {
	display: grid;
	grid-template-columns: repeat(var(--wifl-service-cols, 2), minmax(0, 1fr));
	gap: var(--wifl-gap);
	margin-bottom: 22px;
}

.wifl-service {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 20px 20px 52px;
	border: 1px solid var(--wifl-card-border);
	border-radius: var(--wifl-radius);
	background: var(--wifl-card-bg);
	box-shadow: var(--wifl-shadow);
	color: inherit;
	font: inherit;
	text-align: left;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wifl-service.is-active {
	border-color: var(--wifl-accent);
}

.wifl-service__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	min-width: 0;
}

.wifl-service--premium .wifl-service__head {
	margin: -20px -20px 16px;
	padding: 14px 20px;
	background: var(--wifl-accent);
	color: #fff;
}

.wifl-service__title {
	min-width: 0;
	flex: 1 1 auto;
	font-size: var(--wifl-title-size);
	font-weight: 700;
	line-height: 1.25;
	color: var(--wifl-text);
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
}

.wifl-service--premium .wifl-service__title {
	color: #fff;
}

.wifl-service__icon,
.elementor-widget-ct-follower .wifl-service__icon {
	flex: 0 0 auto;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	min-height: 28px;
	color: #9ca3af;
	overflow: visible;
	visibility: visible !important;
	opacity: 1 !important;
}

.wifl-service--premium .wifl-service__icon,
.elementor-widget-ct-follower .wifl-service--premium .wifl-service__icon {
	color: #fff;
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
}

.wifl-service__icon svg,
.wifl-service__icon img,
.elementor-widget-ct-follower .wifl-service__icon svg {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	min-width: 18px;
	min-height: 18px;
	object-fit: contain;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	fill: currentColor !important;
	stroke: none !important;
}

.wifl-service__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	width: 100%;
	white-space: normal;
}

.wifl-service__features li {
	position: relative;
	padding-left: 22px;
	font-size: var(--wifl-feature-size);
	line-height: 1.45;
	color: var(--wifl-feature);
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

.wifl-service__features li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 14px;
	height: 14px;
	background-color: #111;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wifl-service--premium .wifl-service__features li::before {
	background-color: var(--wifl-accent);
}

.wifl-service__check {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid var(--wifl-check-idle);
	background: #fff;
	color: #fff;
}

.wifl-service__check svg {
	width: 14px;
	height: 14px;
	opacity: 0;
}

.wifl-service.is-active .wifl-service__check {
	border-color: var(--wifl-accent);
	background: var(--wifl-accent);
}

.wifl-service.is-active .wifl-service__check svg {
	opacity: 1;
}

.wifl-packages {
	display: grid;
	grid-template-columns: repeat(var(--wifl-pkg-cols), minmax(0, 1fr));
	gap: var(--wifl-pkg-gap);
	margin-bottom: 28px;
}

.wifl-pkg {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 72px;
	margin: 0;
	padding: 12px 8px;
	border: 0;
	border-radius: var(--wifl-pkg-radius);
	background: var(--wifl-pkg-bg);
	color: var(--wifl-pkg-text);
	font: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: background 0.18s ease, color 0.18s ease;
}

.wifl-pkg__qty {
	font-size: var(--wifl-qty-size);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.02em;
}

.wifl-pkg__off {
	font-size: var(--wifl-off-size);
	font-weight: 600;
	color: var(--wifl-accent);
	line-height: 1.2;
}

.wifl-pkg.is-active {
	background: var(--wifl-accent);
	color: #fff;
}

.wifl-pkg.is-active .wifl-pkg__off {
	color: var(--wifl-accent);
	background: #fff;
	border-radius: 999px;
	padding: 3px 10px;
	font-weight: 700;
}

.wifl-footer {
	display: grid;
	grid-template-columns: minmax(140px, auto) minmax(180px, 1fr);
	gap: 24px;
	align-items: center;
}

.wifl-price__row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.wifl-price__sale,
.wifl-price__sale .woocommerce-Price-amount,
.wifl-price__sale .amount,
.wifl-price__sale bdi {
	font-size: var(--wifl-sale-size);
	font-weight: 600;
	line-height: 1;
	color: var(--wifl-text);
	letter-spacing: -0.03em;
}

.wifl-price__regular,
.wifl-price__regular .woocommerce-Price-amount,
.wifl-price__regular .amount,
.wifl-price__regular bdi {
	font-size: var(--wifl-regular-size);
	font-weight: 500;
	color: #9ca3af;
	text-decoration: line-through;
}

.wifl-savings {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	font-size: 14px;
	color: var(--wifl-muted);
}

.wifl-savings__tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 6px;
	background: var(--wifl-save-bg);
	color: var(--wifl-save-color);
	font-weight: 700;
}

.wifl-savings__tag svg {
	width: 14px;
	height: 14px;
}

.wifl-savings__amount .woocommerce-Price-amount,
.wifl-savings__amount .amount,
.wifl-savings__amount bdi {
	font: inherit;
	color: inherit;
	font-weight: 700;
}

.wifl-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 14px 28px;
	border: 0;
	border-radius: var(--wifl-btn-radius);
	background: var(--wifl-accent);
	color: #fff;
	font-size: var(--wifl-btn-size);
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	justify-self: end;
	transition: background 0.18s ease, opacity 0.18s ease;
}

.wifl-cart:hover,
.wifl-cart:focus-visible {
	background: var(--wifl-accent-hover);
	color: #fff;
}

.wifl-cart:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.wifl-cart.is-loading {
	opacity: 0.8;
	pointer-events: none;
}

.wifl-cart--icon-right {
	flex-direction: row-reverse;
}

.wifl-cart__icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.wifl-cart__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.wifl--hide-services .wifl-services,
.wifl--hide-features .wifl-service__features,
.wifl--hide-packages .wifl-packages,
.wifl--hide-price .wifl-price,
.wifl--hide-cart .wifl-cart,
.wifl--hide-regular .wifl-price__regular,
.wifl--hide-savings .wifl-savings {
	display: none !important;
}

.wifl--hide-price .wifl-footer,
.wifl--hide-cart .wifl-footer {
	grid-template-columns: 1fr;
}

.wifl-message {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
}

.wifl-message.is-error {
	color: #b91c1c;
}

.wifl-message.is-success {
	color: #15803d;
}

.wifl-empty {
	padding: 20px;
	border: 1px dashed #d1d5db;
	border-radius: 12px;
	color: #6b7280;
	font-size: 14px;
}

@media (max-width: 767px) {
	.wifl {
		--wifl-pkg-cols: 2;
		--wifl-sale-size: 32px;
		--wifl-title-size: 16px;
	}

	.wifl-services {
		grid-template-columns: repeat(var(--wifl-service-cols, 1), minmax(0, 1fr));
	}

	.wifl-footer {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.wifl-cart {
		justify-self: start;
	}
}

.wifl a.added_to_cart,
.elementor-widget-ct-follower a.added_to_cart {
	display: none !important;
}
