/* dos-puertas.css — las dos puertas del profesional en la web (obra 6, tramo 2,
   frente F · 2026-10-24): la invitación (/es/invitacion/), el directorio
   (/es/profesionales/directorio/) y lo que comparten. Prefijo dp-; no toca
   main.css. Celular primero (390 px, gutter 16), sin scroll horizontal.
   Colores del mockup: azul marino #001450 · verde #1E6B3A · crema #F5F3EC. */
.dp-main{font-family:'Montserrat',sans-serif;color:#1B2536;background:#FAFAF6;}
.dp-wrap{max-width:1100px;margin:0 auto;padding:0 16px;box-sizing:border-box;}
.dp-wrap.dp-estrecho{max-width:620px;padding:28px 16px 40px;}
.dp-cuerpo{padding:24px 16px 40px;}
.dp-cab{margin:8px 0 18px;}
.dp-h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;line-height:1.08;font-weight:600;color:#001450;margin:0 0 8px;overflow-wrap:anywhere;}
.dp-h1.claro,.dp-lead.claro{color:#fff;}
.dp-lead{font-size:15px;line-height:1.6;color:#5A6573;margin:0;max-width:680px;}
.dp-lead.claro{color:rgba(255,255,255,.86);}
.dp-h2{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;color:#001450;margin:0 0 4px;line-height:1.3;}
.dp-sub{font-size:13.5px;line-height:1.55;color:#5A6573;margin:0 0 14px;}
.dp-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:#C9A227;font-weight:700;margin-bottom:12px;}
.dp-hero{background:linear-gradient(160deg,#001450 0%,#0B1F3A 60%,#1B2536 100%);padding:48px 0 40px;}
.dp-hero .dp-h1{font-size:40px;}
/* tarjetas */
.dp-card{background:#fff;border:1px solid #E6E2D6;border-radius:16px;padding:18px;margin:0 0 14px;box-shadow:0 8px 24px rgba(0,20,80,.05);}
.dp-persona{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;}
.dp-avatar{width:64px;height:64px;border-radius:50%;background:#EEF2FA;color:#001450;font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;}
.dp-persona-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dp-persona-nombre{font-size:18px;font-weight:800;color:#001450;}
.dp-persona-dato{font-size:13.5px;color:#5A6573;}
.dp-persona-dato[hidden]{display:none;}
.dp-con-pin::before{content:'';display:inline-block;width:10px;height:10px;border:2px solid #5A6573;border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-right:7px;vertical-align:-1px;}
.dp-vence{font-size:12px;color:#7A8294;white-space:nowrap;align-self:start;}
/* las capas */
.dp-capas{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.dp-capa{display:grid;grid-template-columns:40px 1fr 28px;gap:12px;align-items:center;background:#FAFAF6;border:1px solid #E6E2D6;border-radius:12px;padding:12px 14px;min-height:64px;box-sizing:border-box;}
.dp-capa-ico{width:40px;height:40px;border-radius:10px;background:#EEF2FA;color:#001450;display:inline-flex;align-items:center;justify-content:center;}
.dp-capa-ico svg{width:22px;height:22px;}
.dp-capa-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dp-capa-txt b{font-size:14.5px;color:#001450;line-height:1.25;}
.dp-capa-txt small{font-size:12.5px;color:#5A6573;line-height:1.35;}
.dp-capa-chk{width:26px;height:26px;border-radius:50%;background:#E6E2D6;display:inline-flex;align-items:center;justify-content:center;color:#fff;}
.dp-capa-chk::after{content:'';width:9px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translateY(-1px) rotate(-45deg);display:none;}
.dp-capa.on .dp-capa-chk{background:#1E6B3A;}
.dp-capa.on .dp-capa-chk::after{display:block;}
.dp-capa.off{opacity:.6;}
/* la nota del candado */
.dp-nota{display:flex;gap:12px;align-items:flex-start;background:#F5F3EC;border:1px solid #E6E1D3;border-radius:12px;padding:14px;margin:0 0 16px;}
.dp-nota-ico{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:#fff;color:#001450;display:inline-flex;align-items:center;justify-content:center;}
.dp-nota-ico svg{width:18px;height:18px;}
.dp-nota b{display:block;font-size:14px;color:#001450;margin-bottom:3px;}
.dp-nota p{margin:0;font-size:13px;line-height:1.5;color:#5A6573;}
/* botones */
.dp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 22px;border-radius:12px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .15s;box-sizing:border-box;}
.dp-btn svg{width:20px;height:20px;}
.dp-btn-ancho{width:100%;}
.dp-btn-verde{background:#1E6B3A;color:#fff;}
.dp-btn-verde:hover{background:#17542d;}
.dp-btn-azul{background:#001450;color:#fff;}
.dp-btn-azul:hover{background:#0B1F3A;}
.dp-btn[disabled]{opacity:.7;cursor:wait;}
.dp-ayuda{font-size:12.5px;color:#5A6573;text-align:center;margin:10px 0 0;line-height:1.5;}
.dp-ayuda[hidden]{display:none;}
.dp-error{display:none;margin:12px 0 0;font-size:14px;color:#C41230;background:#FFF5F7;border-radius:10px;padding:12px 14px;line-height:1.5;}
.dp-error.on{display:block;}
/* la franja de la red */
.dp-franja{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;background:#F7EEDC;border:1px solid #EBDDB8;border-radius:14px;padding:14px 16px;margin:18px 0 0;text-decoration:none;color:#1B2536;min-height:64px;}
.dp-franja[hidden]{display:none;}
.dp-franja-ico{width:44px;height:44px;border-radius:50%;background:#fff;color:#8C5A2B;display:inline-flex;align-items:center;justify-content:center;}
.dp-franja-ico svg{width:24px;height:24px;}
.dp-franja-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dp-franja-txt b{font-size:14px;color:#001450;line-height:1.3;}
.dp-franja-txt span{font-size:13px;color:#5A6573;line-height:1.4;}
.dp-franja-flecha{font-size:26px;color:#8C5A2B;line-height:1;}
.dp-franja-cta{font-size:13px;font-weight:700;color:#001450;border:1.5px solid #001450;border-radius:999px;padding:9px 14px;white-space:nowrap;}
/* estados */
.dp-estado{display:flex;gap:10px;align-items:center;font-size:14px;color:#5A6573;background:#fff;border:1px solid #E6E2D6;border-radius:12px;padding:14px 16px;margin:0 0 14px;}
.dp-estado[hidden]{display:none;}
.dp-estado.mal{color:#8C5A2B;background:#FFF4D6;border-color:#EBDDB8;}
.dp-spin{width:16px;height:16px;border:2px solid #C9D2E8;border-top-color:#001450;border-radius:50%;animation:dp-gira .9s linear infinite;flex:0 0 auto;}
@keyframes dp-gira{to{transform:rotate(360deg);}}
.dp-final{text-align:center;padding:28px 18px;}
.dp-chk-grande{width:60px;height:60px;border-radius:50%;background:#E8F1E5;color:#1E6B3A;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;}
.dp-chk-grande.gris{background:#EEF2FA;color:#5A6573;}
.dp-chk-grande svg{width:30px;height:30px;}
.dp-final .dp-btn{margin-top:8px;}
.dp-ruo{font-size:12px;color:#7A8294;text-align:center;margin:28px 0 0;line-height:1.55;}
/* el directorio */
.dp-filtros{display:grid;gap:10px;grid-template-columns:1fr;margin:0 0 14px;}
.dp-filtro{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:#001450;}
.dp-filtro select{font-family:'Montserrat',sans-serif;font-size:15px;color:#1B2536;background:#fff;border:1px solid #E0DDD3;border-radius:10px;padding:11px 12px;min-height:48px;width:100%;box-sizing:border-box;}
.dp-filtro select:focus{outline:none;border-color:#C9A227;box-shadow:0 0 0 3px rgba(201,162,39,.18);}
.dp-contador{font-size:13px;color:#5A6573;margin:0 0 10px;min-height:18px;}
.dp-grid{display:grid;gap:14px;grid-template-columns:1fr;}
.dp-pro{background:#fff;border:1px solid #E6E2D6;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,20,80,.05);display:flex;flex-direction:column;gap:12px;}
.dp-pro-cab{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;}
.dp-pro-foto{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#EEF2FA;display:block;}
.dp-pro-nombre{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:800;color:#001450;margin:0 0 2px;line-height:1.25;}
.dp-pro-tipo{font-size:13.5px;color:#5A6573;margin:0 0 6px;}
.dp-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:5px 10px;background:#EEF2FA;color:#001450;}
.dp-chip-verde{background:#E8F1E5;color:#1E6B3A;}
.dp-chip-verde::before{content:'';width:8px;height:8px;border-radius:50%;background:#1E6B3A;}
.dp-pro-sello{display:flex;gap:7px;align-items:center;font-size:12.5px;color:#001450;margin:0;}
.dp-pro-sello svg{width:16px;height:16px;flex:0 0 auto;}
.dp-pro-pres{font-size:13.5px;line-height:1.55;color:#1B2536;margin:0;}
.dp-chips{display:flex;flex-wrap:wrap;gap:6px;}
.dp-pro-mod{font-size:13px;color:#5A6573;margin:0;}
.dp-lugares{font-size:13px;color:#1B2536;background:#FAFAF6;border:1px solid #E6E2D6;border-radius:10px;padding:10px 12px;}
.dp-lugares b{display:block;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:#5A6573;margin-bottom:4px;}
.dp-lugares ul{list-style:none;margin:0;padding:0;display:grid;gap:3px;}
.dp-pro .dp-btn{margin-top:auto;}
@media (min-width:700px){
  .dp-filtros{grid-template-columns:repeat(3,1fr);}
  .dp-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));}
  .dp-h1{font-size:42px;}
}
@media (max-width:420px){
  .dp-persona{grid-template-columns:56px 1fr;}
  .dp-avatar{width:56px;height:56px;font-size:26px;}
  .dp-vence{grid-column:2;}
  .dp-franja{grid-template-columns:40px 1fr auto;gap:10px;}
  .dp-franja-cta{grid-column:2 / span 2;justify-self:start;}
}
@media (prefers-reduced-motion:reduce){.dp-btn{transition:none;}.dp-spin{animation:none;}}
