/* =========================================================
   Danalyx Carousel – TESTIMONIAL mode (keeps type-text)
   Clean + optimized
   ========================================================= */

/* Layout: item width = 100%/cols */
.danalyx-carousel.type-text{
	--dxa-cols: 1;
	--dxa-gap: 24px;
}

.danalyx-carousel.type-text .danalyx-track{
	display:flex;
	gap:var(--dxa-gap);
}

.danalyx-carousel.type-text .danalyx-item{
	box-sizing:border-box;
	min-width:0;
	flex:0 0 calc(
		(100% - (var(--dxa-gap) * (var(--dxa-cols) - 1))) / var(--dxa-cols)
	);
}

/* Base card (compat with existing selectors) */
.danalyx-text-card{
	width:100%;
	height:100%;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	padding:1.5rem 1.75rem;
	background-color:#fff;
	border-radius:0;
	position:relative;
	overflow:hidden;
}

/* ==============================
   Testimonial vars + wrapper
   ============================== */

.danalyx-testimonial-card{
	--dtm-icon-size: 42px;
	--dtm-icon-opacity: 0.18;

	--dtm-rating-size: 18px;
	--dtm-rating-gap: 4px;
	--dtm-rating-empty-opacity: 0.35;
	--dtm-rating-fill: #f2c100;

	--dtm-section-gap: 12px;
	--dtm-top-radius: 0px;
	--dtm-bottom-radius: 0px;	

	/* optional injected by PHP: */
	/* --dtm-icon-image: url(...); */
	/* --dtm-rating-icon: url(...); */
	/* --dtm-rating-use-icon-color: 1|0 */
	/* --dtm-meta-align: flex-start|center|flex-end */
}

.danalyx-testimonial-card .dtm-bottom{
	padding:var(--dtm-bottom-pad-y) var(--dtm-bottom-pad-x);

	/* push bottom to bottom, and keep gap from the top section */
	margin-top:auto;
	border-top:1px solid rgba(0,0,0,0.08);

	/* visual spacing between top and bottom */
	transform: translateY(var(--dtm-section-gap));
}

.danalyx-testimonial-card .dtm-top{
	border-radius: var(--dtm-top-radius);
	overflow:hidden;
}

.danalyx-testimonial-card .dtm-bottom{
	border-radius: var(--dtm-bottom-radius);
	overflow:hidden;
}

/* Link wrapper */
.danalyx-testimonial-card .dtm-linkwrap{
	display:block;
	color:inherit;
	text-decoration:none;
}

/* ==============================
   Title + content
   ============================== */

.danalyx-testimonial-card .dtm-title{
	font-weight:700;
	font-size:1.1rem;
	line-height:1.2;
	margin:0 0 0.5rem 0;
}

.danalyx-testimonial-card .dtm-content{
	line-height:1.7;
	margin:0.75rem 0 1rem 0;
}

.danalyx-testimonial-card .dtm-content p:last-child{
	margin-bottom:0;
}

/* ==============================
   Icon system
   - uses classes for alignment (no style* selectors)
   ============================== */

.danalyx-testimonial-card .dtm-icon{
	position:absolute;
	pointer-events:none;
}

/* Inline icon (top) */
.danalyx-testimonial-card .dtm-icon-inline{
	position:relative;
	width:var(--dtm-icon-size);
	height:var(--dtm-icon-size);
	opacity:var(--dtm-icon-opacity);
	margin-bottom:0.5rem;
}

/* Default inline alignment (left) */
.danalyx-testimonial-card .dtm-icon-inline{
	margin-left:0;
	margin-right:auto;
}

/* Alignment by class (recommended) */
.danalyx-testimonial-card.dtm-icon-align-left .dtm-icon-inline{
	margin-left:0;
	margin-right:auto;
}
.danalyx-testimonial-card.dtm-icon-align-center .dtm-icon-inline{
	margin-left:auto;
	margin-right:auto;
}
.danalyx-testimonial-card.dtm-icon-align-right .dtm-icon-inline{
	margin-left:auto;
	margin-right:0;
}

