/* ---------------------------------------------------------------------------
   Popup de solicitud — inscripción y certificado.
   Calcado del mockup (#inscOverlay / #certOverlay de calendario.html): mismas
   medidas, mismos radios, mismos botones.
   --------------------------------------------------------------------------- */

.fgpc-mk .fgpc-modal,
.fgpc-modal{
	display:none; position:fixed; inset:0; background:rgba(0,0,0,.55);
	z-index:9999; align-items:center; justify-content:center; padding:20px;
	box-sizing:border-box;
}
.fgpc-modal.abierto{ display:flex; }

.fgpc-modal__caja{
	background:#fff; border-radius:14px; padding:28px; max-width:560px; width:100%;
	max-height:90vh; overflow-y:auto; box-shadow:0 20px 60px rgba(0,0,0,.3);
	font-family:var(--fgpc-sans,Inter,system-ui,sans-serif);
	-webkit-overflow-scrolling:touch;
}

.fgpc-modal__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.fgpc-modal__head h3{
	margin:0 0 4px; font-size:19px; font-weight:700;
	font-family:var(--fgpc-display,'Playfair Display',Georgia,serif); color:var(--fgpc-ink,#1C1C1A);
}
.fgpc-modal__head p{ margin:0; font-size:13px; color:var(--fgpc-ink2,#55554E); }
.fgpc-modal__x{
	background:none; border:0; cursor:pointer; padding:4px; line-height:1;
	color:var(--fgpc-ink2,#55554E); font-size:20px; flex:0 0 auto;
}
.fgpc-modal__x:hover{ color:var(--fgpc-ink,#1C1C1A); }

.fgpc-modal__torneo{
	margin:14px 0 20px; font-size:13px; font-style:italic; color:var(--fgpc-ink2,#55554E);
}

.fgpc-modal__grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.fgpc-modal__campo{ display:flex; flex-direction:column; gap:5px; }
.fgpc-modal__campo label{
	font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
	color:var(--fgpc-ink2,#55554E);
}
.fgpc-modal__campo input,
.fgpc-modal__campo textarea{
	border:1px solid var(--fgpc-line,#E2DCCF); border-radius:8px; padding:10px 12px;
	font-size:14px; font-family:inherit; color:var(--fgpc-ink,#1C1C1A); background:#fff;
	outline:none; transition:border-color .15s; width:100%; box-sizing:border-box;
}
.fgpc-modal__campo input:focus,
.fgpc-modal__campo textarea:focus{ border-color:var(--fgpc-pine,#1F3A2E); }
.fgpc-modal__campo--ancho{ grid-column:1 / -1; }

.fgpc-modal__trampa{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.fgpc-modal__acciones{ display:flex; gap:10px; margin-top:18px; }
.fgpc-modal__acciones button{
	flex:1; padding:12px; border-radius:8px; font-size:13.5px; font-weight:600;
	font-family:inherit; cursor:pointer; transition:background .15s;
}
.fgpc-modal__cancelar{
	background:var(--fgpc-paper,#FFF); border:1.5px solid var(--fgpc-line,#E2DCCF);
	color:var(--fgpc-ink2,#55554E);
}
.fgpc-modal__enviar{
	background:var(--fgpc-pine,#1F3A2E); border:1px solid var(--fgpc-pine,#1F3A2E); color:#fff;
}
.fgpc-modal__enviar:hover{ background:#1a5c3b; }
.fgpc-modal__enviar[disabled]{ opacity:.6; cursor:progress; }

.fgpc-modal__aviso{
	margin:14px 0 0; padding:11px 14px; border-radius:8px; font-size:13.5px; line-height:1.5;
	display:none;
}
.fgpc-modal__aviso.mal{ display:block; background:#FBEDEC; color:#9A3B33; border:1px solid #E9CFCC; }
.fgpc-modal__aviso.bien{ display:block; background:#EDF5F0; color:#1F3A2E; border:1px solid #CFE3D7; }

/* Con el teclado del celular abierto, dos columnas dejan campos de 120px. */
@media (max-width:560px){
	.fgpc-modal{ padding:0; align-items:flex-end; }
	.fgpc-modal__caja{ border-radius:14px 14px 0 0; max-height:94vh; padding:22px 20px 26px; }
	.fgpc-modal__grid{ grid-template-columns:1fr; }
}
