/* FEDEGES - estilos unificados de los formularios del front end.
   Rejilla simetrica, bordes marcados, responsive. */
.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual,
.fedeges-estadistica,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo,
.fedeges-verificar-licencia,.fedeges-torneos-listado,.fluentform{
	--fe-borde:#2b2b2b;--fe-grosor:2px;--fe-radio:4px;--fe-alto:46px;--fe-hueco:16px;
}

/* ---------- Formularios del plugin (filas <p> con uno o varios campos) ---------- */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p{
	display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px var(--fe-hueco);margin:0 0 18px;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p>label{
	flex:1 1 220px;display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-weight:600;line-height:1.3;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p>label:has(>input[type=radio],>input[type=checkbox]){
	flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;font-weight:400;margin:0 8px 0 0!important;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p>label:has(>input[type=checkbox]){flex:1 1 100%;}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p>strong,
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p>em{flex:1 1 100%;}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p:has(>strong+label>input[type=radio]) >strong{flex:0 0 auto;}

/* ---------- Campos (todos los formularios) ---------- */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual,.fedeges-estadistica,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo,.fedeges-verificar-licencia) :is(input[type=text],input[type=email],input[type=date],input[type=number],input[type=tel],input[type=search],select,textarea),
body .fluentform :is(.ff-el-form-control,select.ff-el-form-control){
	box-sizing:border-box;width:100%;min-height:var(--fe-alto);height:auto;margin:0!important;padding:8px 12px;
	border:var(--fe-grosor) solid var(--fe-borde);border-radius:var(--fe-radio);
	background-color:#fff;color:#111;font-family:inherit;font-size:16px;line-height:1.3;box-shadow:none;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual,.fedeges-estadistica,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo,.fedeges-verificar-licencia) textarea,
body .fluentform textarea.ff-el-form-control{min-height:110px;}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual,.fedeges-estadistica,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo,.fedeges-verificar-licencia) :is(input,select,textarea):focus,
body .fluentform .ff-el-form-control:focus{
	border-color:#000;outline:3px solid rgba(0,86,179,.35);outline-offset:1px;box-shadow:none;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) :is(input[type=radio],input[type=checkbox]),
body .fluentform :is(input[type=radio],input[type=checkbox]){
	width:20px;height:20px;min-height:0;margin:0!important;accent-color:#111;flex:0 0 auto;
}
body .fluentform input[type=file].ff-el-form-control{padding:10px 12px;}

/* ---------- Formularios de filtro (get): selectores y boton en una fila ---------- */
body :is(.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-estadistica,.fedeges-informe-torneo) form:not(:has(p)){
	display:flex;flex-wrap:wrap;align-items:center;gap:12px var(--fe-hueco);margin:0 0 18px;
}
body :is(.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-estadistica,.fedeges-informe-torneo) form:not(:has(p)) :is(select,input[type=email],input[type=text],input[type=search]){
	flex:1 1 170px;width:auto;min-width:0;
}
body :is(.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-estadistica,.fedeges-informe-torneo) form:not(:has(p)) :is(input[type=text],input[type=search],input[type=email]){flex:2 1 260px;}
body :is(.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-estadistica,.fedeges-informe-torneo) form:not(:has(p)) button:not(.button-link){
	flex:0 0 auto;min-height:var(--fe-alto);padding:0 26px;border:var(--fe-grosor) solid var(--fe-borde);border-radius:var(--fe-radio);
	background:#0000ff;color:#fff;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;
}

/* ---------- Etiquetas de Fluent Forms ---------- */
body .fluentform .ff-el-input--label label{font-weight:600;margin-bottom:6px;}
body .fluentform .ff-el-group{margin-bottom:18px;}
body .fluentform .ff-t-container{gap:var(--fe-hueco);}
body .fluentform .ff-t-cell{padding:0;}

/* ---------- Botones ---------- */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual,.fedeges-estadistica,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo,.fedeges-verificar-licencia) :is(button.button,button[type=submit],input[type=submit]):not(.button-link),
body .fluentform :is(.ff-btn,.ff-btn-submit,.ff-btn-next,.ff-btn-prev){
	min-height:var(--fe-alto);padding:0 26px;border:var(--fe-grosor) solid var(--fe-borde);border-radius:var(--fe-radio);
	font-size:16px;font-weight:700;cursor:pointer;
}

/* ---------- Caja de alta de atleta nuevo y avisos ---------- */
/* Descripciones y avisos: texto simple, sin chenar (solo los campos llevan borde) */
body #fedeges-grupo-alta{border:0!important;border-radius:0;padding:0!important;margin:12px 0 18px!important;background:none!important;}
body .fedeges-notice{border:0!important;border-radius:0;background:none!important;padding:0!important;margin:0 0 18px;color:#444;font-size:15px;line-height:1.5;}

/* ---------- Tablas ---------- */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo,.fedeges-estadistica,.fedeges-torneos-listado,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo) table{
	width:100%;border-collapse:collapse;border:var(--fe-grosor) solid var(--fe-borde);margin:0 0 18px;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo,.fedeges-estadistica,.fedeges-torneos-listado,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo) :is(th,td){
	border:1px solid var(--fe-borde)!important;padding:8px 10px;text-align:left;vertical-align:middle;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo,.fedeges-estadistica,.fedeges-torneos-listado,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-informe-torneo) th{background:#ececec!important;font-weight:700;}

/* ---------- Movil ---------- */
@media (max-width:640px){
	body :is(.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-estadistica,.fedeges-informe-torneo) form:not(:has(p)) :is(select,input,button){flex:1 1 100%!important;width:100%;}
	body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p>label{flex-basis:100%;}
	body :is(.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-estadistica,.fedeges-informe-torneo) form:not(:has(p)) :is(select,input,button){flex:1 1 100%;width:100%;}
	body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form button[type=submit]{width:100%;}
	body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo,.fedeges-estadistica,.fedeges-torneos-listado) table{display:block;overflow-x:auto;max-width:100%;}
	body .fedeges-informe-torneo table{display:block;overflow-x:auto;max-width:100%;}
	body .fedeges-informe-torneo table>tbody{display:table;min-width:100%;}
	body .fedeges-informe-torneo :is(th,td){font-size:13px;padding:6px 7px;word-break:normal;overflow-wrap:normal;}
	body :is(.fedeges-licenciados,.fedeges-clubes-licenciados) table{min-width:560px;}
}

/* ---------- Estadistica: DNI + boton en una fila ---------- */
body .fedeges-estadistica form p{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px var(--fe-hueco);margin:0 0 18px;}
body .fedeges-estadistica form p>label{flex:1 1 260px;display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-weight:600;line-height:1.3;}
body .fedeges-estadistica form p>button{flex:0 0 auto;}
@media (max-width:640px){body .fedeges-estadistica form p>label,body .fedeges-estadistica form p>button{flex-basis:100%;width:100%;}}

/* Filas con opciones de radio: texto y circulos centrados */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p:has(>label>input[type=radio]){align-items:center;}

/* Botones con aspecto de enlace (Quitar, Salir) */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo,.fedeges-torneo-individual,.fedeges-licencia-individual) button.button-link{
	background:none!important;border:0!important;box-shadow:none!important;padding:4px 0!important;min-height:0!important;width:auto!important;
	color:#0000ff;font:inherit;font-size:15px;text-decoration:underline;cursor:pointer;
}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo,.fedeges-torneo-individual,.fedeges-licencia-individual) form+form{margin-top:14px;}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-equipo) table button.button-link{font-size:14px;}

