/* =========================================================================
   ADG Directorio · Formulario general de consulta (/consulta) · 1.21.0
   Maqueta: Plantilla_Formulario_Consulta_General.html (en tuteo).
   Paleta: claude/sistema-de-diseno-divi.md (la misma que listado.css).
   Reparto (D85): el plugin pone el aspecto de la tarjeta; Divi, la anchura
   de la fila y los rellenos de la sección.
   ====================================================================== */

.adg-cg {
	--adg-ink: #1c1d24;
	--adg-indigo: #26314a;
	--adg-red: #8c2733;
	--adg-red-hi: #a5344a;
	--adg-red-ink: #6d1c2a;
	--adg-paper-2: #f4eee6;
	--adg-line: #dbd2c4;
	--adg-mute: #8a8069;
	--adg-serif: "Georgia", "Times New Roman", serif;

	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--adg-line);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(26, 31, 43, .05), 0 8px 28px rgba(26, 31, 43, .08);
	padding: 26px 26px 22px;
	color: var(--adg-ink);
	font-size: 15px;
	line-height: 1.5;
}

.adg-cg *,
.adg-cg *::before,
.adg-cg *::after {
	box-sizing: border-box;
}

/* Campo trampa fuera de la pantalla (no con display:none: algunos robots
   se saltan los campos ocultos). aria-hidden lo quita a los lectores. */
.adg-cg .adg-cg-trampa {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.adg-cg-campo {
	margin: 0 0 17px;
}

.adg-cg-campo label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #4a4335;
	margin: 0 0 6px;
	padding: 0;
}

.adg-cg-req {
	color: var(--adg-red);
}

.adg-cg-opc {
	font-weight: 400;
	font-style: italic;
	color: var(--adg-mute);
}

.adg-cg .adg-cg-campo input,
.adg-cg .adg-cg-campo textarea {
	display: block;
	width: 100%;
	font: inherit;
	font-size: 15px;
	line-height: 1.5;
	color: var(--adg-ink);
	background: var(--adg-paper-2);
	border: 1px solid var(--adg-line);
	border-radius: 10px;
	padding: 11px 13px;
	margin: 0;
	box-shadow: none;
}

.adg-cg .adg-cg-campo textarea {
	min-height: 150px;
	resize: vertical;
}

.adg-cg .adg-cg-campo input:focus,
.adg-cg .adg-cg-campo textarea:focus {
	outline: 2px solid var(--adg-indigo);
	outline-offset: 1px;
	background: #fff;
}

.adg-cg .adg-cg-campo input[aria-invalid="true"],
.adg-cg .adg-cg-campo textarea[aria-invalid="true"] {
	border-color: var(--adg-red);
	background: #fdf4f4;
}

/* La ayuda va debajo del campo (correo y teléfono) o entre etiqueta y caja
   (consulta, para que se lea antes de escribir). */
.adg-cg-ayuda {
	display: block;
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--adg-mute);
	margin: 5px 0 0;
}

.adg-cg-campo label + .adg-cg-ayuda {
	margin: 0 0 7px;
}

.adg-cg-err {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--adg-red-ink);
	margin: 6px 0 0;
}

.adg-cg-err:empty {
	display: none;
}

/* Casilla de consentimiento: separada de la política, legible entera. */
.adg-cg-acepto {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 6px 11px;
	align-items: start;
	background: var(--adg-paper-2);
	border: 1px solid var(--adg-line);
	border-radius: 11px;
	padding: 14px 16px;
	margin: 4px 0 18px;
}

.adg-cg .adg-cg-acepto input {
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--adg-red);
}

.adg-cg-acepto label {
	font-size: 13.5px;
	line-height: 1.6;
	color: #3a3324;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

.adg-cg-acepto a {
	color: var(--adg-indigo);
	font-weight: 600;
	text-decoration: underline;
	white-space: nowrap;
}

.adg-cg-acepto .adg-cg-err {
	grid-column: 2;
	margin: 0;
}

.adg-cg-acepto:has([aria-invalid="true"]) {
	border-color: var(--adg-red);
}

.adg-cg .adg-cg-enviar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	background: var(--adg-red);
	border: 0;
	border-radius: 11px;
	padding: 14px 28px;
	margin: 0;
	cursor: pointer;
}

.adg-cg .adg-cg-enviar:hover,
.adg-cg .adg-cg-enviar:focus-visible {
	background: var(--adg-red-hi);
}

.adg-cg .adg-cg-enviar:disabled {
	opacity: .6;
	cursor: wait;
}

.adg-cg .adg-cg-msg {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--adg-red-ink);
	margin: 12px 0 0;
	padding: 0;
}

.adg-cg .adg-cg-msg:empty {
	display: none;
}

.adg-cg .adg-cg-legal {
	font-size: 12px;
	line-height: 1.45;
	color: var(--adg-mute);
	margin: 12px 0 0;
	padding: 0;
}

/* Enviada */
.adg-cg-ok {
	background: #eef6f1;
	border: 1px solid #bcd9c8;
	border-radius: 11px;
	padding: 18px 20px;
	color: #2f6b4f;
}

.adg-cg-ok:focus {
	outline: none;
}

.adg-cg .adg-cg-ok p {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.55;
}

.adg-cg .adg-cg-ok .adg-cg-ok-tit {
	font-family: var(--adg-serif);
	font-size: 19px;
	font-weight: 600;
	color: #24563f;
	margin: 0 0 4px;
}

.adg-cg-ok[hidden],
.adg-cg-form[hidden] {
	display: none;
}

@media (max-width: 640px) {
	.adg-cg {
		padding: 20px 18px 18px;
	}
	.adg-cg .adg-cg-enviar {
		width: 100%;
	}
}
