/* SmartDent Vacantes — estilos de listado / buscador / fichas / formulario */
/* Alineado a la línea gráfica SmartDent (usa variables del theme: --color-primary etc.) */

.sd-vac-wrap{font-family:var(--font-body,'Inter','Source Sans Pro',system-ui,sans-serif);color:var(--color-dark,#0c1622);max-width:var(--max-width,1180px);margin:0 auto;padding:2.5rem 1.25rem}
.sd-vac-wrap *{box-sizing:border-box}
.sd-vac-wrap a{color:var(--color-primary,#0B6E8F);text-decoration:none}
.sd-vac-wrap h2,.sd-vac-wrap h3{font-family:var(--font-heading,'Inter','Montserrat',sans-serif);color:var(--color-dark,#0c1622);line-height:1.15;font-weight:800}
.sd-vac-wrap p{color:#3d4a57;max-width:62ch}

/* ===== Hero (Postula aquí) ===== */
.sd-vac-hero{background:linear-gradient(135deg,var(--color-primary,#083f52) 0%,var(--color-secondary,#0096C7) 100%);border-radius:var(--radius-xl,1.05rem);padding:3.2rem 2.2rem;color:#fff;margin:0 0 2.6rem;position:relative;overflow:hidden}
.sd-vac-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08)}
.sd-vac-hero h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem);margin:0 0 .8rem;position:relative;z-index:1}
.sd-vac-hero p{color:rgba(255,255,255,.92);font-size:clamp(.95rem,1.4vw,1.12rem);max-width:640px;position:relative;z-index:1}
.sd-vac-hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem;position:relative;z-index:1}
.sd-vac-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.82rem 1.5rem;border-radius:var(--radius-md,.65rem);font-weight:700;font-size:.98rem;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;border:none;line-height:1}
.sd-vac-btn:hover{transform:translateY(-2px)}
.sd-vac-btn--primary{background:var(--color-secondary,#00B4D8);color:#062b38!important}
.sd-vac-btn--ghost{background:rgba(255,255,255,.16);color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.sd-vac-btn--solid{background:var(--color-primary,#0B6E8F);color:#fff!important}
.sd-vac-btn--light{background:#fff;color:var(--color-primary,#0B6E8F)!important}

/* ===== Buscador / filtros ===== */
.sd-vac-search{background:#fff;border:1px solid #e5eaf0;border-radius:var(--radius-lg,.85rem);padding:1.6rem;box-shadow:var(--shadow-card,0 1px 2px rgba(12,22,34,.06),0 8px 20px rgba(12,22,34,.06));margin-bottom:2.2rem}
.sd-vac-search__title{margin:0 0 1.1rem;font-size:1.15rem}
.sd-vac-search form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}
.sd-vac-field{display:flex;flex-direction:column;gap:.35rem;flex:1 1 220px}
.sd-vac-field label{font-size:.8rem;font-weight:700;color:#5a6876;text-transform:uppercase;letter-spacing:.03em}
.sd-vac-field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230B6E8F' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1rem center;border:1.5px solid #d7dee6;border-radius:var(--radius-md,.6rem);padding:.78rem 2.4rem .78rem .95rem;font-size:.98rem;color:var(--color-dark,#0c1622);cursor:pointer;font-family:inherit}
.sd-vac-field select:focus{outline:none;border-color:var(--color-primary,#0B6E8F);box-shadow:0 0 0 3px rgba(11,110,143,.14)}
.sd-vac-form__submit{padding:.78rem 1.5rem;background:var(--color-primary,#0B6E8F);color:#fff;border:none;border-radius:var(--radius-md,.6rem);font-weight:700;font-size:.98rem;cursor:pointer;font-family:inherit}
.sd-vac-form__submit:hover{background:var(--color-primary-dark,#083f52)}
.sd-vac-count{color:#5a6876;font-size:.88rem;margin:1rem 0 .4rem}

/* ===== Grid de tarjetas ===== */
.sd-vac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;margin-top:1rem}
.sd-vac-card{background:#fff;border:1px solid #e5eaf0;border-radius:var(--radius-lg,.85rem);padding:1.7rem 1.6rem;box-shadow:var(--shadow-card,0 1px 2px rgba(12,22,34,.05),0 10px 24px rgba(12,22,34,.06));display:flex;flex-direction:column;gap:.85rem;transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}
.sd-vac-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--color-primary,#0B6E8F),var(--color-secondary,#00B4D8))}
.sd-vac-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated,0 18px 44px rgba(12,22,34,.16))}
.sd-vac-card__title{font-size:1.28rem;margin:0;line-height:1.2}
.sd-vac-card__meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:.88rem;color:#5a6876}
.sd-vac-card__meta span{display:inline-flex;align-items:center;gap:.35rem}
.sd-vac-card__foot{margin-top:auto;padding-top:.6rem}
.sd-vac-card__link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--color-primary,#0B6E8F)}
.sd-vac-card__link::after{content:"→";transition:transform .15s ease}
.sd-vac-card:hover .sd-vac-card__link::after{transform:translateX(3px)}

/* ===== Estado vacío ===== */
.sd-vac-empty{text-align:center;padding:3rem 1rem;color:#5a6876}
.sd-vac-empty__big{font-size:2.4rem;margin-bottom:.6rem}
.sd-vac-empty h3{margin:0 0 .5rem}

/* ===== Ficha individual de vacante ===== */
.sd-vac-single{max-width:820px;margin:0 auto}
.sd-vac-single__badge{display:inline-block;background:var(--color-secondary,#00B4D8);color:#062b38;font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;margin-bottom:1rem}
.sd-vac-single h1{font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 1.1rem;color:var(--color-dark,#0c1622);line-height:1.12}
.sd-vac-single__keyfacts{display:flex;flex-wrap:wrap;gap:1rem;margin:1.4rem 0 2.2rem;padding:1.1rem 1.3rem;background:#fff;border:1px solid #e5eaf0;border-radius:var(--radius-lg,.85rem)}
.sd-vac-single__fact{display:flex;align-items:center;gap:.6rem;font-size:.98rem;color:#3d4a57}
.sd-vac-single__fact b{color:var(--color-dark,#0c1622)}
.sd-vac-block{margin-bottom:2rem}
.sd-vac-block h2{font-size:1.3rem;margin:0 0 .8rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-secondary,#00B4D8);display:inline-block}
.sd-vac-block ul{list-style:none;padding:0;margin:.5rem 0 0}
.sd-vac-block ul li{position:relative;padding-left:1.6rem;margin-bottom:.6rem;color:#3d4a57;line-height:1.55}
.sd-vac-block ul li::before{content:"▸";position:absolute;left:0;color:var(--color-secondary,#00B4D8);font-weight:700}

/* ===== CTA "¿Te gustaría ser parte?" + Postulación Proactiva ===== */
.sd-vac-cta{background:linear-gradient(135deg,var(--color-primary,#083f52) 0%,var(--color-secondary,#0096C7) 100%);color:#fff;border-radius:var(--radius-lg,.85rem);padding:2.4rem 2rem;text-align:center;margin:2.6rem 0}
.sd-vac-cta h3{color:#fff;font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 .6rem}
.sd-vac-cta p{color:rgba(255,255,255,.9);margin:0 auto 1.3rem;max-width:520px}
.sd-vac-cta .sd-vac-btn{background:#fff;color:var(--color-primary,#0B6E8F)}
.sd-vac-cta .sd-vac-btn:hover{color:var(--color-primary,#0B6E8F)}

/* ===== Formulario de postulación ===== */
.sd-vac-form-box{background:#fff;border:1px solid #e5eaf0;border-radius:var(--radius-xl,1.05rem);padding:2.2rem;box-shadow:var(--shadow-card,0 1px 2px rgba(12,22,34,.06),0 12px 28px rgba(12,22,34,.08));max-width:820px;margin:0 auto}
.sd-vac-form-box h2{display:flex;align-items:center;gap:.6rem;margin:0 0 .5rem}
.sd-vac-form-box .sub{color:#5a6876;margin:0 0 1.6rem;font-size:.96rem}
.sd-vac-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.2rem}
.sd-vac-form-grid .full{grid-column:1/-1}
.sd-vac-form-field{display:flex;flex-direction:column;gap:.4rem}
.sd-vac-form-field label{font-size:.88rem;font-weight:700;color:#3d4a57}
.sd-vac-form-field label .req{color:#d1495b}
.sd-vac-form-field input,.sd-vac-form-field textarea,.sd-vac-form-field select{border:1.5px solid #d7dee6;border-radius:var(--radius-md,.6rem);padding:.8rem .95rem;font-size:.98rem;color:var(--color-dark,#0c1622);font-family:inherit;background:#fff}
.sd-vac-form-field input:focus,.sd-vac-form-field textarea:focus,.sd-vac-form-field select:focus{outline:none;border-color:var(--color-primary,#0B6E8F);box-shadow:0 0 0 3px rgba(11,110,143,.14)}
.sd-vac-form-field textarea{min-height:92px;resize:vertical}
.sd-vac-form-field .hint{font-size:.78rem;color:#8a96a3}
.sd-vac-form-field input.vac-file{padding:.65rem .7rem}
.sd-vac-form__actions{margin-top:1.6rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.sd-vac-form__msg{display:none;border-radius:var(--radius-md,.6rem);padding:1.1rem 1.3rem;margin-bottom:1.3rem;font-size:.98rem;line-height:1.5}
.sd-vac-form__msg--ok{display:block;background:#e7f6ee;border:1px solid #bfe8d0;color:#115d33}
.sd-vac-form__msg--ok .emoji{font-size:1.5rem}
.sd-vac-form__msg--err{display:block;background:#fdecee;border:1px solid #f5c8cd;color:#8f2733}
.sd-vac-note-correo{margin-top:2rem;padding:1.2rem 1.4rem;background:#f1f6fa;border:1px solid #dde7f0;border-radius:var(--radius-md,.65rem);color:#3d4a57;font-size:.94rem}
.sd-vac-note-correo a{font-weight:700;color:var(--color-primary,#0B6E8F);white-space:nowrap}

/* ===== Bandas / "¿Por qué trabajar?" ===== */
.sd-vac-why{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center;background:#fff;border:1px solid #e5eaf0;border-radius:var(--radius-xl,1.05rem);padding:2.4rem;margin:2.6rem 0}
.sd-vac-why h2{margin:0 0 .9rem;font-size:1.55rem}
.sd-vac-why p{color:#3d4a57;line-height:1.6}
.sd-vac-why__molly{text-align:center}
.sd-vac-why__molly img,.sd-vac-why__molly svg{max-width:220px;height:auto}

/* ===== Responsive ===== */
@media(max-width:640px){
  .sd-vac-wrap{padding:1.8rem .9rem}
  .sd-vac-hero{padding:2.3rem 1.4rem}
  .sd-vac-form-grid{grid-template-columns:1fr}
  .sd-vac-why{grid-template-columns:1fr;gap:1.5rem}
  .sd-vac-grid{grid-template-columns:1fr}
  .sd-vac-single__keyfacts{flex-direction:column;gap:.6rem}
  .sd-vac-form-box{padding:1.5rem 1.2rem}
}