/* =====================================================================
   CAMPO DE TELEFONE — indicativo com bandeira + número (17/09/2026).
   Extraído da página de carreiras, a pedido do dono, para o formulário de
   contacto. As bandeiras vêm do careers-form/flags.css (.cr-flag).
   ===================================================================== */
.pf { --pf-c: #d60037; --pf-t: #1d2733; --pf-cinz: #5f6b78; --pf-l: #e3e7ec; --pf-bg: #f3f5f7; --pf-ok: #13a150; --pf-erro: #c4002f;
  position: relative; }
.pf-linha { display: grid; grid-template-columns: 128px 1fr; gap: 8px; }
.pf-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pf input[type="tel"] { width: 100%; transition: border-color .2s, box-shadow .2s; }
.pf-ok input[type="tel"] { border-color: var(--pf-ok) !important; padding-right: 38px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%2313a150'/%3E%3Cpath d='M5.8 10.3l2.7 2.7 5.7-5.7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/18px no-repeat; }
.pf-inval input[type="tel"] { border-color: var(--pf-erro) !important; background-color: #fff8f9; }
.pf-dica { margin: 6px 0 0; font-size: 13px; line-height: 18px; color: var(--pf-cinz); min-height: 18px; }
.pf-dica-ok { color: #0f7a3d; font-weight: 700; }
.pf-erro { margin: 6px 0 0; font-size: 13px; line-height: 18px; color: var(--pf-erro); font-weight: 600; }
.pf-dica[hidden], .pf-erro[hidden] { display: none; }

/* o <select> fica (vai no formulário e é o que se vê sem JS); por cima, botão e lista nossos */
.pf-sel { position: relative; }
.pf-sel select { position: absolute !important; left: 0; bottom: 0; width: 100% !important; height: 1px !important;
  min-height: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0; pointer-events: none; }
.pf-sel-b { position: relative; display: flex; align-items: center; width: 100%; height: 100%; min-height: 40px; margin: 0;
  padding: 6px 30px 6px 10px; border: 1px solid #cfd6de; border-radius: 4px; background: #fff;
  font-size: 14px; line-height: 20px; color: var(--pf-t); text-align: left; cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.pf-sel-b:hover { border-color: #aeb8c3; }
.pf-sel-b:focus-visible, .pf-aberta .pf-sel-b { outline: 0; border-color: var(--pf-c); box-shadow: 0 0 0 3px rgba(214,0,55,.14); }
.pf-sel-v { display: inline-flex; align-items: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-sel-v .cr-flag { margin-right: 8px; flex: 0 0 auto; }
.pf-sel-b::after { content: ''; position: absolute; right: 12px; top: 50%; width: 7px; height: 7px; margin-top: -5px;
  border: solid var(--pf-cinz); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s ease, margin .2s ease; }
.pf-aberta .pf-sel-b::after { transform: rotate(-135deg); margin-top: -1px; border-color: var(--pf-c); }
.pf-inval .pf-sel-b { border-color: var(--pf-erro); background: #fff8f9; }
.pf-sel-p { position: absolute; left: 0; top: calc(100% + 6px); z-index: 70; width: min(340px, 86vw); background: #fff;
  border: 1px solid var(--pf-l); border-radius: 12px; box-shadow: 0 18px 40px rgba(29,39,51,.16); transform-origin: 50% 0; }
.pf-cima .pf-sel-p { top: auto; bottom: calc(100% + 6px); transform-origin: 50% 100%; }
.pf-sel-p[hidden] { display: none; }
.pf-sel-p input[type="search"] { display: block; width: calc(100% - 12px); margin: 6px; height: 40px; padding: 0 12px 0 34px;
  border: 1px solid #cfd6de; border-radius: 8px; font-size: 14.5px; color: var(--pf-t); -webkit-appearance: none; appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7683' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 10px center/16px no-repeat; }
.pf-sel-p input[type="search"]:focus { outline: 0; border-color: var(--pf-c); box-shadow: 0 0 0 3px rgba(214,0,55,.14); }
.pf-sel-l { margin: 0; padding: 6px; list-style: none; max-height: 260px; overflow: auto; outline: 0; }
.pf-sel-l li { position: relative; display: flex; align-items: center; margin: 0; padding: 9px 12px 9px 34px; border-radius: 8px;
  font-size: 14.5px; line-height: 20px; color: var(--pf-t); cursor: pointer; transition: background .12s ease; }
.pf-sel-l li .cr-flag { margin-right: 10px; flex: 0 0 auto; }
.pf-sel-l li[hidden] { display: none; }
.pf-sel-l li.pf-act { background: var(--pf-bg); }
.pf-sel-l li[aria-selected="true"] { color: var(--pf-c); font-weight: 700; }
.pf-sel-l li[aria-selected="true"]::before { content: ''; position: absolute; left: 14px; top: 50%; width: 6px; height: 11px;
  margin-top: -7px; border: solid var(--pf-c); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.pf-nada { padding: 12px; font-size: 14px; color: var(--pf-cinz); text-align: center; margin: 0; }
.pf-nada[hidden] { display: none; }
@media (max-width: 400px) { .pf-linha { grid-template-columns: 112px 1fr; } }
@media (prefers-reduced-motion: reduce) { .pf-sel-b, .pf-sel-b::after, .pf input[type="tel"] { transition-duration: .08s; } }
.pf-rot{font:inherit;margin:0;color:inherit;cursor:default}
.pf-dica:empty{min-height:0;margin:0}
