/* Socios FA54 · formulario de alta (web pública). Hereda la tipografía del tema. */
.fa54-alta-form, .fa54-alta { --fa54-accent: #e11d48; --fa54-line: #dfe3ea; }
.fa54-alta-form { max-width: 760px; margin: 0 auto 2em; padding: 24px; border: 1px solid var(--fa54-line); border-radius: 16px; background: #fff; box-shadow: 0 6px 24px rgba(15, 23, 42, .06); }
.fa54-alta-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--fa54-line); }
.fa54-alta-head strong { display: block; font-size: 1.15em; }
.fa54-alta-head span { display: block; opacity: .7; font-size: .9em; }
.fa54-alta-precio { flex: none; padding: 6px 14px; border-radius: 99px; background: var(--fa54-accent); color: #fff; font-weight: 700; opacity: 1 !important; }
.fa54-alta { margin: 0 0 1.2em; }
.fa54-alta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.fa54-alta label { display: flex; flex-direction: column; gap: 5px; margin: 0; font-weight: 600; font-size: .92em; }
.fa54-alta label span { font-weight: 400; opacity: .65; }
.fa54-alta .fa54-full { grid-column: 1 / -1; }
.fa54-alta input[type=text], .fa54-alta input[type=email], .fa54-alta input[type=tel], .fa54-alta input[type=date], .fa54-alta select {
	width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--fa54-line); border-radius: 10px; background: #fff; font: inherit; font-weight: 400; box-sizing: border-box;
}
.fa54-alta input:focus, .fa54-alta select:focus { outline: none; border-color: var(--fa54-accent); box-shadow: 0 0 0 3px rgba(225, 29, 72, .12); }
.fa54-tutor { margin: 16px 0; padding: 12px 14px 14px; border: 1px dashed var(--fa54-line); border-radius: 12px; }
.fa54-tutor legend { padding: 0 6px; font-size: .85em; opacity: .75; }
.fa54-alta .fa54-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; }
.fa54-alta .fa54-check input { margin-top: 3px; }
.fa54-alta-btn { width: 100%; min-height: 48px; border: 0; border-radius: 12px; background: var(--fa54-accent) !important; color: #fff !important; font-weight: 700; font-size: 1em; cursor: pointer; }
.fa54-alta-btn:hover { filter: brightness(.95); }
.fa54-otro-socio { margin: 1em 0; }
@media (max-width: 600px) {
	.fa54-alta-form { padding: 16px; }
	.fa54-alta-grid { grid-template-columns: 1fr; }
	.fa54-alta-head { flex-direction: column; align-items: flex-start; }
}
