/* Brazil checkout — Cielo card fields (match site form language) */

/* Payment method radios: 2 fixed rows, form always below both */
.woocommerce-checkout #payment ul.payment_methods.ify-cielo-methods,
.woocommerce-checkout #payment ul.wc_payment_methods.ify-cielo-methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Empty shells after radios/forms are extracted — must not trap .payment_box */
.woocommerce-checkout #payment ul.ify-cielo-methods > li.ify-cielo-method-shell {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
}

.ify-cielo-method-radios {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	order: 1;
	width: 100%;
	flex: 0 0 auto;
}

.ify-cielo-method-forms {
	order: 2;
	width: 100%;
	flex: 0 0 auto;
	margin: 0.75rem 0 0;
	padding: 0;
	min-height: 0;
}

.ify-cielo-method-forms .payment_box[data-ify-open="1"] {
	display: block !important;
	height: auto !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0.25rem 0 0.5rem !important;
}

.ify-cielo-method-forms .payment_box:not([data-ify-open="1"]) {
	display: none !important;
}

.ify-cielo-method-row {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	min-height: 52px;
	padding: 0.75rem 1rem;
	border-radius: 10px;
	border: 1px solid #bf52ff33;
	background: linear-gradient(to right, #bf52ff1a, #33bbff1a);
	cursor: pointer;
}

.ify-cielo-method-row.is-selected {
	border-color: rgba(191, 82, 255, 0.65);
	box-shadow: 0 0 0 3px rgba(191, 82, 255, 0.18);
}

.ify-cielo-method-row input[type="radio"] {
	margin: 0 !important;
	flex: 0 0 auto;
	accent-color: #bf52ff;
}

.ify-cielo-method-row > label {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	flex: 1 1 auto;
}

/* Soften Woo default light payment box for Cielo gateways */
.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo,
.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo_debit,
.ify-cielo-method-forms .payment_box.payment_method_ify_cielo,
.ify-cielo-method-forms .payment_box.payment_method_ify_cielo_debit {
	background: transparent !important;
	border: 0 !important;
	padding: 0.25rem 0 0.25rem !important;
	margin: 0 !important;
	color: #fff !important;
	box-shadow: none !important;
	position: static !important;
}

.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo::before,
.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo_debit::before,
.ify-cielo-method-forms .payment_box::before {
	display: none !important;
}

.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo p,
.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo_debit p,
.ify-cielo-method-forms .payment_box p {
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
}

.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo .ify-cielo-sandbox-hint,
.woocommerce-checkout #payment .payment_box.payment_method_ify_cielo_debit .ify-cielo-sandbox-hint,
.ify-cielo-method-forms .ify-cielo-sandbox-hint {
	color: #9fd6ff;
	border: 1px solid rgba(51, 187, 255, 0.35);
	background: rgba(51, 187, 255, 0.1);
	border-radius: 10px;
	padding: 0.7rem 0.85rem;
	margin: 0 0 0.85rem;
	font-size: 0.88rem;
	line-height: 1.4;
}

.ify-cielo-fields {
	margin: 0;
	padding: 0;
	border: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.ify-cielo-fields .form-row {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
}

.ify-cielo-fields .form-row-wide {
	grid-column: 1 / -1;
}

.ify-cielo-fields .form-row-first,
.ify-cielo-fields .form-row-last {
	grid-column: auto;
}

.ify-cielo-fields .clear {
	display: none;
}

.ify-cielo-fields label {
	display: block;
	margin: 0 0 0.4rem;
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.9rem;
	font-weight: 600;
}

.ify-cielo-fields label .required {
	color: #ff8a8a;
	text-decoration: none;
	border: 0;
}

.ify-cielo-fields input[type="text"],
.ify-cielo-fields input[type="password"],
.ify-cielo-fields input[type="tel"],
.ify-cielo-fields select,
.ify-cielo-fields .form-control {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0.7rem 0.75rem;
	border-radius: 10px;
	background: linear-gradient(to right, #bf52ff1a, #33bbff1a) !important;
	border: 1px solid #bf52ff33 !important;
	color: #fff !important;
	box-shadow: none !important;
	outline: none;
	caret-color: #fff;
}

.ify-cielo-fields input::placeholder {
	color: rgba(255, 255, 255, 0.55);
	opacity: 1;
}

.ify-cielo-fields input:focus,
.ify-cielo-fields select:focus,
.ify-cielo-fields .form-control:focus {
	border-color: rgba(191, 82, 255, 0.65) !important;
	box-shadow: 0 0 0 3px rgba(191, 82, 255, 0.18) !important;
	color: #fff !important;
}

.ify-cielo-fields select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.65) 50%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.65) 50%, transparent 50%),
		linear-gradient(to right, #bf52ff1a, #33bbff1a) !important;
	background-position:
		calc(100% - 18px) calc(50% + 2px),
		calc(100% - 12px) calc(50% + 2px),
		0 0;
	background-size: 6px 6px, 6px 6px, 100% 100%;
	background-repeat: no-repeat;
	padding-right: 2rem;
}

.ify-cielo-fields select option {
	background: #0b0434;
	color: #fff;
}

/* Autofill match dark fields */
.ify-cielo-fields input:-webkit-autofill,
.ify-cielo-fields input:-webkit-autofill:hover,
.ify-cielo-fields input:-webkit-autofill:focus {
	-webkit-text-fill-color: #fff;
	transition: background-color 99999s ease-in-out 0s;
	box-shadow: 0 0 0 1000px #1a0a3d inset !important;
	border: 1px solid #bf52ff33 !important;
}

@media (max-width: 575px) {
	.ify-cielo-fields {
		grid-template-columns: 1fr;
	}

	.ify-cielo-fields .form-row-first,
	.ify-cielo-fields .form-row-last {
		grid-column: 1 / -1;
	}
}

/* Blocks checkout (if restored later) */
.ify-cielo-blocks-fields {
	margin-top: 0.75rem;
	display: grid;
	gap: 12px;
}

.ify-cielo-blocks-desc {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.95rem;
}

.ify-cielo-blocks-row label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.92);
}

.ify-cielo-blocks-row input,
.ify-cielo-blocks-row select {
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0.7rem 0.75rem;
	border-radius: 10px;
	background: linear-gradient(to right, #bf52ff1a, #33bbff1a);
	border: 1px solid #bf52ff33;
	color: #fff;
	box-shadow: none;
}

.ify-cielo-blocks-row--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

/* Apple Pay / Google Pay wallet buttons (classic + Blocks checkout) */
.ify-cielo-wallet-fields {
	margin: 0;
	padding: 0;
	border: 0;
}

.ify-cielo-wallet-button {
	min-height: 44px;
	max-width: 320px;
}

.ify-cielo-wallet-hint {
	margin: 0.6rem 0 0;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.85rem;
}

.ify-cielo-wallet-unsupported {
	margin: 0;
	color: #ffd3a0;
	border: 1px solid rgba(255, 166, 79, 0.35);
	background: rgba(255, 166, 79, 0.1);
	border-radius: 10px;
	padding: 0.7rem 0.85rem;
	font-size: 0.88rem;
	line-height: 1.4;
}

.ify-cielo-applepay-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 320px;
	min-height: 44px;
	padding: 0.6rem 1rem;
	border-radius: 8px;
	border: 0;
	background: #000;
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
}

.ify-cielo-applepay-btn:hover {
	background: #1a1a1a;
}
