/* Formulários do site: Sugestões (sugestoes.html) e Depoimentos (conquistas.html).
   Reaproveita .form-grid e .field do extras-v13.css; tudo novo fica sob .bq-form. */

.bq-form-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
.bq-form-wrap>*{min-width:0}
.bq-form{background:#fff;border:1px solid var(--border-soft,#d7e2ea);border-top:5px solid var(--blue,#2830a8);border-radius:var(--radius,24px);padding:34px;display:grid;gap:22px}
.bq-form[hidden],.bq-form [hidden],.bq-form-wrap > [hidden]{display:none!important}
.bq-unavailable{padding:24px;background:#fff6d6;border:1px solid #f0d77a;border-radius:16px}
.bq-form input,.bq-form select,.bq-form textarea{max-width:100%;min-width:0}
.bq-form .field,.bq-form .form-grid{min-width:0}
.bq-form input[type=file]{width:100%;padding:10px;font-size:14px}
.bq-form .bq-error{overflow-wrap:anywhere}
/* Keep shared floating controls clear of these forms and keyboard errors. */
.bq-form-in-view > .whatsapp-float{visibility:hidden;pointer-events:none}
:is(.page-sugestoes,.page-conquistas) > .skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
.bq-form fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:16px}
.bq-form fieldset[disabled]{display:none}
.bq-form .bq-step{padding-top:22px;border-top:1px solid var(--border-soft,#d7e2ea)}
.bq-form .bq-step:first-of-type{padding-top:0;border-top:0}
.bq-form legend{padding:0;margin-bottom:4px;font:800 19px/1.3 var(--font-display,'Plus Jakarta Sans',sans-serif);color:var(--blue-dark,#161858)}
.bq-form .bq-legend-small{font:800 14px/1.4 var(--font-body,'Manrope',sans-serif);color:var(--ink,#17213d);margin-bottom:0}
.bq-form .field label,.bq-form .bq-label{font-size:14px;font-weight:800;color:var(--ink,#17213d)}
.bq-form .field input,.bq-form .field select,.bq-form .field textarea{color:var(--ink,#17213d);border-color:#b9c7d4;min-height:52px;font-size:16px}
.bq-form .field input:focus,.bq-form .field select:focus,.bq-form .field textarea:focus{outline:3px solid #2830a833;outline-offset:1px;border-color:var(--blue,#2830a8)}
.bq-form .field [aria-invalid="true"]{border-color:#c62828;background:#fff8f8}
.bq-form .req{color:#c62828}
.bq-form .opt{font-weight:600;color:#5b6675}
.bq-form .bq-hint{margin:0;font-size:13px;line-height:1.55;color:#5b6675}
.bq-form .bq-error{margin:0;font-size:13px;font-weight:700;color:#c62828}
.bq-form .bq-error:empty{display:none}

/* Escolhas em formato de pílula (radio) */
.bq-pills{display:flex;flex-wrap:wrap;gap:10px}
.bq-pill{position:relative;display:inline-flex}
.bq-pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.bq-pill span{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border:1px solid #b9c7d4;border-radius:12px;background:var(--surface-soft,#f4f8fb);color:var(--blue-dark,#161858);font-weight:800;font-size:15px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.bq-pill input:hover+span{border-color:var(--blue,#2830a8)}
.bq-pill input:checked+span{background:var(--blue,#2830a8);border-color:var(--blue,#2830a8);color:#fff}
.bq-pill input:focus-visible+span{outline:3px solid #2830a855;outline-offset:2px}
.bq-pills[aria-invalid="true"] .bq-pill span{border-color:#c62828}

/* Contador de caracteres */
.bq-counter{justify-self:end;font-size:13px;font-weight:700;color:#5b6675;font-variant-numeric:tabular-nums}
.bq-counter.is-near{color:#9a5b00}
.bq-counter.is-full{color:#c62828}

/* Foto */
.bq-photo-rule{margin:0;padding:14px 16px;border-radius:14px;background:#fff6d6;border:1px solid #f0d77a;color:var(--blue-dark,#161858);font-size:14px;line-height:1.55}
.bq-photo-rule strong{margin-right:4px}
.bq-photo-pick{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.bq-photo-pick input[type=file]{min-height:auto;padding:12px;background:var(--surface-soft,#f4f8fb)}
.bq-photo-preview{display:flex;gap:14px;align-items:center;padding:12px;border:1px dashed #b9c7d4;border-radius:14px;background:var(--surface-soft,#f4f8fb)}
.bq-photo-preview img{width:76px;height:96px;object-fit:cover;border-radius:10px;background:#dfe7ee;flex-shrink:0}
.bq-photo-preview p{margin:0;font-size:13px;line-height:1.5;color:#3a4657;overflow-wrap:anywhere}

/* Consentimento */
.bq-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;font-weight:600;color:var(--ink,#17213d)}
.bq-consent input{width:22px;height:22px;margin:1px 0 0;flex-shrink:0;accent-color:var(--blue,#2830a8)}

.bq-privacy{margin:0;font-size:12.5px;line-height:1.6;color:#5b6675}
.bq-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.bq-form .button{border:0;cursor:pointer;font-family:inherit}
.bq-form .button[disabled]{opacity:.65;cursor:progress;transform:none;box-shadow:none}

/* Honeypot: fora da tela, invisível para pessoas */
.bq-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Mensagens de status */
.bq-status{margin:0;font-size:14px;line-height:1.55;font-weight:700}
.bq-status:empty{display:none}
.bq-status.is-error{padding:14px 16px;border-radius:12px;background:#fff1f0;border:1px solid #f3b8b3;color:#9f1c1c}
.bq-success{background:#fff;border:1px solid var(--border-soft,#d7e2ea);border-top:5px solid #19b85a;border-radius:var(--radius,24px);padding:38px 34px}
.bq-success h3{margin:0 0 10px;font:800 26px/1.2 var(--font-display,'Plus Jakarta Sans',sans-serif);color:var(--blue-dark,#161858)}
.bq-success p{margin:0 0 20px;color:#3a4657;line-height:1.7}
.bq-success:focus{outline:none}

/* Painel lateral */
.bq-aside{display:grid;gap:18px}
.bq-aside .info-panel h3{margin:0 0 8px;font-size:18px}
.bq-aside .info-panel p{margin:0;color:#5b6675;line-height:1.65;font-size:15px}
.bq-aside .info-panel a{color:var(--blue,#2830a8);font-weight:800}

/* Página Conquistas */
.bq-form-intro{max-width:760px;margin-bottom:30px}
.achievements-hero .bq-hero-cta{margin-top:26px}

@media (max-width:900px){
  .bq-form-wrap{grid-template-columns:1fr;gap:28px}
}
@media (max-width:640px){
  .bq-form{padding:24px 18px;border-radius:20px}
  .bq-form .form-grid{grid-template-columns:1fr}
  .bq-pill{flex:1 1 calc(50% - 10px)}
  .bq-pill span{width:100%;justify-content:center;text-align:center}
  .bq-form .bq-actions .button{width:100%}
  .bq-success{padding:28px 20px}
}
@media (prefers-reduced-motion:reduce){.bq-pill span{transition:none}}
