/**
 * Tiger CCT Grid — front-end listing for Custom Content Types.
 * All structural styling is namespaced under .tiger-cct-grid-wrap; visual
 * tokens (columns, accent) are driven by CSS custom properties the widget's
 * Elementor controls set, so per-instance styling stays inline-selector based.
 */
.tiger-cct-grid-wrap {
	--tiger-cct-accent: #6c5ce7;
}

.tiger-cct-grid {
	display: grid;
	grid-template-columns: repeat(var(--tiger-cct-cols, 3), minmax(0, 1fr));
	gap: 20px;
}

.tiger-cct-card {
	/* A real default so cards never look hollow (Elementor Style controls,
	   being inline + higher-specificity, still override any of this). */
	background: #fff;
	border: 1px solid #eceef5;
	border-radius: 14px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(20, 20, 50, .04), 0 6px 18px rgba(20, 20, 50, .06);
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.tiger-cct-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 14px rgba(20, 20, 50, .08), 0 18px 40px rgba(20, 20, 50, .12);
}

/* Shared body + title for the cover / profile / minimal presets. */
.tiger-cct-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.tiger-cct-card__title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #14142b;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}
.tiger-cct-card__title a { color: inherit; text-decoration: none; }
.tiger-cct-card:hover .tiger-cct-card__title { color: var(--tiger-cct-accent); }

/* ── Cover preset: full-bleed image on top, padded body below ─────────── */
.tiger-cct-grid--cover .tiger-cct-card { padding: 0; gap: 0; }
.tiger-cct-grid--cover .tiger-cct-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f3f4f8;
}
.tiger-cct-grid--cover .tiger-cct-card__media .tiger-cct-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform .45s ease;
}
.tiger-cct-grid--cover .tiger-cct-card:hover .tiger-cct-card__media .tiger-cct-img { transform: scale(1.05); }
.tiger-cct-grid--cover .tiger-cct-card__body { padding: 18px; gap: 9px; }

/* ── Profile preset: avatar beside the text column ────────────────────── */
.tiger-cct-grid--profile .tiger-cct-card { flex-direction: row; align-items: center; gap: 16px; }
.tiger-cct-grid--profile .tiger-cct-card__media { flex: 0 0 auto; }
.tiger-cct-grid--profile .tiger-cct-card__media .tiger-cct-img {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	object-fit: cover;
}
.tiger-cct-grid--profile .tiger-cct-card__body { flex: 1 1 auto; }

/* ── Minimal preset: no card chrome, editorial dividers ───────────────── */
.tiger-cct-grid--minimal { gap: 0; }
.tiger-cct-grid--minimal .tiger-cct-card {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #eceef5;
	border-radius: 0;
	box-shadow: none;
	padding: 22px 0;
}
.tiger-cct-grid--minimal .tiger-cct-card:hover { transform: none; box-shadow: none; }
.tiger-cct-grid--minimal .tiger-cct-card__title { font-size: 22px; }

/* Template-mode grid cell (wraps an Elementor item template). */
.tiger-cct-cell { min-width: 0; }

.tiger-cct-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.tiger-cct-field__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #6b7280;
}
.tiger-cct-field__value {
	font-size: 14.5px;
	line-height: 1.55;
	color: #1e1e2e;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}
.tiger-cct-field__value a {
	color: var(--tiger-cct-accent);
	text-decoration: none;
}
.tiger-cct-field__value a:hover { text-decoration: underline; }

/* Media fields */
.tiger-cct-img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
}
.tiger-cct-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.tiger-cct-gallery .tiger-cct-img {
	width: 64px;
	height: 64px;
	object-fit: cover;
}
.tiger-cct-swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, .12);
	vertical-align: middle;
}

/* Empty + pager */
.tiger-cct-empty {
	margin: 0;
	padding: 28px;
	text-align: center;
	color: #6b7280;
}
.tiger-cct-pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin-top: 26px;
}
.tiger-cct-pager__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid #e6e8f0;
	border-radius: 9px;
	background: #fff;
	color: #1e1e2e;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}
.tiger-cct-pager__btn:hover {
	border-color: var(--tiger-cct-accent);
	color: var(--tiger-cct-accent);
}
.tiger-cct-pager__btn.is-current {
	background: var(--tiger-cct-accent);
	border-color: var(--tiger-cct-accent);
	color: #fff;
	cursor: default;
}
.tiger-cct-pager__gap {
	padding: 0 4px;
	color: #9ca3af;
}

@media (max-width: 767px) {
	.tiger-cct-grid { grid-template-columns: repeat(var(--tiger-cct-cols, 1), minmax(0, 1fr)); }
}
