/* Formulário do site.
   Nasceu na página de contactos e é agora um componente: a área de cliente usa as
   mesmas classes, e assim os formulários da conta ficam iguais aos do contacto sem
   se duplicar uma linha de CSS. As cores continuam a ser as do original. */
.cform{--cf-primary:#204ce5;--cf-text:#112337;--cf-required:#c02b0a;--cf-border:rgba(28,51,94,.13);--cf-ctrl-border:#686e77;--cf-error:#c02b0a}
.cform{display:block;width:100%;color:var(--text)}
.cform__hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.cform__fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:40px;column-gap:16px}
.cform__field{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0;line-height:15px}
.cform__field--half{grid-column:span 6}
.cform__label{display:block;margin-bottom:8px;font-size:16px;font-weight:500;line-height:1.43;color:var(--navy)}
.cform__legend{margin-bottom:12px;padding:0}
.cform__label-text{padding-right:6px}
.cform__required{font-size:12px;font-weight:500;line-height:1.43;color:var(--cf-required)}
.cform__input{display:block;width:100%;max-width:100%;height:38px;margin:0;padding:0 12px;font-family:var(--font);font-size:14px;font-weight:400;line-height:38px;color:var(--cf-text);background-color:var(--white);border:1px solid var(--cf-border);border-radius:3px;box-shadow:0 0 0 0 transparent;outline:none;appearance:none;-webkit-appearance:none;transition:.15s}
.cform__input::placeholder{color:rgba(17,35,55,.65);opacity:1}
.cform__input:focus{border-color:var(--cf-primary);box-shadow:0 0 0 1px var(--cf-primary)}
.cform__select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:10px;background-position:calc(100% - 12px) 50%;cursor:pointer}
.cform__date{display:flex;position:relative;align-items:center}
.cform__input--date{width:207px;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='rgba(17,35,55,0.65)' d='M15 4h3v13H2V4h3V2h2v2h6V2h2v2zM4 8v7h12V8H4zm1 1h2v2H5V9zm3 0h2v2H8V9zm3 0h2v2h-2V9zm3 0h2v2h-2V9zM5 12h2v2H5v-2zm3 0h2v2H8v-2zm3 0h2v2h-2v-2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 9px) 50%}
.cform__textarea{height:180px;min-height:180px;padding:12px;line-height:1.4;overflow:auto;resize:vertical}
.cform__consent{display:block}
.cform__check{display:grid;grid-template-columns:auto 1fr;align-items:start;width:max-content;max-width:100%;row-gap:16px}
.cform__checkbox{display:grid;place-content:center;width:20px;height:20px;margin:0;font-size:14px;color:var(--cf-text);background-color:var(--white);border:1px solid var(--cf-ctrl-border);border-radius:2px;box-shadow:0 1px 4px 0 rgba(18,25,97,.08);appearance:none;-webkit-appearance:none;cursor:pointer;transition:.15s}
.cform__checkbox:checked{background-color:var(--cf-primary);border-color:var(--cf-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1.5 5l3 3 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.cform__checkbox:focus-visible{outline:2px solid var(--cf-primary);outline-offset:2px}
.cform__check-label{display:block;margin-left:12px;font-size:14px;font-weight:400;line-height:1.43;color:var(--cf-text)}
.cform__check-label a{color:inherit;text-decoration:none}
.cform__check-label a:hover{text-decoration:underline}
.cform__footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;text-align:left}
.cform__submit{display:flex;align-items:center;justify-content:center;column-gap:6px;min-height:38px;margin:0;padding:0 16px;font-family:var(--font);font-size:14px;font-weight:500;line-height:1;text-align:center;color:var(--white);background-color:var(--cf-primary);border:1px solid transparent;border-radius:3px;box-shadow:0 1px 4px 0 rgba(18,25,97,.08);cursor:pointer;transition:.15s}
.cform__submit:hover{background-color:#001ab3}

/* estados */
.cform__error-banner{width:100%;margin-bottom:24px;padding:12px 16px;font-size:14px;line-height:1.5;color:var(--cf-error);background-color:rgba(192,43,10,.08);border:1px solid rgba(192,43,10,.3);border-radius:3px}
.cform__field.is-error .cform__input,.cform__field.is-error .cform__checkbox{border-color:var(--cf-error)}
.cform__field.is-error .cform__label{color:var(--cf-error)}
.cform__confirmation{width:100%;padding:10px;font-size:16px;line-height:1.5;color:var(--navy)}

@media (max-width:640px){
  .cform__field--half{grid-column:1/-1}
}
