/* Formulaire de commande ESTA — Alpha Service Visa */
#esta-order{
    --navy:#10335c; --navy-dk:#0a2545; --blue:#1f6fb2; --red:#e0322b;
    --red-dk:#b3221c; --ink:#1f2d3d; --muted:#64748b; --soft:#eef4fb;
    --line:#e2e8f0; --green:#1f8a4c; --green-bg:#e9f7ef;
    --amber:#b07d10; --amber-bg:#fff5dd; --radius:14px;
    font-family:"Poppins","Helvetica Neue",Arial,sans-serif;
    color:var(--ink); max-width:1100px; margin:0 auto; padding:8px 16px 60px;
    -webkit-font-smoothing:antialiased;
  }
  #esta-order *{box-sizing:border-box;}
  #esta-order h1,#esta-order h2,#esta-order h3{margin:0;color:var(--navy);font-weight:700;line-height:1.25;}
  #esta-order p{margin:0;line-height:1.65;}
  #esta-order a{color:var(--blue);}

  .eo-head{text-align:center;padding:26px 0 8px;}
  .eo-head img{height:54px;width:auto;margin-bottom:14px;}
  .eo-head h1{font-size:30px;}
  .eo-head .sub{color:var(--muted);font-size:15px;margin-top:8px;}

  .eo-steps{display:flex;justify-content:center;gap:8px;margin:24px auto 30px;flex-wrap:wrap;max-width:640px;}
  .eo-step{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:500;}
  .eo-step .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
    background:#fff;border:2px solid var(--line);color:var(--muted);font-weight:700;font-size:14px;transition:.25s;}
  .eo-step.active{color:var(--navy);}
  .eo-step.active .num{background:var(--navy);border-color:var(--navy);color:#fff;}
  .eo-step.done .num{background:var(--green);border-color:var(--green);color:#fff;}
  .eo-step .bar{width:34px;height:2px;background:var(--line);}
  @media(max-width:560px){.eo-step .label{display:none;} .eo-step .bar{width:18px;}}

  .eo-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start;}
  @media(max-width:880px){.eo-grid{grid-template-columns:1fr;}}

  .eo-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:28px;box-shadow:0 6px 22px rgba(16,51,92,.06);}
  .eo-panel h2{font-size:21px;margin-bottom:6px;}
  .eo-panel .hint{color:var(--muted);font-size:14.5px;margin-bottom:22px;}

  /* Étape 1 */
  .eo-chips{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;}
  .eo-chip{flex:1;min-width:64px;padding:18px 0;text-align:center;border:2px solid var(--line);
    border-radius:12px;background:#fff;cursor:pointer;font-weight:700;font-size:20px;color:var(--navy);
    transition:.18s;user-select:none;}
  .eo-chip:hover{border-color:var(--blue);}
  .eo-chip.sel{border-color:var(--red);background:#fff5f4;box-shadow:0 0 0 3px rgba(224,50,43,.12);}
  .eo-chip small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:4px;}
  .eo-stepper{display:flex;align-items:center;gap:18px;justify-content:center;
    background:var(--soft);border-radius:12px;padding:16px;margin-bottom:8px;}
  .eo-stepper button{width:44px;height:44px;border-radius:10px;border:none;background:var(--navy);
    color:#fff;font-size:24px;font-weight:700;cursor:pointer;line-height:1;transition:.15s;}
  .eo-stepper button:hover{background:var(--blue);}
  .eo-stepper button:disabled{opacity:.35;cursor:not-allowed;}
  .eo-stepper .count{font-size:34px;font-weight:800;color:var(--navy);min-width:54px;text-align:center;}
  .eo-stepper .cap{font-size:13px;color:var(--muted);}
  .eo-note{display:flex;gap:10px;align-items:flex-start;background:var(--green-bg);
    border-left:4px solid var(--green);border-radius:10px;padding:14px 16px;margin-top:18px;
    font-size:14px;color:var(--ink);}
  .eo-note b{color:var(--green);}

  /* Étape 2 */
  .eo-pax{border:1px solid var(--line);border-radius:12px;margin-bottom:18px;overflow:hidden;}
  .eo-pax-head{background:var(--soft);padding:13px 18px;font-weight:700;color:var(--navy);
    display:flex;align-items:center;gap:10px;font-size:15.5px;}
  .eo-pax-head .badge{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;
    display:grid;place-items:center;font-size:13px;}
  .eo-pax-body{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
  @media(max-width:560px){.eo-pax-body{grid-template-columns:1fr;}}
  .eo-field{display:flex;flex-direction:column;gap:6px;}
  .eo-field.full{grid-column:1 / -1;}
  .eo-field label{font-size:13px;font-weight:600;color:var(--ink);}
  .eo-field label .req{color:var(--red);}
  .eo-field label .eo-sub{font-weight:500;color:var(--muted);font-size:12px;}
  .eo-field input,.eo-field select{width:100%;padding:11px 12px;border:1px solid var(--line);
    border-radius:9px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:.15s;}
  .eo-field input:focus,.eo-field select:focus{outline:none;border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(31,111,178,.12);}
  .eo-field input.err,.eo-field select.err{border-color:var(--red);background:#fff7f7;}
  .eo-sec-title{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;
    letter-spacing:.6px;margin:8px 0 0;grid-column:1 / -1;}

  /* Téléversements */
  .eo-upload{grid-column:1 / -1;border:2px dashed var(--line);border-radius:11px;padding:16px;
    background:#fbfdff;cursor:pointer;transition:.15s;position:relative;}
  .eo-upload:hover{border-color:var(--blue);background:#f4f9ff;}
  .eo-upload.err{border-color:var(--red);background:#fff7f7;}
  .eo-upload.has{border-style:solid;border-color:var(--green);background:var(--green-bg);}
  .eo-up-inner{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;}
  .eo-up-ico{width:38px;height:38px;border-radius:9px;background:var(--soft);color:var(--navy);
    display:grid;place-items:center;font-size:18px;flex:none;}
  .eo-up-txt small{color:var(--muted);font-size:12px;}
  .eo-up-prev{display:none;align-items:center;gap:12px;}
  .eo-upload.has .eo-up-inner{display:none;}
  .eo-upload.has .eo-up-prev{display:flex;}
  .eo-up-thumb{width:46px;height:46px;border-radius:8px;object-fit:cover;border:1px solid var(--line);flex:none;
    background:#fff;display:grid;place-items:center;font-size:20px;color:var(--navy);}
  .eo-up-meta{flex:1;min-width:0;}
  .eo-up-name{font-weight:600;color:var(--ink);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .eo-up-size{font-size:12px;color:var(--muted);}
  .eo-up-remove{border:none;background:#fff;color:var(--red);border:1px solid #f6cfcc;border-radius:8px;
    width:30px;height:30px;cursor:pointer;font-size:16px;line-height:1;flex:none;}
  .eo-up-remove:hover{background:#fdeceb;}

  /* Bloc conditionnel employeur (s'insère dans la grille) */
  .eo-cond{display:none;}
  .eo-cond.show{display:contents;}

  /* Alerte éligibilité */
  .eo-warn{grid-column:1 / -1;display:none;gap:9px;align-items:flex-start;background:var(--amber-bg);
    border-left:4px solid var(--amber);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--ink);}
  .eo-warn.show{display:flex;}
  .eo-warn b{color:var(--amber);}

  /* Icône info + pop-up spécimen passeport */
  .eo-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;
    border-radius:50%;border:none;background:var(--blue);color:#fff;font-size:12px;font-weight:700;
    font-style:italic;font-family:Georgia,"Times New Roman",serif;cursor:pointer;line-height:1;
    vertical-align:middle;padding:0;}
  .eo-info:hover{background:var(--navy);}
  .eo-modal{position:fixed;inset:0;background:rgba(10,37,69,.72);display:none;align-items:center;
    justify-content:center;z-index:99999;padding:20px;}
  .eo-modal.open{display:flex;}
  .eo-modal-box{background:#fff;border-radius:14px;max-width:680px;width:100%;max-height:90vh;
    overflow:auto;padding:20px;position:relative;box-shadow:0 24px 70px rgba(0,0,0,.45);}
  .eo-modal-box img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line);}
  .eo-modal-cap{margin:12px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5;text-align:center;}
  .eo-modal-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;
    border:none;background:#fff;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;
    box-shadow:0 2px 10px rgba(0,0,0,.25);}
  .eo-modal-close:hover{background:#f1f5f9;}

  /* Étape 3 */
  .eo-recap-pax{display:flex;justify-content:space-between;align-items:center;padding:12px 0;
    border-bottom:1px dashed var(--line);font-size:15px;gap:10px;}
  .eo-recap-pax .nm{color:var(--ink);font-weight:600;}
  .eo-recap-pax .dc{color:var(--muted);font-size:12.5px;text-align:right;white-space:nowrap;}
  .eo-recap-pax .dc .ok{color:var(--green);} .eo-recap-pax .dc .no{color:var(--red);}
  .eo-check{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:14px;color:var(--ink);}
  .eo-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--red);}
  .eo-addon{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);
    border-radius:12px;padding:16px;margin-top:18px;cursor:pointer;transition:.15s;}
  .eo-addon:hover{border-color:var(--blue);}
  .eo-addon.sel{border-color:var(--green);background:var(--green-bg);}
  .eo-addon input{margin-top:3px;width:18px;height:18px;accent-color:var(--green);}
  .eo-addon .t{font-weight:700;color:var(--navy);font-size:15px;}
  .eo-addon .d{font-size:13.5px;color:var(--muted);margin-top:2px;}
  .eo-addon .pr{font-weight:700;color:var(--green);white-space:nowrap;}

  /* Récap latéral */
  .eo-summary{position:sticky;top:20px;background:var(--navy);color:#fff;border-radius:var(--radius);
    padding:26px;box-shadow:0 12px 30px rgba(10,37,69,.25);}
  .eo-summary h3{color:#fff;font-size:18px;margin-bottom:4px;}
  .eo-summary .ssub{color:#bcd4ee;font-size:13px;margin-bottom:18px;}
  .eo-line{display:flex;justify-content:space-between;padding:9px 0;font-size:15px;color:#e6eefa;}
  .eo-line.muted{color:#9db8d6;font-size:13.5px;}
  .eo-hr{height:1px;background:rgba(255,255,255,.18);margin:10px 0;}
  .eo-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;}
  .eo-total .lbl{font-size:15px;color:#bcd4ee;}
  .eo-total .val{font-size:32px;font-weight:800;}
  .eo-pay{margin-top:18px;}
  .eo-secure{display:flex;align-items:center;gap:7px;color:#bcd4ee;font-size:12.5px;margin-top:14px;justify-content:center;}

  .eo-nav{display:flex;gap:12px;margin-top:24px;}
  .eo-btn{flex:1;border:none;border-radius:10px;padding:15px 20px;font-size:16px;font-weight:600;
    font-family:inherit;cursor:pointer;transition:.18s;}
  .eo-btn-primary{background:var(--red);color:#fff;box-shadow:0 6px 16px rgba(224,50,43,.28);}
  .eo-btn-primary:hover{background:var(--red-dk);}
  .eo-btn-ghost{flex:0 0 auto;background:#fff;color:var(--navy);border:2px solid var(--line);}
  .eo-btn-ghost:hover{border-color:var(--navy);}
  .eo-btn-full{width:100%;flex:none;}
  .eo-error-msg{display:none;background:#fdeceb;border:1px solid #f6cfcc;color:var(--red-dk);
    border-radius:10px;padding:12px 15px;font-size:14px;margin-top:16px;}
  .eo-error-msg.show{display:block;}

  #esta-order [data-step]{display:none;}
  #esta-order [data-step].active{display:block;animation:eoIn .3s ease;}
  @keyframes eoIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
