/* =========================================
Testimonials / Swiper
========================================= */

.ciib-testimonials-carousel.swiper {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 10px 0 28px;
}

.ciib-testimonials-carousel .swiper-wrapper {
	align-items: stretch;
}

.ciib-testimonials-carousel .swiper-slide {
	display: flex;
	height: auto;
	box-sizing: border-box;
}

.ciib-testimonials-carousel .swiper-slide > * {
	width: 100%;
}

/* ADDED: bolje equal height ponašanje u slideru */
.ciib-testimonials-carousel .swiper-slide > .ciib-testimonials-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* =========================================
Card
========================================= */

.ciib-testimonials-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	min-height: 100%;
	padding: 30px;
	background: #ffffff;
	border: 1px solid rgba(16, 24, 40, 0.08);
	border-radius: 24px;
	overflow: hidden;
	transition:
		border-color 0.25s ease,
		background-color 0.25s ease,
		transform 0.25s ease;
}

.ciib-testimonials-carousel .swiper-slide-active .ciib-testimonials-card,
.ciib-testimonials-card:hover {
	border-color: rgba(16, 24, 40, 0.14);
	transform: translateY(-1px);
}

.ciib-testimonials-card__logo {
	position: relative;
	z-index: 2;
	margin-bottom: 22px;
}

.ciib-testimonials-card__logo img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 100px;
	object-fit: contain;
}

.ciib-testimonials-card__body {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
}

/* ADDED: footer gura na dno */
.ciib-testimonials-card__text {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	color: #1d2939;
	line-height: 1.75;
	letter-spacing: -0.01em;
}

.ciib-testimonials-card__quote-mark {
	position: absolute;
	top: 62%;
	left: 84%;
	z-index: 1;
	transform: translate(-50%, -50%);
	font-size: 720px;
	line-height: 0.8;
	font-family: Georgia, serif;
	font-weight: 700;
	color: rgba(16, 24, 40, 0.02);
	pointer-events: none;
	user-select: none;
}

.ciib-testimonials-card__text p {
	margin: 0 0 1em;
}

.ciib-testimonials-card__text p:last-child {
	margin-bottom: 0;
}

.ciib-testimonials-card__footer {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid rgba(16, 24, 40, 0.06);
}

/* ADDED: ako body raste, footer sjeda dolje */
.ciib-testimonials-card__body .ciib-testimonials-card__footer {
	margin-top: auto;
}

.ciib-testimonials-card__avatar {
	flex: 0 0 80px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	background: #f2f4f7;
}

.ciib-testimonials-card__avatar-image {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	aspect-ratio: 1 / 1;
}