/* Quote glyphs (inline) */
.danalyx-testimonial-card.dtm-icon-type-quote_left .dtm-icon-inline::before,
.danalyx-testimonial-card.dtm-icon-type-quote_right .dtm-icon-inline::before{
	content:"“";
	font-size:calc(var(--dtm-icon-size) * 1.1);
	line-height:1;
	font-weight:900;
	display:block;
}

.danalyx-testimonial-card.dtm-icon-type-quote_right .dtm-icon-inline::before{
	content:"”";
}

/* Custom icon inline */
.danalyx-testimonial-card.dtm-icon-type-custom .dtm-icon-inline{
	background-image:var(--dtm-icon-image);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}

/* Background watermark */
.danalyx-testimonial-card .dtm-icon-bg{
	width:calc(var(--dtm-icon-size) * 2.2);
	height:calc(var(--dtm-icon-size) * 2.2);
	opacity:var(--dtm-icon-opacity);
	top:12px;
	left:12px;
}

/* Background position mapping (kept from your original approach) */
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:top-left"] .dtm-icon-bg{ top:12px; left:12px; right:auto; bottom:auto; transform:none; }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:top-center"] .dtm-icon-bg{ top:12px; left:50%; right:auto; transform:translateX(-50%); }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:top-right"] .dtm-icon-bg{ top:12px; right:12px; left:auto; transform:none; }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:center-left"] .dtm-icon-bg{ top:50%; left:12px; right:auto; transform:translateY(-50%); }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:center"] .dtm-icon-bg{ top:50%; left:50%; transform:translate(-50%,-50%); }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:center-right"] .dtm-icon-bg{ top:50%; right:12px; left:auto; transform:translateY(-50%); }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:bottom-left"] .dtm-icon-bg{ bottom:12px; left:12px; top:auto; right:auto; transform:none; }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:bottom-center"] .dtm-icon-bg{ bottom:12px; left:50%; top:auto; transform:translateX(-50%); }
.danalyx-testimonial-card[style*="--dtm-icon-bgpos:bottom-right"] .dtm-icon-bg{ bottom:12px; right:12px; top:auto; left:auto; transform:none; }

/* Quote watermark */
.danalyx-testimonial-card.dtm-icon-type-quote_left .dtm-icon-bg::before,
.danalyx-testimonial-card.dtm-icon-type-quote_right .dtm-icon-bg::before{
	content:"“";
	font-size:calc(var(--dtm-icon-size) * 3.0);
	line-height:1;
	font-weight:900;
	display:block;
}
.danalyx-testimonial-card.dtm-icon-type-quote_right .dtm-icon-bg::before{
	content:"”";
}

/* Custom watermark */
.danalyx-testimonial-card.dtm-icon-type-custom .dtm-icon-bg{
	background-image:var(--dtm-icon-image);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}

/* ==============================
   Rating system (correct half-fill)
   ============================== */

.danalyx-testimonial-card .dtm-rating{
	display:inline-flex;
	align-items:center;
	gap:var(--dtm-rating-gap);
	margin:0.25rem 0 0.25rem 0;
}

.danalyx-testimonial-card{
	--dtm-default-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
}

.danalyx-testimonial-card .dtm-rating-ico{
	position:relative;
	width:var(--dtm-rating-size);
	height:var(--dtm-rating-size);
	display:inline-block;
	overflow:hidden; /* clips fill width */
}

/* Base layer (empty/grey) */
.danalyx-testimonial-card .dtm-rating-empty{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	display:block;
	background-image:var(--dtm-rating-icon, var(--dtm-default-star));
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	filter:grayscale(1);
	opacity:var(--dtm-rating-empty-opacity);
}

/* Fill layer: keep full size, clip from right using clip-path */
.danalyx-testimonial-card .dtm-rating-fill{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	display:block;

	background-image:var(--dtm-rating-icon, var(--dtm-default-star));
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center; /* keep centered */

	/* the magic */
	-webkit-clip-path: inset(0 calc(100% - var(--dtm-fill, 0%)) 0 0);
	clip-path: inset(0 calc(100% - var(--dtm-fill, 0%)) 0 0);
}

