/* Formulari d'accés · educAAlergicus (fa servir els colors del tema si hi són) */
.camp-ap {
	--ap-tinta: var(--wp--preset--color--xocolata, #4A3732);
	--ap-suau: var(--wp--preset--color--cafe, #6E5650);
	--ap-fons: var(--wp--preset--color--crema, #FBF5F1);
	--ap-accent: var(--wp--preset--color--salmo, #F0B4A8);
	--ap-accent-text: var(--wp--preset--color--salmo-text, #9C4F42);
	--ap-ombra: var(--wp--preset--color--pressec, #F3E3D3);
	color: var(--ap-tinta);
}
.camp-ap p { margin: 0; }
.camp-ap__form {
	display: grid;
	gap: 1.1rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	border: 1.5px solid var(--ap-tinta);
	border-radius: 22px;
	background: #FFFFFF;
	box-shadow: 6px 6px 0 var(--ap-ombra);
}
.camp-ap__camp { display: grid; gap: 0.4rem; }
.camp-ap label { font-weight: 800; font-size: 1rem; }
.camp-ap input[type="text"], .camp-ap input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	min-height: 3rem;
	padding: 0.65rem 0.9rem;
	border: 1.5px solid #C9B3B0;
	border-radius: 12px;
	background: var(--ap-fons);
	font: inherit;
	font-size: 1.0625rem;
	color: var(--ap-tinta);
}
.camp-ap input:focus-visible { outline: 3px solid var(--ap-accent); outline-offset: 1px; border-color: var(--ap-tinta); background: #FFFFFF; }
.camp-ap__clau { position: relative; display: block; }
.camp-ap__clau input { padding-right: 5.5rem !important; }
.camp-ap__veure {
	position: absolute; right: 0.35rem; top: 50%; transform: translateY(-50%);
	min-height: 2.5rem; padding: 0 0.8rem; border: 0; border-radius: 9px; background: none;
	font: inherit; font-size: 0.9375rem; font-weight: 800; color: var(--ap-accent-text); cursor: pointer;
}
.camp-ap__veure:hover { background: #F9DDD6; }
.camp-ap__fila { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem; }
.camp-ap label.camp-ap__recorda { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-weight: 600; font-size: 0.9375rem; cursor: pointer; }
.camp-ap__recorda input { width: 1.2rem; height: 1.2rem; accent-color: var(--ap-tinta); }
.camp-ap__oblit, .camp-ap__peu a { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 800; font-size: 0.9375rem; color: var(--ap-accent-text); }
.camp-ap__boto {
	display: inline-flex; align-items: center; justify-content: center; width: 100%;
	min-height: 3rem; padding: 0.7rem 1.75rem; border: 0; border-radius: 999px;
	background: var(--ap-tinta); color: #FFFFFF !important; font: inherit; font-size: 1.0625rem; font-weight: 900;
	text-decoration: none; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.camp-ap__boto:hover { transform: translateY(-2px); box-shadow: 4px 4px 0 var(--ap-accent); }
.camp-ap__boto:focus-visible { outline: 3px solid var(--ap-accent); outline-offset: 3px; }
.camp-ap__boto[disabled] { opacity: 0.7; cursor: default; transform: none; box-shadow: none; }
.camp-ap__avis { margin-bottom: 1rem !important; padding: 0.8rem 1rem; border-radius: 12px; background: #D6E8DC; font-weight: 700; }
.camp-ap__avis--error { background: #F9DDD6; color: #7A3328; }
.camp-ap > p:not(.camp-ap__avis) + p { margin-top: 0.75rem; }
@media (prefers-reduced-motion: reduce) { .camp-ap__boto { transition: none; } .camp-ap__boto:hover { transform: none; } }
/* Pàgina d'accés sola: ocupa tota la pantalla */
.camp-ap-cos .camp-ap-pagina { min-height: 100vh; min-height: 100dvh; }
