/**
 * Form Styles for Gravity Forms Repeater Field
 *
 * @package GravityFormsRepeaterField
 * @since 1.0.0
 */

/* Form-specific repeater styles */
.gform_wrapper .gf-repeater-controls {
	margin: 16px 0;
}

.gform_wrapper .gf-fieldset {
	margin-bottom: 24px;
}

.gform_wrapper .gf-group-title {
	margin-bottom: 20px;
}

/* Integration with Gravity Forms styling */
.gform_wrapper .gf-repeater-controls button {
	font-family: inherit;
}

.gform_wrapper .gf-fieldset .gfield {
	margin-bottom: 16px;
}

.gform_wrapper .gf-fieldset .gfield:last-child {
	margin-bottom: 0;
}

/* Validation styles for repeater fields */
.gform_wrapper .gf-repeater-fieldset .gfield_error {
	border-left: 4px solid #dc3545;
	padding-left: 12px;
}

.gform_wrapper .gf-repeater-fieldset .gfield_error .gfield_label {
	color: #dc3545;
}

/* Required field indicators in repeater */
.gform_wrapper .gf-repeater-fieldset .gfield_required {
	color: #dc3545;
}

/* Conditional logic in repeater fields */
.gform_wrapper .gf-repeater-fieldset .gfield.gf_hidden {
	display: none;
}

/* Focus states for repeater controls */
.gform_wrapper .gf-repeater-controls button:focus {
	box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.25);
}

/* Error states */
.gform_wrapper .gf-repeater-fieldset.gf_error {
	border-color: #dc3545;
	background-color: #f8d7da;
}

.gform_wrapper .gf-repeater-fieldset.gf_error .gf-section-title {
	color: #721c24;
}

/* Success states */
.gform_wrapper .gf-repeater-fieldset.gf_success {
	border-color: #28a745;
	background-color: #d4edda;
}

/* Loading states */
.gform_wrapper .gf-repeater-fieldset.gf_loading {
	opacity: 0.7;
	pointer-events: none;
}

/* Animation for field transitions */
.gform_wrapper .gf-repeater-fieldset {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.gform_wrapper .gf-repeater-fieldset.sliding-out {
	opacity: 0;
	transform: translateX(-100%);
}

.gform_wrapper .gf-repeater-fieldset.sliding-in {
	opacity: 1;
	transform: translateX(0);
}

/* Print styles */
@media print {
	.gf-repeater-controls {
		display: none;
	}

	.gf-repeater-fieldset {
		display: block !important;
		page-break-inside: avoid;
	}
}