/* Fila campo + opciones de radio (p. ej. fecha de nacimiento + sexo): misma rejilla de 2 columnas, radios a la altura del campo */
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p:has(>label>input[type=radio]){align-items:flex-end;line-height:var(--fe-alto);}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p:has(>label>input[type=radio])>label:has(>input[type=radio]){min-height:var(--fe-alto);}
body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p:has(>label>input[type=radio])>label:not(:has(input[type=radio])){flex:0 0 calc(50% - 8px);}
@media (max-width:640px){
	body :is(.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo,.fedeges-licencia-individual) form p:has(>label>input[type=radio])>label:not(:has(input[type=radio])){flex:0 0 100%;}
}

/* Botones-enlace (Descargar PDF, Inscribirme...) con la misma altura que el resto */
body :is(.fedeges-informe-torneo,.fedeges-torneos-listado,.fedeges-licenciados,.fedeges-clubes-licenciados,.fedeges-grupo-licencia,.fedeges-torneo-individual,.fedeges-torneo-equipo) a.button{
	display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--fe-alto);padding:0 26px;
	border:var(--fe-grosor) solid var(--fe-borde);border-radius:var(--fe-radio);font-size:16px;font-weight:700;line-height:1.2;
}
body .fedeges-torneos-listado a.button{min-height:38px;padding:0 16px;font-size:15px;}
body .fedeges-informe-torneo>p{margin:0 0 14px;}

/* Tarjeta de licencia digital */
body .fedeges-licencia-digital{border:var(--fe-grosor) solid var(--fe-borde)!important;border-radius:6px!important;padding:20px!important;box-sizing:border-box;}
@media (max-width:640px){body .fedeges-licencia-digital>div{flex-wrap:wrap;}}
