/* ANSA Vacantes Plugin - Styles (v1.2: grid 2 col + modales) */
.ansa-vac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:820px){.ansa-vac-grid{grid-template-columns:1fr}}

.ansa-vac-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(58,93,174,.08);border-radius:16px;padding:24px;transition:border-color .25s,box-shadow .25s,transform .25s;box-shadow:0 1px 8px rgba(58,93,174,.04)}
.ansa-vac-card:hover{border-color:rgba(80,158,47,.28);box-shadow:0 14px 38px rgba(58,93,174,.1);transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){.ansa-vac-card,.ansa-vac-card:hover{transform:none}}

.ansa-vac-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.ansa-vac-icon{flex-shrink:0;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(58,93,174,.09),rgba(80,158,47,.1));color:#3A5DAE;font-size:19px}
.ansa-vac-headtxt{min-width:0;flex:1}
.ansa-vac-card h3{font-size:17px;font-weight:800;margin:2px 0 8px;color:var(--ansa-azul);line-height:1.25}

.ansa-vac-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ansa-vac-chips li{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:30px;background:#F0F5FA;border:1px solid rgba(58,93,174,.12);font-size:12px;font-weight:600;color:#2D3748}
.ansa-vac-chips li i{color:#3E7D24;font-size:11px}

.ansa-vac-tag{flex-shrink:0;font-size:11px;font-weight:800;padding:5px 14px;border-radius:30px;font-family:var(--ansa-font-heading)}
.ansa-vac-badge-new{background:rgba(58,93,174,.1);color:#2C4A8F}

.ansa-vac-desc{font-size:13.5px;color:var(--ansa-texto-sec);margin:0 0 16px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.ansa-vac-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(58,93,174,.07)}
.btn-vac-outline{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;font-size:12px;font-weight:700;font-family:inherit;border-radius:50px;cursor:pointer;background:transparent;color:#3A5DAE;border:2px solid #3A5DAE;transition:background .2s,color .2s,box-shadow .2s}
.btn-vac-outline:hover{background:#3A5DAE;color:#fff;box-shadow:0 4px 16px rgba(58,93,174,.25)}
.btn-vac-outline:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}
.btn-vac-aplicar{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-size:12px;font-weight:800;font-family:inherit;border-radius:50px;cursor:pointer;background:#2E7D1E;color:#fff;border:2px solid #2E7D1E;transition:background .2s,box-shadow .2s}
.btn-vac-aplicar:hover{background:#256618;border-color:#256618;box-shadow:0 4px 16px rgba(46,125,30,.3)}
.btn-vac-aplicar:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}

/* banner postulacion espontanea */
.ansa-vac-banner{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid rgba(58,93,174,.1);border-left:4px solid #3A5DAE;border-radius:16px;padding:26px 30px;box-shadow:0 4px 24px rgba(58,93,174,.06)}
.ansa-vac-banner-icon{flex-shrink:0;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(58,93,174,.09),rgba(80,158,47,.12));color:#3E7D24;font-size:22px}
.ansa-vac-banner-txt{flex:1;min-width:0}
.ansa-vac-banner h3{font-size:19px;font-weight:800;color:var(--ansa-azul);margin:0 0 4px}
.ansa-vac-banner p{font-size:14px;color:var(--ansa-texto-sec);margin:0;line-height:1.5}
@media(max-width:640px){.ansa-vac-banner{flex-direction:column;text-align:center}.ansa-vac-banner .btn-vac-aplicar{width:100%;justify-content:center}}

/* modales */
.ansa-vac-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.ansa-vac-modal[hidden]{display:none}
.ansa-vac-modal [hidden]{display:none!important}
.ansa-vac-modal-backdrop{position:absolute;inset:0;background:rgba(7,30,55,.62);backdrop-filter:blur(3px)}
.ansa-vac-modal-dialog{position:relative;z-index:1;width:min(600px,100%);max-height:min(88vh,760px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(7,30,55,.35);animation:ansaVacIn .22s ease-out}
@keyframes ansaVacIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ansa-vac-modal-dialog{animation:none}}
.ansa-vac-modal-close{position:sticky;top:14px;margin-left:auto;margin-right:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:rgba(240,245,250,.95);color:#0B4F8A;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(7,30,55,.14);transition:background .2s,color .2s}
.ansa-vac-modal-close:hover{background:#0B4F8A;color:#fff}
.ansa-vac-modal-close:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}
.ansa-vac-modal-body{padding:0 32px 32px}
.ansa-vac-modal-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#3E7D24;margin:0 0 4px}
.ansa-vac-modal-body > h3,#ansaVacFormTitle{font-size:24px;color:var(--ansa-azul);margin:0 0 14px;line-height:1.2}

.ansa-vac-det-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
.ansa-vac-det-head .ansa-vac-icon{width:54px;height:54px;font-size:21px}
.ansa-vac-det-head h3{font-size:24px;color:var(--ansa-azul);margin:0 0 10px;line-height:1.2}
.ansa-vac-det-content{font-size:14.5px;line-height:1.65;color:#2D3748}
.ansa-vac-det-content p{margin:0 0 12px}
.ansa-vac-det-content ul{margin:0 0 12px;padding-left:22px}
.ansa-vac-det-actions{margin-top:20px;padding-top:18px;border-top:1px solid rgba(58,93,174,.08)}

/* formulario dentro del modal: sin doble tarjeta */
.ansa-vac-modal .ansa-form-card{background:transparent;border:none;box-shadow:none;padding:0;max-width:none}
@media(max-width:480px){
  .ansa-vac-modal{padding:0}
  .ansa-vac-modal-dialog{width:100%;max-height:100dvh;border-radius:0}
  .ansa-vac-modal-body{padding:0 20px 24px}
}

.ansa-form-card{background:#fff;border-radius:var(--ansa-radius);padding:48px;border:1px solid rgba(58,93,174,.08);box-shadow:0 4px 24px rgba(58,93,174,.06);max-width:700px;margin:0 auto}
.ansa-form-card h3{font-size:24px;font-weight:800;margin-bottom:8px;color:var(--ansa-azul)}
.ansa-form-card > p,.ansa-form-card #ansaFormFields > p{color:var(--ansa-texto-sec);font-size:14px;margin-bottom:32px;line-height:1.6}
.ansa-field{margin-bottom:22px}
.ansa-field label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--ansa-texto-sec);margin-bottom:10px;font-family:var(--ansa-font-heading)}
.ansa-field label i{color:var(--ansa-verde);font-size:13px;opacity:.6}
.ansa-field input,.ansa-field select,.ansa-field textarea{width:100%;padding:14px 18px;background:#F8FAFB;border:1px solid #6B7FB0;border-radius:var(--ansa-radius-sm);color:var(--ansa-texto);font-size:15px;font-family:var(--ansa-font-body);transition:all .3s;box-sizing:border-box}
.ansa-field input::placeholder,.ansa-field textarea::placeholder{color:#6B7280}
.ansa-field input:focus,.ansa-field select:focus,.ansa-field textarea:focus{border-color:var(--ansa-azul);box-shadow:0 0 0 4px rgba(58,93,174,.35);background:#fff}
/* Errores de validacion accesibles (3.3.1/3.3.3) */
.ansa-field input[aria-invalid="true"],.ansa-field select[aria-invalid="true"],.ansa-field textarea[aria-invalid="true"]{border-color:#B91C1C;box-shadow:0 0 0 2px rgba(185,28,28,.15)}
.ansa-field-error{display:block;color:#B91C1C;font-size:13px;font-weight:600;margin-top:6px}
.ansa-form-alert{background:rgba(185,28,28,.06);border:1px solid #B91C1C;color:#B91C1C;border-radius:var(--ansa-radius-sm);padding:14px 18px;font-size:14px;font-weight:600;margin-bottom:24px}
.ansa-field textarea{min-height:120px;resize:vertical}
.ansa-field input[type="file"]{padding:12px;font-size:13px;border-style:dashed}
.ansa-field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ansa-field-sep{height:1px;background:rgba(255,255,255,.05);margin:28px 0}
@media(max-width:768px){.ansa-field-row{grid-template-columns:1fr}.ansa-form-card{padding:28px 20px}}

/* mini-cards de vacantes para la Home (shortcode ansa_vacantes_mini) */
.ansa-vac-mini-list{display:flex;flex-direction:column;gap:14px}
a.ansa-vac-mini{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(58,93,174,.1);border-radius:14px;padding:16px 20px;text-decoration:none;box-shadow:0 1px 8px rgba(58,93,174,.05);transition:border-color .25s,box-shadow .25s,transform .25s}
a.ansa-vac-mini:hover,a.ansa-vac-mini:focus-visible{border-color:rgba(80,158,47,.35);box-shadow:0 10px 28px rgba(58,93,174,.12);transform:translateX(5px)}
a.ansa-vac-mini:focus-visible{outline:3px solid #0B4F8A;outline-offset:2px}
@media(prefers-reduced-motion:reduce){a.ansa-vac-mini,a.ansa-vac-mini:hover{transform:none}}
.ansa-vac-mini .ansa-vac-icon{width:44px;height:44px;border-radius:12px;font-size:17px}
.ansa-vac-mini-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ansa-vac-mini-txt strong{font-size:15.5px;font-weight:800;color:var(--ansa-azul);line-height:1.25}
.ansa-vac-mini-txt small{font-size:12.5px;color:var(--ansa-texto-sec)}
.ansa-vac-mini .ansa-vac-tag{margin-left:auto}
.ansa-vac-mini-arrow{color:#3A5DAE;opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s;font-size:14px}
a.ansa-vac-mini:hover .ansa-vac-mini-arrow,a.ansa-vac-mini:focus-visible .ansa-vac-mini-arrow{opacity:1;transform:none}
.ansa-vac-mini .ansa-vac-tag + .ansa-vac-mini-arrow{margin-left:8px}
.ansa-vac-mini-arrow:only-child,.ansa-vac-mini-txt + .ansa-vac-mini-arrow{margin-left:auto}
