/* agente.pt — Seguro de Responsabilidade Civil. Estilo alinhado com o kit global do Elementor de agente.pt:
   usa as variáveis --e-global-* do site, com os valores atuais como reserva. Vive dentro da caixa branca
   da página (borda azul) (na página /responsabilidade-civil, secção «Peça a sua proposta»), por isso não desenha cartão próprio.
   Tudo está limitado a .agr: o tema não altera o formulário e o formulário não altera a página. */
.agr{
  --agr-green:var(--e-global-color-primary, #79B11F);
  --agr-green-dark:#5f8c16;
  --agr-blue:var(--e-global-color-secondary, #003781);
  --agr-ink:var(--e-global-color-accent, #333333);
  --agr-grey:var(--e-global-color-0e13502, #676767);
  --agr-white:var(--e-global-color-faafa5f, #FFFFFF);
  --agr-line:#ccd5e3;
  --agr-blue-tint:#eef2f8;
  --agr-green-tint:#f2f8e8;
  --agr-err:#c62828; --agr-err-bg:#fdecea;
  --agr-warn:#7a5200; --agr-warn-bg:#fff4dc;
  --agr-pill:50px;
  --agr-f-display:var(--e-global-typography-primary-font-family, "Cabinet Grotesk ExtraBold"), "Cabinet Grotesk", "Montserrat", system-ui, sans-serif;
  --agr-f-regular:var(--e-global-typography-text-font-family, "Montserrat - Regular"), "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --agr-f-medium:var(--e-global-typography-secondary-font-family, "Montserrat - Medium"), "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --agr-f-semibold:var(--e-global-typography-e8e954e-font-family, "Montserrat - SemiBold"), "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --agr-fs-label:var(--e-global-typography-text-font-size, 18px);
  --agr-fs-small:var(--e-global-typography-7b76d4b-font-size, 15px);
  --agr-fs-title:var(--e-global-typography-1ba6221-font-size, 26px);
  --agr-fs-button:var(--e-global-typography-e8e954e-font-size, 22px);
  color-scheme:light;
  font-family:var(--agr-f-regular); font-size:16px; line-height:1.45; color:var(--agr-blue);
  text-align:left; width:100%; max-width:860px; margin:0 auto;
}
/* Neutraliza estilos globais do tema/Elementor dentro do formulário */
.agr :where(input, select, textarea, button, label, fieldset, legend, p, ol, ul, li, h3, h4, dl, dd, dt, details, summary, pre){
  margin:0;box-shadow:none;letter-spacing:normal;text-transform:none;text-shadow:none;min-width:0;max-width:none;float:none;font-family:inherit;
}
.agr :where(input, select, textarea, button){line-height:1.25;font-size:16px;}
.agr :where(label, legend){display:block;width:auto;font-size:inherit;line-height:inherit;color:inherit;border:0;padding:0;}
.agr :where(ol, ul){list-style:none;padding:0;}
.agr :where(a){color:var(--agr-blue);text-decoration:underline;}
.agr :where(p){padding:0}
.agr, .agr *{box-sizing:border-box}
.agr [hidden]{display:none !important}
.agr :focus-visible{outline:3px solid var(--agr-green);outline-offset:2px}

/* ---------- Passos (estilo dos multi-step do Elementor) ---------- */
.agr-steps{display:flex;gap:0;margin:0 0 22px;counter-reset:none}
.agr-si{flex:1;position:relative;text-align:center}
.agr-si:not(:last-child)::after{content:"";position:absolute;top:19px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background:var(--agr-line)}
.agr-si.is-done:not(:last-child)::after{background:var(--agr-green)}
.agr .agr-si-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;cursor:pointer;color:var(--agr-grey)}
.agr .agr-si-btn:disabled{cursor:default}
.agr .agr-si-btn:focus-visible{outline:3px solid var(--agr-green);outline-offset:2px;border-radius:12px}
.agr-si-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--agr-line);background:var(--agr-white);font-family:var(--agr-f-semibold);font-weight:600;font-size:16px;color:var(--agr-grey);transition:all .2s}
.agr-si-lab{font-family:var(--agr-f-medium);font-weight:500;font-size:14px}
.agr-si.is-active .agr-si-num{background:var(--agr-blue);border-color:var(--agr-blue);color:#fff}
.agr-si.is-active .agr-si-lab{color:var(--agr-blue);font-weight:600}
.agr-si.is-done .agr-si-num{background:var(--agr-green);border-color:var(--agr-green);color:#fff;font-size:0}
.agr-si.is-done .agr-si-num::before{content:"✓";font-size:18px}
.agr-si.is-done .agr-si-lab{color:var(--agr-blue)}
.agr-mprog{display:none;margin:0 0 18px}
.agr-mprog-t{font-size:var(--agr-fs-small);color:var(--agr-grey);margin-bottom:8px}
.agr-mprog-t strong{color:var(--agr-blue)}
.agr-bar{height:6px;border-radius:6px;background:var(--agr-blue-tint);overflow:hidden}
.agr-bar span{display:block;height:100%;background:var(--agr-green);border-radius:6px;transition:width .3s}

/* ---------- Cabeçalho do passo ---------- */
.agr-shead{margin:0 0 18px}
.agr .agr-stitle{font-family:var(--agr-f-display);font-weight:800;font-size:var(--agr-fs-title);line-height:1.15;color:var(--agr-blue);margin:0 0 4px;outline:none}
.agr-stime{font-size:var(--agr-fs-small);color:var(--agr-grey)}

/* ---------- Campos ---------- */
.agr-field{margin:0 0 20px}
.agr-row{display:grid;grid-template-columns:1fr;gap:0 18px}
.agr-fs{border:0;padding:0;margin:0;min-width:0}
.agr .agr-label{font-family:var(--agr-f-semibold);font-weight:600;font-size:var(--agr-fs-label);color:var(--agr-blue);margin:0 0 8px;line-height:1.3}
.agr-opt{font-family:var(--agr-f-regular);font-weight:400;color:var(--agr-grey);font-size:.85em}
.agr-hint{font-size:var(--agr-fs-small);color:var(--agr-grey);margin-top:6px}
.agr .agr-input{display:block;width:100%;height:52px;padding:0 22px;border:1px solid var(--agr-blue);border-radius:var(--agr-pill);background:var(--agr-white);color:var(--agr-blue);font-family:var(--agr-f-regular);font-size:16px;transition:border-color .15s, box-shadow .15s;-webkit-appearance:none;appearance:none}
.agr .agr-input::placeholder{color:#8a94a6;opacity:1}
.agr .agr-input:focus{outline:none;border-color:var(--agr-blue);box-shadow:0 0 0 3px rgba(0,55,129,.18)}
.agr .agr-ta{height:auto;min-height:104px;padding:14px 22px;border-radius:24px;resize:vertical;line-height:1.45}
.agr .agr-select{padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23003781' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 22px center;cursor:pointer}
.agr-count{display:block;text-align:right;font-size:13px;color:var(--agr-grey);margin-top:4px}
.agr-affix{position:relative}
.agr-affix .agr-input{padding-right:48px}
.agr-suffix{position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--agr-blue);font-family:var(--agr-f-semibold);font-weight:600}
.agr-invalid .agr-input, .agr .agr-input[aria-invalid="true"]{border-color:var(--agr-err);border-width:2px}
.agr-err{color:var(--agr-err);font-size:var(--agr-fs-small);font-family:var(--agr-f-medium);font-weight:500;margin-top:6px}
.agr-err:empty, .agr-warn:empty{display:none}
.agr-err::before{content:"! ";font-weight:700}
.agr-warn{color:var(--agr-warn);background:var(--agr-warn-bg);border-radius:14px;padding:8px 14px;font-size:var(--agr-fs-small);margin-top:8px}

/* Escolhas em pílula */
.agr-choices{display:flex;flex-wrap:wrap;gap:10px}
.agr .agr-choice{position:relative;display:inline-flex;cursor:pointer;margin:0}
.agr .agr-ci{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.agr-cbody{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid var(--agr-blue);border-radius:var(--agr-pill);background:var(--agr-white);color:var(--agr-blue);font-family:var(--agr-f-medium);font-weight:500;font-size:16px;transition:background .15s,color .15s,box-shadow .15s;user-select:none}
.agr-choice:hover .agr-ci:not(:checked) + .agr-cbody{background:var(--agr-blue-tint)}
.agr-choice:hover .agr-ci:checked + .agr-cbody{background:#002a63}
.agr-cards .agr-choice:hover .agr-ci:checked + .agr-cbody{background:var(--agr-blue-tint)}
.agr-ci:checked + .agr-cbody{background:var(--agr-blue);color:#fff}
.agr-ci:focus-visible + .agr-cbody{outline:3px solid var(--agr-green);outline-offset:2px}
.agr-ci[type=checkbox] + .agr-cbody .agr-ctext::before{content:"";display:inline-block;width:16px;height:16px;margin:0 10px -2px 0;border:2px solid currentColor;border-radius:5px;vertical-align:baseline}
.agr-ci[type=checkbox]:checked + .agr-cbody .agr-ctext::before{background:var(--agr-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='white' stroke-width='2.2' fill='none'/%3E%3C/svg%3E") center/10px no-repeat;border-color:var(--agr-green)}
.agr-invalid .agr-cbody{border-color:var(--agr-err)}
/* Cartões (tipo de proteção, escolha múltipla) */
.agr-cards{display:grid;grid-template-columns:1fr;gap:10px}
.agr-cards .agr-choice{display:flex}
.agr-cards .agr-cbody{width:100%;border-radius:24px;padding:14px 22px 14px 52px;align-items:flex-start;text-align:left}
.agr-cards .agr-cbody::before{content:"";position:absolute;left:20px;top:17px;width:18px;height:18px;border-radius:50%;border:2px solid var(--agr-blue);background:#fff}
.agr-cards .agr-ci:checked + .agr-cbody{background:var(--agr-blue-tint);color:var(--agr-blue);box-shadow:inset 0 0 0 1px var(--agr-blue)}
.agr-cards .agr-ci:checked + .agr-cbody::before{border:6px solid var(--agr-green)}
.agr-ctext{font-family:var(--agr-f-semibold);font-weight:600}
.agr-cdesc{font-family:var(--agr-f-regular);font-weight:400;font-size:var(--agr-fs-small);color:var(--agr-grey);margin-top:2px}

/* Notas e avisos */
.agr-note{background:var(--agr-green-tint);border-left:4px solid var(--agr-green);border-radius:0 16px 16px 0;padding:10px 16px;font-size:var(--agr-fs-small);color:var(--agr-blue);margin:-6px 0 20px}
.agr-field .agr-note{margin:12px 0 0}

/* Consentimento */
.agr .agr-consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:var(--agr-fs-small);color:var(--agr-blue);line-height:1.5}
.agr .agr-cbx{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--agr-green);cursor:pointer}

/* Navegação */
.agr-nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:26px}
.agr-nav .agr-next{margin-left:auto}
.agr .agr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 34px;border-radius:var(--agr-pill);border:2px solid transparent;font-family:var(--agr-f-semibold);font-weight:600;font-size:var(--agr-fs-button);line-height:1;cursor:pointer;text-decoration:none;transition:background .15s, transform .1s}
.agr .agr-next{background:var(--agr-green);color:#fff;border-color:var(--agr-green)}
.agr .agr-next:hover{background:var(--agr-green-dark);border-color:var(--agr-green-dark);color:#fff}
.agr .agr-next:active{transform:translateY(1px)}
.agr .agr-back{background:transparent;color:var(--agr-blue);border-color:var(--agr-blue)}
.agr .agr-back:hover{background:var(--agr-blue-tint)}
.agr .agr-btn:disabled{opacity:.7;cursor:progress}
.agr .agr-btn.is-loading::after{content:"";width:18px;height:18px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:agrspin .7s linear infinite}
@keyframes agrspin{to{transform:rotate(360deg)}}
.agr .agr-link{all:unset;cursor:pointer;color:var(--agr-blue);text-decoration:underline;font-family:var(--agr-f-semibold);font-weight:600}
.agr .agr-link:focus-visible{outline:3px solid var(--agr-green);outline-offset:2px}

/* Revisão */
.agr-review{display:grid;gap:14px;margin-bottom:22px}
.agr-rsec{border:1px solid var(--agr-line);border-radius:24px;padding:14px 20px}
.agr-rhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.agr .agr-rtitle{font-family:var(--agr-f-display);font-weight:800;font-size:19px;color:var(--agr-blue);margin:0}
.agr-rlist{display:grid;gap:4px;margin:0}
.agr-ritem{display:grid;grid-template-columns:1fr;gap:0 16px;padding:6px 0;border-top:1px solid var(--agr-blue-tint)}
.agr-ritem:first-child{border-top:0}
.agr .agr-rlist dt{color:var(--agr-grey);font-size:var(--agr-fs-small);font-weight:400}
.agr .agr-rlist dd{margin:0;color:var(--agr-blue);font-family:var(--agr-f-medium);font-weight:500;overflow-wrap:anywhere}

/* Sucesso */
.agr-success{text-align:center;padding:10px 0 4px;outline:none}
.agr-success p{margin:0 auto 12px;max-width:520px;color:var(--agr-blue)}
.agr-success .agr-note{text-align:left;margin:0 auto 14px;max-width:520px}
.agr-ok-ico{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--agr-green);color:#fff;font-size:32px}
.agr-success .agr-wa{margin-top:4px}
.agr-test{text-align:left;margin-top:20px;font-size:13px;color:var(--agr-grey)}
.agr-test pre{white-space:pre-wrap;background:var(--agr-blue-tint);padding:12px;border-radius:12px;max-height:320px;overflow:auto;font-family:ui-monospace,Menlo,monospace}

/* Retomar e confiança */
.agr-resume{background:var(--agr-blue-tint);border-radius:16px;padding:10px 16px;font-size:var(--agr-fs-small);margin:0 0 18px}

/* Armadilha e leitores de ecrã */
.agr-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.agr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Largura do ecrã ----------
   Media queries e não container queries: dentro dos containers flex do Elementor (com quebra de linha),
   container-type faz o navegador calcular uma altura muito maior do que o formulário (espaço branco no telemóvel). */
@media (min-width: 700px){
  .agr-row{grid-template-columns:1fr 1fr}
  .agr-ritem{grid-template-columns:minmax(150px, 40%) 1fr}
}
@media (max-width: 699px){
  .agr-steps{display:none}
  .agr-mprog{display:block}
  .agr .agr-stitle{font-size:22px}
  .agr-stime-n{display:none}
  .agr .agr-btn{font-size:18px;padding:0 24px;flex:1}
  .agr-nav .agr-next{margin-left:0}
  .agr-choices:not(.agr-cards) .agr-choice{flex:1 1 auto}
  .agr-choices:not(.agr-cards) .agr-cbody{width:100%;align-items:center;text-align:center}
  .agr-many .agr-choice{flex:1 1 100%}
}
/* Defesa contra regras do tema com !important (bordas e tipo de letra de input, select, button) */
.agr .agr-input, .agr .agr-select{border:1px solid var(--agr-blue) !important;font-family:var(--agr-f-regular) !important;margin:0 !important}
.agr .agr-invalid .agr-input, .agr .agr-input[aria-invalid="true"]{border:2px solid var(--agr-err) !important}
.agr .agr-input:focus{border-color:var(--agr-blue) !important}
.agr .agr-next{border:2px solid var(--agr-green) !important;font-family:var(--agr-f-semibold) !important}
.agr .agr-next:hover{border-color:var(--agr-green-dark) !important}
.agr .agr-back{border:2px solid var(--agr-blue) !important;font-family:var(--agr-f-semibold) !important}
.agr .agr-si-btn, .agr .agr-link{border:0 !important;font-family:inherit !important;margin:0 !important}
.agr .agr-ci, .agr .agr-cbx{margin:0 !important;border:0 !important}
.agr .agr-cbx{margin-top:1px !important}

@media (prefers-reduced-motion: reduce){ .agr *{transition:none !important;animation:none !important} }
/* Cartões com caixa de seleção (escolha múltipla) */
.agr-cards .agr-ci[type=checkbox] + .agr-cbody{padding-left:22px}
.agr-cards .agr-ci[type=checkbox] + .agr-cbody::before{display:none}
.agr-cards .agr-ci[type=checkbox] + .agr-cbody .agr-cdesc{padding-left:26px}
.agr-cards .agr-ci[type=checkbox]:checked + .agr-cbody .agr-ctext::before{border-color:var(--agr-green)}
@media (min-width: 700px){ .agr-cards{grid-template-columns:1fr 1fr} }
.agr .agr-select{color:var(--agr-blue)}
