/**
 * Gravity Forms Clover Add-On - field styling.
 *
 * The card inputs are Clover-hosted iframes and cannot be styled directly from
 * here; their interior text is set via the SDK styles object in frontend.js.
 * Everything below styles the containers around those iframes.
 *
 * Theme per site by overriding the custom properties, e.g.:
 *   .ginput_container_clover { --gfclover-accent: #0a7d68; --gfclover-ring: rgba(10,125,104,.18); }
 */
.ginput_container_clover {
	--gfclover-accent: #2563eb;
	--gfclover-ring: rgba(37, 99, 235, 0.18);
	--gfclover-border: #d4d9e0;
	--gfclover-bg: #ffffff;
	--gfclover-chip-bg: #f2f4f7;
	--gfclover-radius: 10px;
	--gfclover-field-radius: 8px;
	--gfclover-error: #c02b0a;
	--gfclover-muted: #5b6472;
	--gfclover-text: #1f2733;
}

.ginput_container_clover .gf-clover-fields {
	background: var(--gfclover-bg);
	border: 1px solid var(--gfclover-border);
	border-radius: var(--gfclover-radius);
	padding: 16px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

/* Header: secure cue + accepted cards */
.ginput_container_clover .gf-clover-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.ginput_container_clover .gf-clover-secure {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gfclover-muted);
	white-space: nowrap;
}

.ginput_container_clover .gf-clover-secure svg {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
}

.ginput_container_clover .gf-clover-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ginput_container_clover .gf-clover-card-chip {
	font-size: 11px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--gfclover-muted);
	background: var(--gfclover-chip-bg);
	border: 1px solid var(--gfclover-border);
	border-radius: 5px;
	padding: 5px 7px;
}

/* Field groups */
.ginput_container_clover .gf-clover-group {
	margin-bottom: 12px;
}

.ginput_container_clover .gf-clover-group:last-of-type {
	margin-bottom: 0;
}

.ginput_container_clover .gf-clover-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--gfclover-muted);
	margin: 0 0 5px;
}

.ginput_container_clover .gf-clover-field {
	min-height: 46px;
	padding: 11px 12px;
	border: 1px solid var(--gfclover-border);
	border-radius: var(--gfclover-field-radius);
	background: #fff;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ginput_container_clover .gf-clover-field.is-focused {
	border-color: var(--gfclover-accent);
	box-shadow: 0 0 0 3px var(--gfclover-ring);
}

.ginput_container_clover .gf-clover-field.has-error {
	border-color: var(--gfclover-error);
}

.ginput_container_clover .gf-clover-row {
	display: flex;
	gap: 12px;
}

.ginput_container_clover .gf-clover-row .gf-clover-group {
	flex: 1 1 0;
	margin-bottom: 0;
}

.ginput_container_clover .gf-clover-errors {
	min-height: 1.1em;
	margin-top: 10px;
	color: var(--gfclover-error);
	font-size: 13px;
}

/* Editor / entry-detail placeholder */
.ginput_container_clover .gf-clover-placeholder {
	padding: 12px;
	border: 1px dashed var(--gfclover-border);
	border-radius: var(--gfclover-field-radius);
	color: var(--gfclover-muted);
	font-size: 0.9em;
}

@media (max-width: 480px) {
	.ginput_container_clover .gf-clover-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.ginput_container_clover .gf-clover-row {
		flex-wrap: wrap;
	}

	.ginput_container_clover .gf-clover-row .gf-clover-group {
		flex: 1 1 100%;
	}

	.ginput_container_clover .gf-clover-row .gf-clover-group + .gf-clover-group {
		margin-top: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ginput_container_clover .gf-clover-field {
		transition: none;
	}
}
