/* Viapostille: two-step pre-check form. Loaded only on /start/ and /fr/demarrer/. */

/* iOS Safari zooms into any field under 16px on focus: keep them at 16px. */
form[data-steps] input, form[data-steps] select, form[data-steps] textarea{font-size:16px;min-height:48px}
form[data-steps] textarea{min-height:110px}
form[data-steps] fieldset{border:0;min-width:0}
form[data-steps] .pc-invalid{border-color:var(--seal);box-shadow:0 0 0 3px rgba(194,64,42,.12)}

/* Step indicator: only meaningful once the script runs */
.pc-steps{display:none}
.pc-js .pc-steps{display:flex;gap:10px;list-style:none;margin:6px 0 4px;counter-reset:none}
.pc-steps li{flex:1;display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:600;color:var(--light);
  padding:0 0 12px;border-bottom:3px solid var(--line);transition:color .2s,border-color .2s}
.pc-steps li span{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--tint);color:var(--light);font-family:var(--mono);font-size:.8rem;flex:none;transition:background .2s,color .2s}
.pc-steps li.on{color:var(--registry);border-color:var(--registry)}
.pc-steps li.on span{background:var(--registry);color:#fff}

.pc-legend{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--registry);margin:22px 0 2px;padding:0}
.pc-legend span{color:var(--light);letter-spacing:.04em;text-transform:none;font-family:var(--body);font-size:.84rem}
.pc-step{animation:pcIn .25s ease}
@keyframes pcIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pc-step{animation:none}}

.pc-nav{display:flex;gap:12px;align-items:center;margin-top:26px;flex-wrap:wrap}
.pc-nav .btn{min-height:50px}
.pc-js .pc-next,.pc-js [data-submit]{flex:1 1 auto}
.pc-reassure{font-size:.86rem;color:var(--mid);margin-top:12px;display:flex;gap:8px;align-items:flex-start}
.pc-reassure::before{content:"";width:16px;height:16px;flex:none;margin-top:2px;border-radius:50%;
  background:var(--registry3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat}
.pc-canada{margin-top:10px;font-size:.9rem;background:#fdf6f4;border:1px solid #f3ddd6;border-left:4px solid var(--seal);border-radius:6px;padding:12px 14px;color:var(--mid)}

/* Uploader */
.pc-up{margin-top:18px;border:1.5px dashed var(--line);border-radius:10px;padding:16px;background:#fff}
.pc-up-label{font-weight:600;font-size:.88rem;margin:0 0 10px}
.pc-up-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc-up-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 12px!important}
.pc-up-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;flex:none}
.pc-up-btn[disabled]{opacity:.45;cursor:not-allowed}
.pc-up-list{list-style:none;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}
.pc-up-list:empty{display:none}
.pc-up-item{display:flex;align-items:center;gap:12px;background:var(--tint);border-radius:8px;padding:8px 8px 8px 8px}
.pc-up-th{width:44px;height:44px;border-radius:6px;background:#fff;border:1px solid var(--line);overflow:hidden;flex:none;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.68rem;color:var(--registry)}
.pc-up-th img{width:100%;height:100%;object-fit:cover}
.pc-up-nm{flex:1;min-width:0;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-up-nm small{display:block;color:var(--light);font-size:.78rem}
.pc-up-rm{width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--mid);font-size:1.3rem;line-height:1;cursor:pointer;flex:none}
.pc-up-rm:hover{color:var(--seal)}
.pc-up-wait{color:var(--mid);font-size:.88rem;padding:14px}
.pc-up-meter{position:relative;height:6px;border-radius:3px;background:var(--tint2);margin:14px 0 22px}
.pc-up-meter span{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--registry3);transition:width .3s}
.pc-up-meter.over span{background:var(--seal)}
.pc-up-meter::after{content:attr(data-label);position:absolute;top:10px;left:0;font-size:.76rem;color:var(--light);font-family:var(--mono)}
.pc-up-hint{font-size:.8rem;color:var(--light);margin:10px 0 0;line-height:1.5}
.pc-up-raw label{margin-top:10px}

.pc-progress{height:6px;border-radius:3px;background:var(--tint2);margin-top:14px;overflow:hidden}
.pc-progress span{display:block;height:100%;width:0;background:var(--registry);transition:width .2s}
.pc-error{margin-top:14px;font-size:.9rem;color:var(--seal-dark);background:#fdf6f4;border:1px solid #f3ddd6;border-radius:6px;padding:12px 14px}
.pc-privacy{font-size:.8rem;color:var(--light);margin-top:14px;line-height:1.5}

@media (max-width:640px){
  form[data-steps] .row{grid-template-columns:1fr;gap:0}
  .pc-nav .btn{width:100%}
  .pc-nav{flex-direction:column-reverse;align-items:stretch}
  .pc-steps li{font-size:.78rem}
}
