
.rv-check-card{

background:#fff;

border:1px solid #dbe5ef;

border-radius:14px;

padding:20px;

margin-bottom:20px;

box-shadow:0 2px 8px rgba(0,0,0,.04);

}

.rv-check-card h3{

margin:0 0 16px;

font-size:18px;

color:#1d3557;

}

.rv-check-grid{

display:grid;

grid-template-columns:repeat(3,minmax(0,1fr));

gap:10px 16px;

}

.rv-check-item{

display:flex;

align-items:center;

gap:10px;

padding:10px 14px;

border:1px solid #dce6ef;

border-radius:10px;

cursor:pointer;

transition:.2s;

background:#fafcff;

}

.rv-check-item:hover{

background:#eef7ff;

border-color:#48a9e6;

transform:translateY(-2px);

}

.rv-check-item input{

width:18px;

height:18px;

}


.rv-radio-group{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-top:10px;
}

.rv-radio-group label{
padding:10px 14px;
border:1px solid #dce6ef;
border-radius:10px;
background:#fafcff;
cursor:pointer;
transition:.2s;
}

.rv-radio-group label:hover{
background:#eef7ff;
border-color:#2aa7df;
}


.rv-btn-add{

background:#0f6efd;

color:white;

border:none;

padding:10px 16px;

border-radius:10px;

cursor:pointer;

font-weight:600;

margin-bottom:15px;

}

.rv-btn-add:hover{

background:#0b5ed7;

}

.rv-table{

width:100%;

border-collapse:collapse;

}

.rv-table th{

background:#f5f7fb;

padding:12px;

text-align:left;

border-bottom:1px solid #e2e8f0;

}

.rv-table td{

padding:12px;

border-bottom:1px solid #edf2f7;

}


.rv-checkbox-grid,
.rv-radio-grid{

display:grid;

grid-template-columns:repeat(3,minmax(0,1fr));

gap:10px 16px;

margin-top:8px;

}

.rv-check{

display:flex;

align-items:center;

gap:10px;

padding:12px 14px;

border:1px solid #d8e3ef;

border-radius:12px;

background:#fff;

cursor:pointer;

transition:.2s;

}

.rv-check:hover{

border-color:#1f8a70;

background:#f7fbfa;

}


.rv-section{

padding:22px 0;

border-top:1px solid #e5e7eb;

}

.rv-section:first-child{

border-top:none;

padding-top:0;

}

.rv-section-title{

margin:0 0 20px;

font-size:24px;

font-weight:800;

color:#1f3d68;

text-align:center;

}

.rv-section-body{

width:100%;

}


/* Check a la derecha, texto a la izquierda */
.rv-check{
    flex-direction:row;
    justify-content:space-between;
}

.rv-check span{
    order:1;
    text-align:left;
    flex:1;
}

.rv-check input{
    order:2;
    margin-left:12px;
    flex:0 0 auto;
}


/* =========================================
   RAVBA CHECKS - TEXTO IZQUIERDA / CHECK DERECHA
   ========================================= */

.rv-checkbox-grid .rv-check{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    justify-content:initial !important;
    flex-direction:initial !important;
    gap:12px !important;
    padding:12px 14px !important;
}

.rv-checkbox-grid .rv-check span{
    grid-column:1 !important;
    grid-row:1 !important;
    order:initial !important;
    text-align:left !important;
    justify-self:start !important;
    width:auto !important;
    flex:none !important;
}

.rv-checkbox-grid .rv-check input{
    grid-column:2 !important;
    grid-row:1 !important;
    order:initial !important;
    justify-self:end !important;
    margin:0 !important;
    width:18px !important;
    height:18px !important;
}


/* RAVBA: texto izquierda / checkbox derecha */
.rv-checkbox-grid .rv-check{
    display:flex !important;
    flex-direction:row-reverse !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
}

.rv-checkbox-grid .rv-check span{
    order:initial !important;
    flex:1 !important;
    text-align:left !important;
}

