/* Espaciados generales */
.cap-section{margin:1.25rem 0}

/* Botones */
.cap-btn-primary{background:#70599f!important;color:#fff!important;border:1px solid #70599f!important;border-radius:.5rem;padding:.6rem .9rem;cursor:pointer;transition:all .3s ease}
.cap-btn-primary:hover{background:#fff!important;color:#70599f!important}
.cap-btn-secondary{background:#42afa8!important;color:#fff!important;border:1px solid #42afa8!important;border-radius:.5rem;padding:.6rem .9rem;cursor:pointer;transition:all .3s ease}
.cap-btn-secondary:hover{background:#fff!important;color:#42afa8!important}

/* Buscador */
.cap-search-form input[type=text]{padding:.55rem .7rem;border:1px solid #d1d5db;border-radius:.5rem;margin-right:.5rem;min-width:260px;background:#fff}

/* GRID de tarjetas: 2 columnas siempre (responsivo a 1 col en pantallas pequeas) */
.cap-contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:1.25rem}
@media (max-width:1024px){.cap-contacts-grid{grid-template-columns:1fr}}

/* Tarjeta */
.cap-contact-card{background:#fff;border-radius:.75rem;box-shadow:0 6px 16px rgba(0,0,0,.08);padding:1rem;transition:transform .3s ease,box-shadow .3s ease}
.cap-contact-card:hover{transform:translateY(-3px);box-shadow:0 12px 20px rgba(0,0,0,.15)}
.cap-card-inner{display:flex;gap:1rem;align-items:flex-start}
.cap-card-left{flex:0 0 72px;display:flex;align-items:center;justify-content:center}
.cap-contact-card .cap-avatar{width:72px!important;height:72px!important;border-radius:50%!important;object-fit:cover!important;display:block}

/* Encabezado de la tarjeta */
.cap-card-header{margin-bottom:.5rem}
.cap-card-title{margin:0;color:#70599f;font-size:1.15rem}
.cap-card-subtitle{margin:.25rem 0 0 0;color:#424242}

/* Cuerpo en dos columnas dentro de la tarjeta */
.cap-card-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.cap-line{display:flex;gap:.35rem;line-height:1.35}
.cap-label{font-weight:600;color:#374151}
.cap-value{color:#424242}

/* Acciones */
.cap-card-actions{display:flex;gap:.6rem;margin-top:.9rem}
.cap-btn-action{display:inline-flex;gap:.45rem;align-items:center;padding:.5rem .7rem;border-radius:.5rem;text-decoration:none;font-size:.92rem}
.cap-btn-action.cap-edit{background:#f0f2f5;color:#424242}
.cap-btn-action.cap-edit:hover{background:#70599f;color:#fff}
.cap-btn-action.cap-delete{background:#f0f2f5;color:#424242}
.cap-btn-action.cap-delete:hover{background:#e55e7c;color:#fff}

/* Tabla (si se usa) */
.cap-table{width:100%;border-collapse:collapse}
.cap-table th,.cap-table td{border-bottom:1px solid #eee;padding:.6rem .5rem;text-align:left}

/* Collapsible */
.cap-collapsible-panel[hidden]{display:none}

/* ---------- FORMULARIO ---------- */
.cap-form-wrapper{position:relative;z-index:1;background:#fff;border-radius:.75rem;box-shadow:0 6px 16px rgba(0,0,0,.08);padding:1.25rem}
.cap-form{display:block}
.cap-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}
@media (max-width:900px){.cap-grid-2{grid-template-columns:1fr}}
.cap-field{display:flex;flex-direction:column;gap:.35rem}
.cap-field--full{grid-column:1 / -1}
.cap-field label{font-weight:600;color:#374151}
.cap-field input,.cap-field textarea,.cap-field select{
  width:100%;padding:.65rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;box-sizing:border-box
}
.cap-field textarea{resize:vertical}

/* Acciones del formulario con espacio extra */
.cap-actions{display:flex;gap:.75rem;margin-top:1.1rem}