/* If using original icon colors, keep fill normal */
.danalyx-testimonial-card[style*="--dtm-rating-use-icon-color:1"] .dtm-rating-fill{
	filter:none;
	opacity:1;
}

/* Tinted mode using mask (best looking) */
@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))){

	/* Empty layer: grey mask */
	.danalyx-testimonial-card .dtm-rating-empty{
		background-image:none;
		background-color:rgba(0,0,0,0.35);
		-webkit-mask-image:var(--dtm-rating-icon, var(--dtm-default-star));
		mask-image:var(--dtm-rating-icon, var(--dtm-default-star));
		-webkit-mask-repeat:no-repeat;
		mask-repeat:no-repeat;
		-webkit-mask-position:left center;
		mask-position:left center;
		-webkit-mask-size:contain;
		mask-size:contain;
		filter:none;
		opacity:var(--dtm-rating-empty-opacity);
	}

	/* Filled layer: color mask (only when use-icon-color = 0) */
	.danalyx-testimonial-card[style*="--dtm-rating-use-icon-color:0"] .dtm-rating-fill{
		background-image:none;
		background-color:var(--dtm-rating-fill);
		-webkit-mask-image:var(--dtm-rating-icon, var(--dtm-default-star));
		mask-image:var(--dtm-rating-icon, var(--dtm-default-star));
		-webkit-mask-repeat:no-repeat;
		mask-repeat:no-repeat;
		-webkit-mask-position:left center;
		mask-position:left center;
		-webkit-mask-size:contain;
		mask-size:contain;
		opacity:1;
	}
}

/* ==============================
   Meta (stack) – alignment that works
   ============================== */

/* --- Meta image alignment (author + logo) --- */
.danalyx-testimonial-card .dtm-author-photo-wrap,
.danalyx-testimonial-card .dtm-company-logo-wrap{
	width:100%;
	display:flex;
}

/* Defaults */
.danalyx-testimonial-card .dtm-author-photo-wrap{ justify-content:flex-start; }
.danalyx-testimonial-card .dtm-company-logo-wrap{ justify-content:flex-start; }

/* When Elementor selector sets justify-content using flex values */
.danalyx-testimonial-card .dtm-author-photo-wrap{ justify-content: var(--dtm-author-photo-jc, flex-start); }
.danalyx-testimonial-card .dtm-company-logo-wrap{ justify-content: var(--dtm-company-logo-jc, flex-start); }

/* Meta stack container */
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack{
	display:flex;
	flex-direction:column;
	gap:6px;
	margin-top:auto;

	/* default */
	align-items:flex-start;

	/* optional variable injected by PHP if you prefer */
	align-items: var(--dtm-meta-align, flex-start);
}

/* Alignment by class (recommended) */
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack.dtm-meta-align-left{ align-items:flex-start; }
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack.dtm-meta-align-center{ align-items:center; }
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack.dtm-meta-align-right{ align-items:flex-end; }

/* Make inner items look good when centered/right */
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack > div{
	width:100%;
}
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack.dtm-meta-align-center > div,
.danalyx-testimonial-card .dtm-meta.dtm-meta-stack.dtm-meta-align-right > div{
	text-align:inherit;
}

/* Author photo */
.danalyx-testimonial-card .dtm-author-photo img{
	width:46px;
	height:46px;
	object-fit:cover;
	border-radius:999px;
	display:inline-block;
}

/* Author name */
.danalyx-testimonial-card .dtm-author-name{
	font-weight:700;
	font-size:0.95rem;
	line-height:1.2;
}

/* Job */
.danalyx-testimonial-card .dtm-author-job{
	font-size:0.85rem;
	opacity:0.75;
	line-height:1.2;
}

/* Date */
.danalyx-testimonial-card .dtm-date{
	font-size:0.78rem;
	opacity:0.6;
	margin-top:2px;
}

/* Company logo */
.danalyx-testimonial-card .dtm-company-logo img{
	max-height:32px;
	max-width:90px;
	object-fit:contain;
	display:inline-block;
}

/* Company name */
.danalyx-testimonial-card .dtm-company-name{
	font-size:0.85rem;
	opacity:0.75;
	line-height:1.2;
}