/* TJAC – Petição Cidadão. Escopo: .tjpc (não interfere no tema). */
.tjpc {
	--tj-primary: #A01128;
	--tj-primary-dark: #780D1E;
	--tj-ink: #2C3E50;
	--tj-muted: #5d6b78;
	--tj-accent: #C9973A;
	--tj-line: #d9dee3;
	--tj-soft: #f6f7f8;
	--tj-ok: #1a7f37;
	--tj-err: #b42318;
	--tj-radius: 8px;
	--tj-text: #212529;
	--tj-border: #ddd;
	--tj-font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: var(--tj-text);
	font-family: var(--tj-font);
	font-size: 16px;
	line-height: 1.5;
	max-width: 980px;
	margin: 24px 0;
	scroll-margin-top: 80px;
}
/* Fonte única em todo o formulário. O tema define Menlo/Monaco/Consolas para
   code, kbd, pre e samp; se o shortcode estiver dentro de um bloco <pre> ou
   <code>, essa fonte vazaria para o formulário. O !important garante a Segoe UI. */
.tjpc, .tjpc *, .tjpc code, .tjpc kbd, .tjpc pre, .tjpc samp { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; }
.tjpc { white-space: normal; word-wrap: normal; }
pre:has(> .tjpc), code:has(> .tjpc) { white-space: normal; background: transparent; border: 0; padding: 0; margin: 0; overflow: visible; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.tjpc *, .tjpc *::before, .tjpc *::after { box-sizing: border-box; }
.tjpc [hidden] { display: none !important; }
.tjpc-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Cartão, cabeçalho e progresso ----------------------------------------- */
.tjpc-container { background: #fff; border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,.06), 0 8px 24px rgba(44,62,80,.08); overflow: hidden; }
.tjpc-header { background: linear-gradient(90deg, var(--tj-primary-dark) 0%, var(--tj-primary) 100%); color: #fff; padding: 22px 28px; }
.tjpc-header h2 { color: #fff; font-size: 24px; font-weight: 700; margin: 0 0 4px; line-height: 1.25; }
.tjpc-header p { color: rgba(255,255,255,.88); margin: 0; font-size: 15px; }
.tjpc-progressbar { height: 6px; background: #ececec; }
.tjpc-progressbar__fill { height: 100%; width: 16.66%; background: var(--tj-accent); transition: width .35s ease; }
.tjpc-content { padding: 28px; }
@media (max-width: 640px) { .tjpc-header { padding: 18px 16px; } .tjpc-header h2 { font-size: 21px; } .tjpc-content { padding: 18px 16px; } }

.tjpc-etapa-info { display: flex; gap: 16px; align-items: flex-start; margin: 0 0 22px; padding-bottom: 16px; border-bottom: 1px solid var(--tj-line); }
.tjpc-badge { flex: none; width: 58px; height: 58px; border-radius: 50%; background: var(--tj-primary); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.tjpc-badge__n { font-size: 22px; font-weight: 700; }
.tjpc-badge__t { font-size: 11px; opacity: .85; margin-top: 2px; }

/* Etapas ---------------------------------------------------------------- */
.tjpc-form { margin: 0; }
.tjpc-step__title { font-size: 21px; margin: 2px 0 4px; color: var(--tj-ink); font-weight: 700; outline: none; line-height: 1.3; }
.tjpc-lead { color: var(--tj-muted); margin: 0; font-size: 15px; }
.tjpc-step > .tjpc-lead { margin-bottom: 20px; }

.tjpc-row { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0 16px; }
.tjpc-row > * { grid-column: span 12; min-width: 0; }
@media (min-width: 720px) {
	.tjpc-col-2 { grid-column: span 2 !important; } .tjpc-col-3 { grid-column: span 3 !important; }
	.tjpc-col-4 { grid-column: span 4 !important; } .tjpc-col-6 { grid-column: span 6 !important; }
	.tjpc-col-8 { grid-column: span 8 !important; } .tjpc-col-10 { grid-column: span 10 !important; }
}

/* Campos ---------------------------------------------------------------- */
.tjpc-field { margin: 0 0 18px; border: 0; padding: 0; min-width: 0; }
.tjpc-field > label:not(.tjpc-card-radio):not(.tjpc-check), .tjpc-label, .tjpc-field > legend {
	display: block; font-weight: 600; font-size: 15px; margin: 0 0 8px; color: #333; padding: 0; border: 0; width: auto;
}
.tjpc-req { color: var(--tj-primary); margin-left: 2px; }
.tjpc-opt { color: var(--tj-muted); font-weight: 400; font-size: 13px; margin-left: 4px; }
.tjpc-field[data-req="1"] .tjpc-opt, .tjpc-upload.is-req .tjpc-opt { display: none; }
.tjpc-field[data-req="0"] > label .tjpc-req, .tjpc-field:not([data-req]) .tjpc-req, .tjpc-upload:not(.is-req) .tjpc-label .tjpc-req { display: none; }
.tjpc-help { font-size: 14px; color: var(--tj-muted); margin: 4px 0 6px; }

.tjpc input[type="text"], .tjpc input[type="email"], .tjpc input[type="tel"], .tjpc select, .tjpc textarea {
	display: block; width: 100%; min-height: 52px; height: auto; padding: 13px 16px; font-family: var(--tj-font); font-size: 16px; font-weight: 400; line-height: 1.5; color: var(--tj-text);
	background-color: #fff; border: 1px solid var(--tj-border); border-radius: 4px; box-shadow: none; margin: 0;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; -webkit-appearance: none; appearance: none;
}
.tjpc textarea { min-height: 140px; resize: vertical; }
.tjpc select { padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 16px 12px; }
.tjpc input::placeholder, .tjpc textarea::placeholder { color: #777; opacity: 1; }
.tjpc input:focus, .tjpc select:focus, .tjpc textarea:focus {
	outline: none; border-color: var(--tj-primary); box-shadow: 0 0 0 3px rgba(160, 17, 40, .1);
}
.tjpc .has-error input, .tjpc .has-error select, .tjpc .has-error textarea { border-color: var(--tj-err); }
.tjpc .has-error input:focus, .tjpc .has-error select:focus, .tjpc .has-error textarea:focus { box-shadow: 0 0 0 .25rem rgba(180, 35, 24, .2); }
.tjpc-err { color: var(--tj-err); font-size: 14px; font-weight: 600; margin: 6px 0 0; }
.tjpc-err::before { content: "⚠ "; }
.tjpc-count { display: block; text-align: right; font-size: 12.5px; color: var(--tj-muted); margin-top: 4px; }

.tjpc-prefix { display: flex; align-items: stretch; }
.tjpc-prefix span { display: grid; place-items: center; padding: 0 12px; background: #e9ecef; border: 1px solid var(--tj-border); border-right: 0; border-radius: 4px 0 0 4px; font-weight: 600; padding: 0 14px; }
.tjpc-prefix input { border-radius: 0 4px 4px 0 !important; }

.tjpc-inline { display: flex; gap: 8px; }
.tjpc-inline input { flex: 1 1 auto; }
.tjpc-inline .tjpc-btn { white-space: nowrap; flex: none; }

/* Opções (radio em cartão) */
.tjpc-choice { display: flex; flex-wrap: wrap; gap: 10px; }
.tjpc-choice > legend { flex: 0 0 100%; float: left; width: 100%; }
.tjpc-card-radio {
	flex: 1 1 260px; display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; cursor: pointer;
	border: 1px solid var(--tj-border); border-radius: 4px; background: #fff; font-weight: 400; font-size: 16px; margin: 0;
}
.tjpc-card-radio input { margin: 4px 0 0; width: 18px; height: 18px; accent-color: var(--tj-primary); flex: none; }
.tjpc-card-radio:has(input:checked) { border-color: var(--tj-primary); background: #fdf3f5; box-shadow: inset 0 0 0 1px var(--tj-primary); }
.tjpc-card-radio:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(160, 17, 40, .2); }
.tjpc-choice.has-error .tjpc-card-radio { border-color: var(--tj-err); }
.tjpc-choice .tjpc-err { flex: 0 0 100%; }

.tjpc-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; cursor: pointer; margin: 0; }
.tjpc-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--tj-primary); flex: none; }
.tjpc-check--sm { font-size: 14px; margin-top: 6px; }
.tjpc-check--sm input { width: 17px; height: 17px; }

/* Partes ---------------------------------------------------------------- */
.tjpc-parte { position: relative; border: 0; border-radius: 0; padding: 0; margin: 0 0 30px; background: transparent; min-width: 0; }
.tjpc-parte__t { display: block; float: left; width: 100%; box-sizing: border-box; margin: 0 0 20px; padding: 15px 20px; background: #f9f9f9; border: 0; border-left: 5px solid var(--tj-primary); border-radius: 2px; color: #2d1436; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; line-height: 1.4; }
.tjpc-parte > *:not(legend):not(.tjpc-remove) { clear: both; }
.tjpc-parte__hint { display: none; color: var(--tj-muted); font-size: 14px; margin: -6px 0 14px; }
.tjpc-parte.is-none .tjpc-parte__hint { display: block; }
.tjpc-remove { position: absolute; top: 9px; right: 10px; z-index: 1; text-transform: none; letter-spacing: 0; background: none; border: 0; color: var(--tj-err); font-weight: 600; cursor: pointer; padding: 4px 8px; border-radius: 6px; }
.tjpc-remove:hover { background: #fdecec; }
.tjpc-l-pj { display: none; }
.tjpc-parte.is-pj .tjpc-l-pj { display: inline; }
.tjpc-parte.is-pj .tjpc-l-pf { display: none; }

/* Upload ---------------------------------------------------------------- */
.tjpc-upload { padding: 14px 0 0; border-top: 1px solid var(--tj-line); }
.tjpc-drop {
	display: flex; align-items: center; gap: 12px; padding: 16px; cursor: pointer;
	border: 2px dashed var(--tj-border); border-radius: var(--tj-radius); background: var(--tj-soft); color: var(--tj-muted);
	transition: border-color .15s, background .15s;
}
.tjpc-drop:hover, .tjpc-drop:focus-visible, .tjpc-drop.is-over { border-color: var(--tj-primary); background: #fdf3f5; color: var(--tj-ink); outline: none; }
.tjpc-drop__icon { color: var(--tj-primary); display: grid; }
.tjpc-upload.has-error .tjpc-drop { border-color: var(--tj-err); }
.tjpc-files { list-style: none; margin: 8px 0 0; padding: 0; }
.tjpc-files li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--tj-line); border-radius: 6px; margin: 0 0 6px; background: #fff; font-size: 14px; }
.tjpc-files__n { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tjpc-files__s { color: var(--tj-muted); flex: none; }
.tjpc-files__x { flex: none; background: none; border: 0; color: var(--tj-err); cursor: pointer; font-weight: 600; padding: 2px 6px; }
.tjpc-total { font-size: 14px; color: var(--tj-muted); margin: 8px 0 0; text-align: right; }
.tjpc-total.is-over { color: var(--tj-err); font-weight: 600; }

/* Tela inicial (padrão da Medida Protetiva) ------------------------------ */
.tjpc-inicio { outline: none; }
.tjpc-inicio__corpo { display: flex; flex-direction: column; gap: 22px; }
.tjpc-inicio__saudacao { color: var(--tj-primary); font-size: 22px; font-weight: 700; margin: 0; outline: none; }
.tjpc-inicio__chamada { color: var(--tj-primary-dark); font-size: 17px; font-weight: 600; line-height: 1.55; margin: 0; }
.tjpc-importante { background: #fbe9ec; border-radius: 12px; padding: 22px 22px 22px 26px; display: flex; gap: 18px; align-items: flex-start; }
.tjpc-importante__icone { width: 52px; height: 52px; flex: none; border-radius: 50%; background: var(--tj-primary); color: #fff; display: grid; place-items: center; font-size: 26px; font-weight: 700; }
.tjpc-importante h4 { color: var(--tj-primary); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin: 0 0 6px; }
.tjpc-importante p { margin: 0; font-size: 15px; color: #4a4a4a; }
.tjpc-rotulo { color: var(--tj-primary); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 10px; }
.tjpc-lista { list-style: none; margin: 0; padding: 0; }
.tjpc-lista li { position: relative; padding: 6px 0 6px 18px; font-size: 15px; color: #4a4a4a; margin: 0; }
.tjpc-lista li::before { content: "·"; position: absolute; left: 2px; top: 1px; color: var(--tj-primary); font-weight: 700; font-size: 22px; line-height: 1.2; }
.tjpc-apoio { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.tjpc .tjpc-apoio__link {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #fff;
	border: 1px solid #ecd2d7; border-radius: 8px; color: var(--tj-primary) !important; text-decoration: none !important;
	font-size: 15px; font-weight: 600; line-height: 1.35; transition: background .2s, border-color .2s, transform .2s;
}
.tjpc .tjpc-apoio__link:hover, .tjpc .tjpc-apoio__link:focus { background: #fdf3f5; border-color: var(--tj-primary); transform: translateY(-1px); }
.tjpc .tjpc-apoio__link:focus-visible { outline: 3px solid rgba(160, 17, 40, .35); outline-offset: 2px; }
.tjpc-apoio__link svg { width: 30px; height: 30px; flex: none; }
.tjpc-apoio__link small { display: block; font-weight: 400; color: var(--tj-muted); font-size: 13px; overflow-wrap: anywhere; }
.tjpc-inicio__rodape { text-align: center; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--tj-line); }
.tjpc-btn--iniciar { padding: 16px 55px; font-size: 16px; text-transform: uppercase; letter-spacing: .5px; border-radius: 6px; box-shadow: 0 4px 12px rgba(160, 17, 40, .25); }
.tjpc-btn--iniciar:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(160, 17, 40, .35); }
@media (max-width: 640px) {
	.tjpc-importante { padding: 18px; gap: 14px; }
	.tjpc-importante__icone { width: 42px; height: 42px; font-size: 22px; }
	.tjpc-btn--iniciar { width: 100%; padding: 16px 20px; }
}
.tjpc-observacao { background: #fff3cd; border-left: 4px solid var(--tj-err); padding: 14px 16px; margin: 0 0 22px; border-radius: 4px; font-size: 15px; }
.tjpc-observacao strong { color: var(--tj-err); }

/* Blocos informativos --------------------------------------------------- */
.tjpc-info { background: #f3f6f9; border-left: 4px solid var(--tj-ink); padding: 12px 16px; border-radius: 0 var(--tj-radius) var(--tj-radius) 0; font-size: 14.5px; margin-top: 8px; }
.tjpc-info ul { margin: 6px 0 0; padding-left: 18px; }
.tjpc-info li { margin-bottom: 4px; }
.tjpc-alert { padding: 10px 14px; border-radius: var(--tj-radius); font-size: 14.5px; margin: 0 0 12px; }
.tjpc-alert--aviso { background: #fff7e6; border-left: 4px solid var(--tj-accent); }
.tjpc-alert--erro { background: #fdecec; border-left: 4px solid var(--tj-err); }
.tjpc-valor-aviso { margin-top: 30px; }
@media (max-width: 719px) { .tjpc-valor-aviso { margin-top: 0; } }

.tjpc-errsummary { background: #fdecec; border: 1.5px solid var(--tj-err); border-radius: var(--tj-radius); padding: 12px 16px; margin: 0 0 20px; outline: none; }
.tjpc-errsummary ul { margin: 6px 0 0; padding-left: 18px; }
.tjpc-errsummary a { color: var(--tj-err); }

/* Revisão --------------------------------------------------------------- */
.tjpc-rev { border: 1px solid var(--tj-line); border-radius: 10px; padding: 12px 16px; margin: 0 0 12px; }
.tjpc-rev__h { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.tjpc-rev h4 { margin: 0; font-size: 16px; color: var(--tj-primary); }
.tjpc-rev dl { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 4px 16px; margin: 10px 0 4px; font-size: 14.5px; }
.tjpc-rev dt { color: var(--tj-muted); font-weight: 600; }
.tjpc-rev dd { margin: 0; word-break: break-word; }
.tjpc-pre { white-space: pre-wrap; }
@media (max-width: 640px) { .tjpc-rev dl { grid-template-columns: 1fr; } .tjpc-rev dd { margin-bottom: 6px; } }
.tjpc-declaracoes { border: 0; padding: 0; margin: 20px 0 0; }
.tjpc-declaracoes > legend { font-weight: 700; font-size: 16px; margin-bottom: 10px; border: 0; }

/* Botões e navegação ---------------------------------------------------- */
.tjpc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 12px 30px;
	font-family: var(--tj-font); font-size: 15px; font-weight: 600; color: #fff; background: var(--tj-primary); border: 1px solid var(--tj-primary);
	border-radius: 4px; cursor: pointer; text-decoration: none !important; line-height: 1.2;
}
.tjpc-btn:hover { background: var(--tj-primary-dark); border-color: var(--tj-primary-dark); color: #fff; }
.tjpc-btn:focus-visible { outline: 3px solid rgba(160, 17, 40, .35); outline-offset: 2px; }
.tjpc-btn[disabled] { opacity: .6; cursor: progress; }
.tjpc-btn--ghost { background: #fff; color: var(--tj-primary); }
.tjpc-btn--ghost:hover { background: #fdf3f5; color: var(--tj-primary-dark); }
.tjpc-btn--sm { min-height: 36px; padding: 6px 12px; font-size: 14px; }
.tjpc-btn--send { background: var(--tj-ok); border-color: var(--tj-ok); }
.tjpc-btn--send:hover { background: #136129; border-color: #136129; }
.tjpc-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--tj-line); }
.tjpc-nav [data-act="next"], .tjpc-nav [data-act="send"] { margin-left: auto; }
@media (max-width: 480px) { .tjpc-nav { flex-direction: column-reverse; } .tjpc-nav .tjpc-btn { width: 100%; } }

.tjpc-status { margin: 14px 0 0; font-weight: 600; min-height: 1.5em; }
.tjpc-status.is-erro { color: var(--tj-err); }
.tjpc-bar { display: block; height: 6px; background: var(--tj-line); border-radius: 3px; margin-top: 8px; overflow: hidden; }
.tjpc-bar span { display: block; height: 100%; background: var(--tj-primary); transition: width .2s; }
.tjpc-spin { display: inline-block; width: 16px; height: 16px; border: 2px solid var(--tj-line); border-top-color: var(--tj-primary); border-radius: 50%; animation: tjpc-spin .8s linear infinite; vertical-align: -3px; margin-right: 6px; }
@keyframes tjpc-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .tjpc-spin { animation-duration: 2s; } .tjpc { scroll-behavior: auto; } }

/* Conclusão ------------------------------------------------------------- */
.tjpc-done { text-align: center; padding: 16px 0 8px; outline: none; }
.tjpc-done__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--tj-ok); color: #fff; font-size: 34px; display: grid; place-items: center; margin: 0 auto 10px; }
.tjpc-done h3 { margin: 0 0 8px; font-size: 24px; }
.tjpc-done__prot { font-size: 28px; font-weight: 700; letter-spacing: .05em; color: var(--tj-primary); margin: 0 0 12px; }

.tjpc-ajuda { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--tj-line); }
.tjpc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media print {
	.tjpc-progressbar, .tjpc-ajuda, .tjpc-done .tjpc-btn { display: none !important; }
	.tjpc-container { box-shadow: none; }
}

/* Provas: limite de arquivos */
.tjpc-limite { margin: 8px 0 0; padding: 10px 14px; background: #eef6ee; border-left: 4px solid var(--tj-ok); border-radius: 4px; font-size: 14px; color: #1e4620; }
.tjpc-files__n strong { color: var(--tj-primary); }
/* No grupo de provas, o próximo campo de envio aparece abaixo dos arquivos já anexados */
.tjpc-upload--midia { display: flex; flex-direction: column; }
.tjpc-upload--midia > .tjpc-label { order: 0; }
.tjpc-upload--midia > .tjpc-help { order: 1; }
.tjpc-upload--midia > .tjpc-files { order: 2; margin: 0 0 8px; }
.tjpc-upload--midia > .tjpc-drop { order: 3; }
.tjpc-upload--midia > .tjpc-limite { order: 4; }
.tjpc-upload--midia > .tjpc-err { order: 5; }

/* Defesa extra contra o wpautop do tema: parágrafos vazios e <br> soltos entre os blocos não ocupam espaço */
.tjpc > p:empty, .tjpc > br, .tjpc-container > p:empty, .tjpc-container > br, .tjpc-content > p:empty, .tjpc-content > br,
.tjpc-form > p:empty, .tjpc-form > br, .tjpc-step > p:empty, .tjpc-step > br, .tjpc-row > p:empty, .tjpc-row > br { display: none !important; }