.ciib-testimonials-card__meta {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.ciib-testimonials-card__name {
	display: block;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: #101828;
}

.ciib-testimonials-card__position,
.ciib-testimonials-card__company {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	color: #667085;
}

.ciib-testimonials-card__company {
	text-decoration: none;
	transition: color 0.2s ease;
}

.ciib-testimonials-card__company:hover,
.ciib-testimonials-card__company:focus {
	color: #101828;
	text-decoration: none;
}

/* =========================================
NEW: source visibility logic
PHP must add:
- .ciib-testimonials-card--source-content
- .ciib-testimonials-card--source-excerpt
========================================= */

.ciib-testimonials-card__text--full {
	display: block;
}

.ciib-testimonials-card__text--excerpt {
	display: none;
}

/* excerpt shortcode => uvijek excerpt */
.ciib-testimonials-card--source-excerpt .ciib-testimonials-card__text--full {
	display: none !important;
}

.ciib-testimonials-card--source-excerpt .ciib-testimonials-card__text--excerpt {
	display: block !important;
}

/* content shortcode => desktop full */
@media (min-width: 768px) {
	.ciib-testimonials-card--source-content .ciib-testimonials-card__text--full {
		display: block;
	}

	.ciib-testimonials-card--source-content .ciib-testimonials-card__text--excerpt {
		display: none;
	}
}

/* =========================================
Featured / fade card
Desktop: left 30%, right 70%
Logo on top of left column
Same height to avoid layout jump
========================================= */

.ciib-testimonials--effect-fade .swiper-wrapper {
	align-items: stretch;
}

.ciib-testimonials--effect-fade .swiper-slide {
	height: auto;
}

.ciib-testimonials--effect-fade .swiper-slide > * {
	height: 100%;
}

.ciib-testimonials-card--featured {
	height: 100%;
	min-height: 520px;
	padding: 42px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.ciib-testimonials-card__featured-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(240px, 30%) minmax(0, 70%);
	gap: 40px;
	align-items: stretch;
	height: 100%;
	min-height: 100%;
}

.ciib-testimonials-card__featured-side,
.ciib-testimonials-card__body--featured {
	min-width: 0;
	min-height: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.ciib-testimonials-card__featured-side--person {
	align-items: flex-start;
}

.ciib-testimonials-card__logo--featured {
	margin-bottom: 20px;
}

.ciib-testimonials-card__logo--featured img {
	max-height: 64px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
}

.ciib-testimonials-card__avatar--featured {
	width: 120px;
	height: 120px;
	flex: 0 0 120px;
}

.ciib-testimonials-card__meta--featured {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: auto;
	padding-top: 18px;
}

.ciib-testimonials-card--featured .ciib-testimonials-card__name {
	font-size: 20px;
	line-height: 1.25;
}

.ciib-testimonials-card--featured .ciib-testimonials-card__position,
.ciib-testimonials-card--featured .ciib-testimonials-card__company {
	font-size: 15px;
	line-height: 1.55;
}

.ciib-testimonials-card__body--featured {
	position: relative;
	overflow: hidden;
}

.ciib-testimonials-card__text--featured {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	max-width: 100%;
	font-size: 18px;
	line-height: 1.8;
	display: -webkit-box;
	-webkit-line-clamp: 11;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ciib-testimonials-card__text--featured p {
	margin: 0 0 1em;
}

.ciib-testimonials-card__text--featured p:last-child {
	margin-bottom: 0;
}

.ciib-testimonials-card--featured .ciib-testimonials-card__quote-mark {
	top: 32%;
	left: 86%;
	font-size: 720px;
	color: rgba(16, 24, 40, 0.028);
}

/* ADDED: featured excerpt/content logic desktop */
@media (min-width: 768px) {
	.ciib-testimonials-card--featured.ciib-testimonials-card--source-excerpt .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--full {
		display: none !important;
	}

	.ciib-testimonials-card--featured.ciib-testimonials-card--source-excerpt .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--excerpt {
		display: -webkit-box !important;
		-webkit-line-clamp: 11;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.ciib-testimonials-card--featured.ciib-testimonials-card--source-content .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--excerpt {
		display: none !important;
	}

	.ciib-testimonials-card--featured.ciib-testimonials-card--source-content .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--full {
		display: -webkit-box !important;
		-webkit-line-clamp: 11;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}

/* Fade specific tweaks */
.ciib-testimonials--effect-fade .ciib-testimonials-card {
	transform: none;
}

.ciib-testimonials--effect-fade .swiper-slide-active .ciib-testimonials-card,
.ciib-testimonials--effect-fade .ciib-testimonials-card:hover {
	transform: none;
}

.ciib-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.ciib-testimonials-card--grid {
	height: 100%;
}

/* =========================================
Controls
========================================= */

.ciib-testimonials-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 24px;
}

.ciib-testimonials-carousel__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	flex: 0 0 48px;
	border: 1px solid rgba(16, 24, 40, 0.12);
	border-radius: 999px;
	padding: 0;
	background: #ffffff;
	color: #101828;
	cursor: pointer;
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		opacity 0.25s ease;
}

.ciib-testimonials-carousel__button:hover,
.ciib-testimonials-carousel__button:focus {
	background: #ffffff;
	border-color: rgba(16, 24, 40, 0.22);
	color: #101828;
	transform: translateY(-1px);
}

.ciib-testimonials-carousel__button span,
.ciib-testimonials-carousel__button i {
	display: block;
	font-size: 22px;
	line-height: 1;
	font-style: normal;
	font-weight: 500;
}

.ciib-testimonials-carousel__button.swiper-button-disabled {
	opacity: 0.32;
	cursor: default;
	pointer-events: none;
	transform: none;
	background: #ffffff;
}

.ciib-testimonials-carousel__pagination {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
	width: auto !important;
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 0 0 auto;
}

.ciib-testimonials-carousel__pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 !important;
	border-radius: 999px;
	background: rgba(16, 24, 40, 0.18);
	opacity: 1;
	flex: 0 0 auto;
	transition:
		width 0.25s ease,
		background 0.25s ease,
		transform 0.25s ease;
}

.ciib-testimonials-carousel__pagination .swiper-pagination-bullet-active {
	width: 22px;
	background: linear-gradient(90deg, #1f6fff 0%, #00c389 100%);
}

/* =========================================
Tablet
========================================= */

@media (max-width: 1024px) {
	.ciib-testimonials-card--featured {
		min-height: 480px;
		padding: 34px;
	}

	.ciib-testimonials-card__featured-grid {
		grid-template-columns: minmax(210px, 32%) minmax(0, 68%);
		gap: 28px;
	}

	.ciib-testimonials-card__logo--featured img {
		max-height: 56px;
		max-width: 160px;
	}

	.ciib-testimonials-card__text--featured {
		font-size: 17px;
		-webkit-line-clamp: 10;
	}

	.ciib-testimonials-card--featured .ciib-testimonials-card__quote-mark {
		left: 84%;
		font-size: 460px;
	}
}

/* =========================================
Mobile
========================================= */

@media (max-width: 767px) {
	.ciib-testimonials-carousel__controls {
		gap: 12px;
		margin-top: 20px;
	}

	.ciib-testimonials-carousel__button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		flex-basis: 44px;
	}

	.ciib-testimonials-carousel__button span,
	.ciib-testimonials-carousel__button i {
		font-size: 20px;
	}

	.ciib-testimonials-carousel__pagination {
		gap: 7px;
	}

	.ciib-testimonials-carousel__pagination .swiper-pagination-bullet {
		width: 6px;
		height: 6px;
	}

	.ciib-testimonials-carousel__pagination .swiper-pagination-bullet-active {
		width: 18px;
	}

	.ciib-testimonials-card {
		padding: 24px;
		border-radius: 20px;
	}

	.ciib-testimonials-card__logo {
		margin-bottom: 18px;
	}

	.ciib-testimonials-card__logo img {
		max-height: 64px;
	}

	.ciib-testimonials-card__quote-mark {
		top: 72%;
		left: 82%;
		font-size: 420px;
	}

	.ciib-testimonials-card__footer {
		gap: 14px;
		margin-top: 22px;
		padding-top: 16px;
	}

	.ciib-testimonials-card__avatar {
		width: 56px;
		height: 56px;
		flex-basis: 56px;
	}

	.ciib-testimonials-card__name {
		font-size: 15px;
	}

	.ciib-testimonials-card__position,
	.ciib-testimonials-card__company {
		font-size: 13px;
	}

	/* ADDED: content source => mobile excerpt */
	.ciib-testimonials-card--source-content .ciib-testimonials-card__text--full {
		display: none !important;
	}

	.ciib-testimonials-card--source-content .ciib-testimonials-card__text--excerpt {
		display: block !important;
	}

	.ciib-testimonials-card--featured {
		min-height: auto;
		padding: 24px;
	}

	.ciib-testimonials-card__featured-grid {
		grid-template-columns: 1fr;
		gap: 22px;
		height: auto;
		min-height: 0;
	}

	.ciib-testimonials-card__featured-side,
	.ciib-testimonials-card__body--featured {
		height: auto;
		min-height: 0;
		justify-content: flex-start;
	}

	.ciib-testimonials-card__body--featured {
		order: 2;
		overflow: visible;
	}

	.ciib-testimonials-card__featured-side--person {
		order: 1;
		gap: 14px;
		padding-bottom: 16px;
		border-bottom: 1px solid rgba(16, 24, 40, 0.06);
	}

	.ciib-testimonials-card__logo--featured {
		margin-bottom: 14px;
	}

	.ciib-testimonials-card__logo--featured img {
		max-height: 52px;
		max-width: 150px;
	}

	.ciib-testimonials-card__avatar--featured {
		width: 72px;
		height: 72px;
		flex: 0 0 72px;
	}

	.ciib-testimonials-card__meta--featured {
		margin-top: 14px;
		padding-top: 0;
	}

	.ciib-testimonials-card--featured .ciib-testimonials-card__name {
		font-size: 17px;
	}

	.ciib-testimonials-card--featured .ciib-testimonials-card__position,
	.ciib-testimonials-card--featured .ciib-testimonials-card__company {
		font-size: 14px;
	}

	.ciib-testimonials-card__text--featured {
		display: block;
		overflow: visible;
		font-size: 16px;
		line-height: 1.75;
		-webkit-line-clamp: unset;
	}

	/* ADDED: featured mobile source logic */
	.ciib-testimonials-card--featured.ciib-testimonials-card--source-content .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--full {
		display: none !important;
	}

	.ciib-testimonials-card--featured.ciib-testimonials-card--source-content .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--excerpt {
		display: block !important;
	}

	.ciib-testimonials-card--featured.ciib-testimonials-card--source-excerpt .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--full {
		display: none !important;
	}

	.ciib-testimonials-card--featured.ciib-testimonials-card--source-excerpt .ciib-testimonials-card__text--featured.ciib-testimonials-card__text--excerpt {
		display: block !important;
	}

	.ciib-testimonials-card--featured .ciib-testimonials-card__quote-mark {
		top: 74%;
		left: 82%;
		font-size: 420px;
	}

	.ciib-testimonials-grid {
		grid-template-columns: 1fr;
	}
}
