/* Correria Retirada de Kit — formulário público */
.crk-form, .crk-box {
	--crk-cor: #0a7ca3;
	--crk-cor-esc: #07617f;
	--crk-texto: #333;
	--crk-borda: #c9d3da;
	--crk-erro: #c62828;
	--crk-fundo: #fff;
	color: var(--crk-texto);
	font-size: 16px;
	line-height: 1.45;
	max-width: 760px;
	box-sizing: border-box;
}
.crk-form *, .crk-form *::before, .crk-form *::after { box-sizing: border-box; }
.crk-form [hidden] { display: none !important; }

.crk-titulo { margin: 0 0 18px; font-size: 1.3em; }

.crk-campo { margin: 0 0 22px; padding: 0; border: 0; min-width: 0; }
.crk-campo > label, .crk-campo > legend {
	display: block; font-weight: 700; margin: 0 0 6px; padding: 0; font-size: 1em;
}
.crk-req { color: var(--crk-erro); text-decoration: none; border: 0; }
.crk-ajuda { display: block; margin-top: 6px; color: #5f6b73; font-size: .85em; }

.crk-campo input[type=text], .crk-campo input[type=email], .crk-campo input[type=tel], .crk-campo select {
	display: block; width: 100%; padding: 12px 14px; font-size: 16px; color: inherit;
	background: var(--crk-fundo); border: 1px solid var(--crk-borda); border-radius: 10px;
	transition: border-color .15s, box-shadow .15s;
}
.crk-campo input:focus, .crk-campo select:focus {
	outline: none; border-color: var(--crk-cor); box-shadow: 0 0 0 3px rgba(10,124,163,.18);
}

/* Opções em cápsulas clicáveis */
.crk-pilulas { display: grid; gap: 10px; margin-top: 4px; }
.crk-pilulas.crk-curtas { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.crk-pilulas.crk-longas { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.crk-form .crk-pilula {
	position: relative; display: block; margin: 0; cursor: pointer; font-weight: 400 !important;
}
.crk-pilula input {
	position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none;
}
.crk-pilula span {
	display: flex; align-items: center; justify-content: center; min-height: 54px; height: 100%;
	padding: 10px 16px; text-align: center; line-height: 1.25;
	font-weight: 500 !important; font-size: .98em; color: #222;
	background: #fff; border: 1px solid #dcdcdc; border-radius: 16px;
	transition: border-color .15s, background .15s, box-shadow .15s, color .15s;
	-webkit-user-select: none; user-select: none;
}
.crk-pilula:hover span { border-color: var(--crk-cor); }
.crk-pilula input:focus-visible + span { outline: 3px solid rgba(10,124,163,.35); outline-offset: 2px; }
.crk-pilula input:checked + span {
	border-color: var(--crk-cor); background: #e8f4f8; color: var(--crk-cor-esc);
	box-shadow: inset 0 0 0 1px var(--crk-cor); font-weight: 700 !important;
}
.crk-invalido .crk-pilula span { border-color: #e7b3b3; }

.crk-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; cursor: pointer; }
.crk-check input { margin: 3px 0 0; width: 18px; height: 18px; flex: none; accent-color: var(--crk-cor); }
.crk-check a { color: var(--crk-cor); }

.crk-drop {
	position: relative; border: 2px dashed var(--crk-borda); border-radius: 14px; background: var(--crk-fundo);
	min-height: 120px; display: flex; align-items: center; justify-content: center; text-align: center;
	transition: border-color .15s, background .15s;
}
.crk-drop:hover, .crk-drop.crk-sobre { border-color: var(--crk-cor); background: #f3fafc; }
.crk-drop input[type=file] {
	position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 1;
}
.crk-drop-vazio { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px; color: #4a5560; }
.crk-drop-vazio svg { color: var(--crk-cor); }
.crk-drop-vazio small { color: #7a858d; }
.crk-drop-cheio {
	display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 16px; text-align: left;
}
.crk-drop:has(.crk-drop-cheio:not([hidden])) { border-style: solid; border-color: var(--crk-cor); min-height: 0; }
.crk-ico {
	flex: none; width: 40px; height: 40px; border-radius: 8px; background: #e8f4f8; color: var(--crk-cor-esc);
	font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.crk-arq-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crk-arq-remover {
	position: relative; z-index: 2; flex: none; width: 34px; height: 34px; border-radius: 50%;
	border: 0; background: #eef1f3; color: #444; font-size: 20px; line-height: 1; cursor: pointer; padding: 0;
}
.crk-arq-remover:hover { background: #fde2e2; color: var(--crk-erro); }

.crk-erro { color: var(--crk-erro); font-size: .9em; margin-top: 6px; font-weight: 600; }
.crk-erro:empty { display: none; }
.crk-invalido input[type=text], .crk-invalido input[type=email], .crk-invalido input[type=tel],
.crk-invalido select, .crk-invalido .crk-drop { border-color: var(--crk-erro) !important; }

.crk-geral { color: var(--crk-erro); font-weight: 700; margin: 0 0 14px; }
.crk-geral:empty { display: none; }

.crk-progresso { margin: 0 0 14px; }
.crk-barra { height: 8px; border-radius: 99px; background: #e3e9ed; overflow: hidden; margin-bottom: 6px; }
.crk-barra span { display: block; height: 100%; width: 0; background: var(--crk-cor); transition: width .2s; }
.crk-progresso small { color: #5f6b73; }

.crk-enviar {
	display: inline-block; min-width: 160px; padding: 14px 34px; border: 0; border-radius: 12px;
	background: var(--crk-cor); color: #fff; font-size: 1.1em; font-weight: 700; cursor: pointer;
	transition: background .15s;
}
.crk-enviar:hover { background: var(--crk-cor-esc); }
.crk-enviar:disabled { opacity: .7; cursor: wait; }

.crk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.crk-box {
	border: 1.5px solid var(--crk-cor); border-radius: 22px; padding: 22px 24px; color: var(--crk-cor-esc);
	background: transparent;
}
.crk-box p { margin: 0 0 10px; }
.crk-box p:last-child { margin-bottom: 0; }
.crk-box a { color: #c2185b; }
.crk-num { margin-top: 14px !important; font-size: .95em; }

@media (max-width: 600px) {
	.crk-box { padding: 18px; }
	.crk-enviar { width: 100%; }
}
