/* ─────────────────────────────────────────────────────────
   Simulator Checkout — checkout.css
   ───────────────────────────────────────────────────────── */

.sco-checkout-wrap {
	max-width: 540px;
	margin: 40px auto;
	font-family: inherit;
}

/* Resumen del plan */
.sco-plan-summary {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 28px 32px;
	margin-bottom: 28px;
	text-align: center;
}
.sco-plan-summary h2 {
	margin: 0 0 12px;
	font-size: 1.25rem;
	color: #1e293b;
}
.sco-price-original {
	font-size: 1.1rem;
	color: #94a3b8;
	text-decoration: line-through;
	margin-bottom: 2px;
}
.sco-price {
	font-size: 2.5rem;
	font-weight: 700;
	color: #1a56db;
	margin-bottom: 6px;
}
.sco-plan-meta {
	color: #64748b;
	font-size: 0.875rem;
	margin: 0;
}

/* Formulario */
.sco-form {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 32px;
}

.sco-field {
	margin-bottom: 24px;
}
.sco-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	color: #1e293b;
	font-size: 0.95rem;
}
.required { color: #ef4444; }

.sco-field input[type="email"],
.sco-field select {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 1rem;
	color: #1e293b;
	background: #fff;
	transition: border-color 0.2s;
	box-sizing: border-box;
}
.sco-field input[type="email"]:focus,
.sco-field select:focus {
	outline: none;
	border-color: #1a56db;
	box-shadow: 0 0 0 3px rgba(26,86,219,0.12);
}

.sco-hint {
	font-size: 0.8rem;
	color: #64748b;
	margin: 6px 0 0;
}

/* Usuario logueado */
.sco-logged-as {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 0.9rem;
	color: #166534;
	margin-bottom: 24px;
}

/* Convocatorias */
.sco-convocatorias {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 10px;
}
.sco-conv-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border: 2px solid #e2e8f0;
	border-radius: 8px;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}
.sco-conv-option:hover {
	border-color: #93c5fd;
	background: #eff6ff;
}
.sco-conv-option input[type="radio"] {
	margin-top: 3px;
	flex-shrink: 0;
	accent-color: #1a56db;
}
.sco-conv-option:has(input:checked) {
	border-color: #1a56db;
	background: #eff6ff;
}
.sco-conv-label {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.sco-conv-label strong {
	font-size: 0.95rem;
	color: #1e293b;
}
.sco-conv-label small {
	font-size: 0.8rem;
	color: #64748b;
}

/* Botón de pago */
.sco-submit {
	text-align: center;
	margin-top: 8px;
}
.sco-btn-pay {
	display: inline-block;
	width: 100%;
	padding: 14px 28px;
	background: #009ee3;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
}
.sco-btn-pay:hover  { background: #0081c2; }
.sco-btn-pay:active { transform: scale(0.99); }
.sco-btn-pay:disabled { background: #94a3b8; cursor: not-allowed; }
.sco-secure {
	font-size: 0.8rem;
	color: #64748b;
	margin-top: 10px;
}

/* Mensajes */
.sco-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	padding: 12px 16px;
	color: #991b1b;
	margin-bottom: 20px;
	font-size: 0.9rem;
}
.sco-notice { border-radius: 8px; padding: 12px 16px; margin-bottom: 20px; font-size: 0.9rem; }
.sco-notice--warning { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }

/* ── Selector de método de pago ──────────────────────────────────────── */
.sco-payment-method-field label { font-weight: 600; }
.sco-method-options { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.sco-method-option {
	display: flex; align-items: center; gap: 12px;
	padding: 14px 16px; border: 2px solid #e2e8f0; border-radius: 8px;
	cursor: pointer; transition: border-color .2s, background .2s;
}
.sco-method-option:hover { border-color: #93c5fd; background: #eff6ff; }
.sco-method-option:has(input:checked),
.sco-method-selected { border-color: #1a56db; background: #eff6ff; }
.sco-method-option input[type="radio"] { flex-shrink: 0; accent-color: #1a56db; }
.sco-method-icon { font-size: 1.4rem; flex-shrink: 0; }
.sco-method-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.sco-method-info strong { font-size: .95rem; color: #1e293b; }
.sco-method-info small { font-size: .78rem; color: #64748b; }
.sco-method-price { font-weight: 700; font-size: 1.05rem; color: #1e293b; white-space: nowrap; }
.sco-method-price--promo { color: #16a34a; }

/* ── Panel de datos de transferencia ──────────────────────────────────── */
.sco-transfer-box {
	background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px;
	padding: 20px 24px; margin-top: 4px;
}
.sco-transfer-box h4 { margin: 0 0 12px; color: #166534; font-size: 1rem; }
.sco-transfer-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.sco-transfer-table td { padding: 5px 8px; vertical-align: top; }
.sco-transfer-table td:first-child { color: #64748b; width: 80px; }
.sco-transfer-table code { font-size: .85rem; background: #dcfce7; padding: 1px 5px; border-radius: 3px; }
.sco-transfer-message { margin-top: 14px; font-size: .85rem; color: #166534; font-style: italic; }

/* ── Panel de éxito transferencia (reemplaza el form tras confirmar) ─── */
.sco-transfer-success {
	background: #f0fdf4; border: 2px solid #16a34a; border-radius: 12px;
	padding: 32px; text-align: center;
}
.sco-transfer-success h3 { color: #166534; margin: 0 0 8px; }
.sco-transfer-success .sco-transfer-box { text-align: left; margin-top: 20px; }
.sco-transfer-expire { font-size: .82rem; color: #6b7280; margin-top: 12px; }

/* ── Campo de código de descuento ──────────────────────────────────────── */
.sco-discount-field label { font-weight: 600; }
.sco-discount-row { display: flex; gap: 8px; margin-top: 8px; }
.sco-discount-input { flex: 1; padding: 10px 14px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 1rem; text-transform: uppercase; }
.sco-btn-secondary { padding: 10px 18px; background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 8px; font-size: .9rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.sco-btn-secondary:hover { background: #e2e8f0; }
#sco-discount-result { margin-top: 8px; padding: 8px 12px; border-radius: 6px; font-size: .88rem; }
.sco-discount-ok  { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.sco-discount-err { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
