/*
 * Protector de Contenido — frontend.
 * Estilo mínimo y transparente: sin fondo, sin bordes de contenedor ni sombras.
 * Hereda tipografía y colores del tema/Elementor. Ajusta las variables si quieres.
 */
.pcs-box {
	--pcs-accent: var(--e-global-color-accent, #222); /* color del botón: usa el "Acento" global de Elementor si existe */
	--pcs-accent-ink: #fff;          /* color del texto del botón */
	--pcs-input-border: rgba(127, 127, 127, .45);
	--pcs-gap: 1rem;

	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;          /* evita que contenedores flex/grid de Elementor lo ensanchen */
	overflow-wrap: anywhere; /* e-mails y textos largos no empujan el ancho */
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: inherit;
	font: inherit;
}
.pcs-box *, .pcs-box *::before, .pcs-box *::after { box-sizing: border-box; max-width: 100%; }
.pcs-box form, .pcs-box .pcs-field { width: 100%; min-width: 0; margin-left: 0; margin-right: 0; }
.pcs-box p { margin: 0 0 var(--pcs-gap); }

.pcs-restricted__title, .pcs-account__title { margin: 0 0 .5em; }
.pcs-box .pcs-restricted__title { font-size: 30px; }

.pcs-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 var(--pcs-gap); }
@media (max-width: 767px) { .pcs-row { grid-template-columns: minmax(0, 1fr); } }

.pcs-field label { display: block; margin-bottom: .35em; }
.pcs-field input[type="text"],
.pcs-field input[type="email"],
.pcs-field input[type="password"] {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: .6em .75em;
	border: 1px solid var(--pcs-input-border);
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
}
.pcs-field input[type="checkbox"] { flex: 0 0 auto; width: auto; margin: 0; }

/* En móvil: inputs a 16px como mínimo para que iOS no haga zoom
   (el zoom automático provoca el desplazamiento lateral). */
@media (max-width: 767px) {
	.pcs-field input[type="text"],
	.pcs-field input[type="email"],
	.pcs-field input[type="password"] { font-size: max(16px, 1em); }
	.pcs-actions .pcs-button { flex: 1 1 auto; text-align: center; }
}
.pcs-field small { display: block; margin-top: .3em; }
.pcs-field--check label { display: inline-flex; align-items: center; gap: .5em; cursor: pointer; }

.pcs-actions { display: flex; align-items: center; gap: var(--pcs-gap); flex-wrap: wrap; }

.pcs-button {
	display: inline-block;
	padding: .65em 1.4em;
	border: 1px solid var(--pcs-accent);
	border-radius: 0;
	background: var(--pcs-accent);
	color: var(--pcs-accent-ink);
	font: inherit;
	line-height: 1.2;
	max-width: 100%;
	white-space: normal;
	text-decoration: none;
	cursor: pointer;
}
.pcs-button:hover, .pcs-button:focus { opacity: .85; }
.pcs-muted, .pcs-link { opacity: .75; }

.pcs-notice { padding: .6em 0 .6em .9em; margin: 0 0 var(--pcs-gap); border-left: 3px solid currentColor; background: transparent; }
.pcs-notice ul { margin: 0; padding-left: 1.1em; }
.pcs-notice--error { color: #c62828; }
.pcs-notice--success { color: #2e7d32; }
.pcs-notice a { margin-left: .5em; }