.rv-checkbox-grid .rv-check input{
    order:initial !important;
    flex:0 0 auto !important;
    margin:0 !important;
}


/* =========================================
   RAVBA CHECKS — TEXTO IZQ / CHECK DER
   ========================================= */

.rv-checkbox-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(220px,1fr)) !important;
    gap:12px 16px !important;
}

.rv-checkbox-grid .rv-check{
    position:relative !important;
    display:block !important;

    min-height:48px !important;
    box-sizing:border-box !important;

    padding:12px 48px 12px 16px !important;

    border:1px solid #d8e3ef !important;
    border-radius:12px !important;

    background:#f8fafc !important;

    text-align:left !important;
}

.rv-checkbox-grid .rv-check span{
    display:block !important;

    width:auto !important;
    margin:0 !important;
    padding:0 !important;

    text-align:left !important;

    font-weight:600 !important;
    color:#334155 !important;
}

.rv-checkbox-grid .rv-check input{
    position:absolute !important;

    right:15px !important;
    top:50% !important;

    transform:translateY(-50%) !important;

    width:18px !important;
    height:18px !important;

    margin:0 !important;
    padding:0 !important;
}

@media(max-width:1000px){
    .rv-checkbox-grid{
        grid-template-columns:repeat(2,minmax(220px,1fr)) !important;
    }
}

@media(max-width:650px){
    .rv-checkbox-grid{
        grid-template-columns:1fr !important;
    }
}


/* =========================================
   RAVBA CHECKBOX FINAL
   Texto izquierda / checkbox derecha
   ========================================= */

.rv-checkbox-grid .rv-check{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;

    box-sizing:border-box;
    width:100%;
    min-height:48px;

    padding:12px 14px;

    border:1px solid #d8e3ef;
    border-radius:12px;

    background:#f8fafc;
}

.rv-checkbox-grid .rv-check span{
    order:1 !important;
    flex:1 !important;
    text-align:left !important;
}

.rv-checkbox-grid .rv-check input{
    order:2 !important;
    flex:0 0 auto !important;
    margin:0 !important;
    width:18px;
    height:18px;
}


/* =========================================
   RAVBA ANTECEDENTES
   Texto izquierda / checkbox derecha
   ========================================= */

.rv-check-item{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;

    width:100%;
    box-sizing:border-box;

    padding:12px 16px !important;

    border:1px solid #d8e3ef !important;
    border-radius:12px !important;

    background:#f8fafc !important;
}

.rv-check-item span{
    order:1 !important;
    flex:1 !important;
    text-align:left !important;
    color:#334155 !important;
    font-weight:600 !important;
}

.rv-check-item input{
    order:2 !important;
    flex:0 0 auto !important;
    margin:0 !important;
    width:18px !important;
    height:18px !important;
    accent-color:#2563eb;
}

.rv-check-item:hover{
    background:#f1f7ff !important;
    border-color:#93c5fd !important;
}


/* =========================================
   RAVBA HEREDOFAMILIARES — DETALLE
   ========================================= */

.rv-family-item{
    width:100%;
}

.rv-family-detail{
    margin:0 10px 12px 10px;
    padding:18px 20px;

    background:#f1f6fb;

    border-left:3px solid #2563eb;
    border-radius:0 12px 12px 12px;

    box-shadow:inset 0 0 0 1px #e1eaf3;
}

.rv-family-detail[hidden]{
    display:none !important;
}

.rv-family-detail-title{
    font-size:14px;
    font-weight:800;
    color:#1e3a5f;
    margin-bottom:12px;
}

.rv-family-relation{
    margin-bottom:16px;
}

.rv-family-relation > label{
    display:block;
    font-size:13px;
    font-weight:700;
    color:#475569;
    margin-bottom:8px;
}

.rv-family-relations{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
}

.rv-family-relations label{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    color:#334155;
}

.rv-family-detail textarea{
    min-height:75px;
    background:#fff;
}

