/* Comprobante de transferencia – checkout */
.wccpt-box {
	--wccpt-border: rgba(0, 0, 0, 0.14);
	--wccpt-soft: rgba(0, 0, 0, 0.04);
	--wccpt-ok: #1e7e34;
	--wccpt-err: #b3261e;
	margin: 1em 0 0;
	padding: 1em 1.1em;
	border: 1px solid var(--wccpt-border);
	border-radius: 10px;
	background: #fff;
	color: #1f1f1f;
	font-size: 0.95em;
	line-height: 1.45;
	text-align: left;
}
.wccpt-box[hidden],
.wccpt-box [hidden] { display: none !important; }
.wccpt-box * { box-sizing: border-box; }
.wccpt-box p { margin: 0 0 0.75em; }

.wccpt-title { font-weight: 700; font-size: 1.05em; margin-bottom: 0.35em !important; }
.wccpt-instructions,
.wccpt-proof-help,
.wccpt-single-note { color: #555; font-size: 0.95em; }

.wccpt-field { margin: 0 0 1em; }
.wccpt-label { display: block; margin: 0 0 0.35em; font-weight: 600; font-size: 0.95em; }

.wccpt-box select.wccpt-bank-select,
.wccpt-box input.wccpt-number {
	width: 100%;
	min-height: 2.75em;
	padding: 0.55em 0.75em;
	border: 1px solid var(--wccpt-border);
	border-radius: 6px;
	background-color: #fff;
	color: inherit;
	font: inherit;
}
.wccpt-box select.wccpt-bank-select:focus,
.wccpt-box input.wccpt-number:focus { outline: 2px solid currentColor; outline-offset: 1px; }

/* Datos de la cuenta */
.wccpt-account-details {
	display: grid;
	gap: 0.4em;
	margin: 0 0 1em;
	padding: 0.8em 1em;
	border-radius: 8px;
	background: var(--wccpt-soft, rgba(0, 0, 0, 0.04));
}
.wccpt-account-details .wccpt-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.2em 0.75em;
	margin: 0;
}
.wccpt-account-details dt { margin: 0; font-weight: 400; color: #666; }
.wccpt-account-details dd {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0;
	font-weight: 600;
	text-align: right;
	word-break: break-word;
}
.wccpt-copy {
	display: inline-block;
	margin: 0;
	padding: 0.15em 0.6em;
	border: 1px solid rgba(0, 0, 0, 0.25);
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font-size: 0.78em;
	font-weight: 500;
	line-height: 1.5;
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
.wccpt-copy:hover { background: rgba(0, 0, 0, 0.06); }
.wccpt-copy.is-copied { border-color: #1e7e34; color: #1e7e34; }

/* Registro del pago */
.wccpt-proof { margin-top: 0.25em; padding-top: 0.9em; border-top: 1px dashed var(--wccpt-border); }
.wccpt-proof-title { font-weight: 700; margin-bottom: 0.2em !important; }

.wccpt-dropzone {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.2em;
	padding: 1.1em 1em;
	border: 2px dashed rgba(0, 0, 0, 0.22);
	border-radius: 10px;
	background: #fff;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s;
}
.wccpt-dropzone:hover,
.wccpt-dropzone:focus-within,
.wccpt-dropzone.is-dragover { border-color: currentColor; background: var(--wccpt-soft, rgba(0, 0, 0, 0.04)); }
.wccpt-dropzone:focus-within { outline: 2px solid currentColor; outline-offset: 2px; }
.wccpt-box .wccpt-file-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
	font-size: 0;
}
.wccpt-drop-icon { display: block; line-height: 0; opacity: 0.7; }
.wccpt-drop-main { font-weight: 600; }
.wccpt-drop-hint { font-size: 0.85em; color: #666; }

.wccpt-file-card {
	display: flex;
	align-items: center;
	gap: 0.75em;
	padding: 0.6em;
	border: 1px solid var(--wccpt-border);
	border-radius: 10px;
	background: #fff;
}
.wccpt-file-thumb { flex: none; width: 56px; height: 56px; object-fit: cover; border-radius: 6px; margin: 0 !important; }
.wccpt-file-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 6px;
	background: #c62828;
	color: #fff;
	font-size: 0.8em;
	font-weight: 700;
}
.wccpt-file-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.25em; }
.wccpt-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.wccpt-file-state { font-size: 0.85em; color: #666; }
.wccpt-file-state.is-ok { color: var(--wccpt-ok, #1e7e34); font-weight: 600; }
.wccpt-progress { display: block; height: 4px; border-radius: 2px; background: rgba(0, 0, 0, 0.1); overflow: hidden; }
.wccpt-progress-bar { display: block; height: 100%; width: 0; background: currentColor; transition: width 0.2s; }
.wccpt-file-remove {
	flex: none;
	margin: 0;
	padding: 0.3em 0.4em;
	border: 0;
	background: none;
	color: var(--wccpt-err, #b3261e);
	font-size: 0.85em;
	text-decoration: underline;
	cursor: pointer;
	box-shadow: none;
}

.wccpt-error,
.wccpt-field-error p { margin: 0.4em 0 0 !important; color: var(--wccpt-err, #b3261e); font-size: 0.88em; }
.wccpt-box-errors {
	margin: 0 0 1em !important;
	padding: 0.6em 0.9em 0.6em 2em !important;
	border-radius: 8px;
	background: #fdecea;
	color: var(--wccpt-err, #b3261e);
	list-style: disc;
}
.wccpt-box-errors li { margin: 0.15em 0; }
.wccpt-field.has-error select,
.wccpt-field.has-error .wccpt-dropzone { border-color: var(--wccpt-err, #b3261e); }

/* Dentro de la caja de pago del checkout clásico */
.payment_box .wccpt-box { margin-top: 0.75em; }
.payment_box .wccpt-box::before { display: none !important; }

/* Checkout de bloques */
.wccpt-blocks-host { margin-top: 0.75em; }
.wccpt-blocks-inline { margin: 1em 0; }
.wccpt-box.wccpt-blocks .wc-block-components-text-input { margin-top: 0; }

/* Página de gracias / Mi cuenta */
.wccpt-order-details { margin: 2em 0; }
.wccpt-order-details .wccpt-order-sub { margin: 0 0 0.4em; font-weight: 600; }
.wccpt-order-details .wccpt-account-details { max-width: 560px; }
.wccpt-order-proof { margin: 0 0 1em; padding: 0; list-style: none; }
.wccpt-order-proof li { margin: 0.25em 0; }
.wccpt-order-status { padding: 0.75em 1em; border-left: 3px solid currentColor; background: rgba(0, 0, 0, 0.04); }

@media (max-width: 480px) {
	.wccpt-box { padding: 0.9em; }
	.wccpt-account-details { padding: 0.7em 0.8em; }
	.wccpt-account-details .wccpt-row { flex-direction: column; align-items: flex-start; }
	.wccpt-account-details dd { text-align: left; }
}
