/**
 * Code generated by Microsoft. Changes to this file are not
 * supported. We recommend that you do not modify this file. Any
 * change to this file will get overwritten with a theme applied using
 * Site Styling panel from Power Apps Portals.
 */
:root {
    --portalThemeColor1: #2E456B;
    --portalThemeColor2: #FFCA4B;
    --portalThemeColor3: #277493;
    --portalThemeColor4: #FEA002;
    --portalThemeColor5: #F3DBB1;
    --portalThemeColor6: #88ABA2;
    --portalThemeColor7: #ffffff;
    --portalThemeColor8: #2A2C2E;
    --portalThemeColor9: #E58700;
    --portalThemeColor10: #e8e3e3;
    --portalThemeColor11:#2A2C2E;
    --portalThemeColor12:#2A2C2E;
    --portalThemeOnColor1: #ffffff;
    --portalThemeOnColor2: #2A2C2E;
    --portalThemeOnColor3: #ffffff;
    --portalThemeOnColor4: #2A2C2E;
    --portalThemeOnColor5: #2A2C2E;
    --portalThemeOnColor6: #2A2C2E;
    --portalThemeOnColor7: #2A2C2E;
    --portalThemeOnColor8: #ffffff;
    --portalThemeOnColor9: #2A2C2E;
    --portalThemeOnColor10: #2A2C2E;
    --portalThemeOnColor11:#2A2C2E;
    --portalThemeOnColor12:#2A2C2E;
}

[data-component-theme="portalThemeColor1"] {
    background-color: var(--portalThemeColor1);
    color: var(--portalThemeOnColor1);
}

    [data-component-theme="portalThemeColor1"] h1,
    [data-component-theme="portalThemeColor1"] h2,
    [data-component-theme="portalThemeColor1"] h3,
    [data-component-theme="portalThemeColor1"] h4,
    [data-component-theme="portalThemeColor1"] h5,
    [data-component-theme="portalThemeColor1"] h6,
    [data-component-theme="portalThemeColor1"] p,
    [data-component-theme="portalThemeColor1"] p.smallText {
        color: var(--portalThemeOnColor1);
    }

[data-component-theme="portalThemeColor2"] {
    background-color: var(--portalThemeColor2);
    color: var(--portalThemeOnColor2);
}

    [data-component-theme="portalThemeColor2"] h1,
    [data-component-theme="portalThemeColor2"] h2,
    [data-component-theme="portalThemeColor2"] h3,
    [data-component-theme="portalThemeColor2"] h4,
    [data-component-theme="portalThemeColor2"] h5,
    [data-component-theme="portalThemeColor2"] h6,
    [data-component-theme="portalThemeColor2"] p,
    [data-component-theme="portalThemeColor2"] p.smallText {
        color: var(--portalThemeOnColor2);
    }

[data-component-theme="portalThemeColor3"] {
    background-color: var(--portalThemeColor3);
    color: var(--portalThemeOnColor3);
}

    [data-component-theme="portalThemeColor3"] h1,
    [data-component-theme="portalThemeColor3"] h2,
    [data-component-theme="portalThemeColor3"] h3,
    [data-component-theme="portalThemeColor3"] h4,
    [data-component-theme="portalThemeColor3"] h5,
    [data-component-theme="portalThemeColor3"] h6,
    [data-component-theme="portalThemeColor3"] p,
    [data-component-theme="portalThemeColor3"] p.smallText {
        color: var(--portalThemeOnColor3);
    }

[data-component-theme="portalThemeColor4"] {
    background-color: var(--portalThemeColor4);
    color: var(--portalThemeOnColor4);
}

    [data-component-theme="portalThemeColor4"] h1,
    [data-component-theme="portalThemeColor4"] h2,
    [data-component-theme="portalThemeColor4"] h3,
    [data-component-theme="portalThemeColor4"] h4,
    [data-component-theme="portalThemeColor4"] h5,
    [data-component-theme="portalThemeColor4"] h6,
    [data-component-theme="portalThemeColor4"] p,
    [data-component-theme="portalThemeColor4"] p.smallText {
        color: var(--portalThemeOnColor4);
    }

[data-component-theme="portalThemeColor5"] {
    background-color: var(--portalThemeColor5);
    color: var(--portalThemeOnColor5);
}

    [data-component-theme="portalThemeColor5"] h1,
    [data-component-theme="portalThemeColor5"] h2,
    [data-component-theme="portalThemeColor5"] h3,
    [data-component-theme="portalThemeColor5"] h4,
    [data-component-theme="portalThemeColor5"] h5,
    [data-component-theme="portalThemeColor5"] h6,
    [data-component-theme="portalThemeColor5"] p,
    [data-component-theme="portalThemeColor5"] p.smallText {
        color: var(--portalThemeOnColor5);
    }

[data-component-theme="portalThemeColor6"] {
    background-color: var(--portalThemeColor6);
    color: var(--portalThemeOnColor6);
}

    [data-component-theme="portalThemeColor6"] h1,
    [data-component-theme="portalThemeColor6"] h2,
    [data-component-theme="portalThemeColor6"] h3,
    [data-component-theme="portalThemeColor6"] h4,
    [data-component-theme="portalThemeColor6"] h5,
    [data-component-theme="portalThemeColor6"] h6,
    [data-component-theme="portalThemeColor6"] p,
    [data-component-theme="portalThemeColor6"] p.smallText {
        color: var(--portalThemeOnColor6);
    }

[data-component-theme="portalThemeColor7"] {
    background-color: var(--portalThemeColor7);
    color: var(--portalThemeOnColor7);
}

    [data-component-theme="portalThemeColor7"] h1,
    [data-component-theme="portalThemeColor7"] h2,
    [data-component-theme="portalThemeColor7"] h3,
    [data-component-theme="portalThemeColor7"] h4,
    [data-component-theme="portalThemeColor7"] h5,
    [data-component-theme="portalThemeColor7"] h6,
    [data-component-theme="portalThemeColor7"] p,
    [data-component-theme="portalThemeColor7"] p.smallText {
        color: var(--portalThemeOnColor7);
    }

[data-component-theme="portalThemeColor8"] {
    background-color: var(--portalThemeColor8);
    color: var(--portalThemeOnColor8);
}

    [data-component-theme="portalThemeColor8"] h1,
    [data-component-theme="portalThemeColor8"] h2,
    [data-component-theme="portalThemeColor8"] h3,
    [data-component-theme="portalThemeColor8"] h4,
    [data-component-theme="portalThemeColor8"] h5,
    [data-component-theme="portalThemeColor8"] h6,
    [data-component-theme="portalThemeColor8"] p,
    [data-component-theme="portalThemeColor8"] p.smallText {
        color: var(--portalThemeOnColor8);
    }

[data-component-theme="portalThemeColor9"] {
    background-color: var(--portalThemeColor9);
    color: var(--portalThemeOnColor9);
}

    [data-component-theme="portalThemeColor9"] h1,
    [data-component-theme="portalThemeColor9"] h2,
    [data-component-theme="portalThemeColor9"] h3,
    [data-component-theme="portalThemeColor9"] h4,
    [data-component-theme="portalThemeColor9"] h5,
    [data-component-theme="portalThemeColor9"] h6,
    [data-component-theme="portalThemeColor9"] p,
    [data-component-theme="portalThemeColor9"] p.smallText {
        color: var(--portalThemeOnColor9);
    }

[data-component-theme="portalThemeColor10"] {
    background-color: var(--portalThemeColor10);
    color: var(--portalThemeOnColor10);
}

    [data-component-theme="portalThemeColor10"] h1,
    [data-component-theme="portalThemeColor10"] h2,
    [data-component-theme="portalThemeColor10"] h3,
    [data-component-theme="portalThemeColor10"] h4,
    [data-component-theme="portalThemeColor10"] h5,
    [data-component-theme="portalThemeColor10"] h6,
    [data-component-theme="portalThemeColor10"] p,
    [data-component-theme="portalThemeColor10"] p.smallText {
        color: var(--portalThemeOnColor10);
    }

[data-component-theme="portalThemeColor11"] {
    background-color: var(--portalThemeColor11);
    color: var(--portalThemeOnColor11);
}

    [data-component-theme="portalThemeColor11"] h1,
    [data-component-theme="portalThemeColor11"] h2,
    [data-component-theme="portalThemeColor11"] h3,
    [data-component-theme="portalThemeColor11"] h4,
    [data-component-theme="portalThemeColor11"] h5,
    [data-component-theme="portalThemeColor11"] h6,
    [data-component-theme="portalThemeColor11"] p,
    [data-component-theme="portalThemeColor11"] p.smallText {
        color: var(--portalThemeOnColor11);
    }

[data-component-theme="portalThemeColor12"] {
    background-color: var(--portalThemeColor12);
    color: var(--portalThemeOnColor12);
}

    [data-component-theme="portalThemeColor12"] h1,
    [data-component-theme="portalThemeColor12"] h2,
    [data-component-theme="portalThemeColor12"] h3,
    [data-component-theme="portalThemeColor12"] h4,
    [data-component-theme="portalThemeColor12"] h5,
    [data-component-theme="portalThemeColor12"] h6,
    [data-component-theme="portalThemeColor12"] p,
    [data-component-theme="portalThemeColor12"] p.smallText {
        color: var(--portalThemeOnColor12);
    }

body {
    color: #000000;
    background-color: #ffffff;
}

/*Nuevo*/
@font-face {
    font-family: 'Metropolis';
    src: url('./metropolis.woff2');
}


legend {
    color: #000000;
}

footer {
    color: #2A2C2E;
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 16px;
}

    footer .footer-bottom {
        background-color: #2E456B;
    }

.columnBlockLayout {
    margin-top: 60px;
    margin-bottom: 60px;
    padding: 16px;
}

.ppFlexContainer {
    display: flex;
    flex-wrap: wrap;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
}

.sectionBlockLayout .columnBlockLayout:has(.ppFlexContainer) {
    display: block !important;
    height: fit-content !important;
}

.sectionBlockLayout .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

.ppFlexContainer .button1,
.ppFlexContainer .button2 {
    white-space: nowrap;
}

@media (min-width: 768px) {
    .ppFlexContainer {
        flex-basis: 0%;
    }
}

.breadcrumb {
    background-color: transparent;
}

    .breadcrumb > li a {
        color: #2A2C2E;
    }

        .breadcrumb > li a:hover {
            color: #2A2C2E;
        }

    .breadcrumb > .active {
        color: #000000;
    }

.nav-tabs > li > a:hover {
    background-color: #f2f2f2;
    color: #2A2C2E;
}

.nav-tabs > li > a:focus {
    background-color: #f2f2f2;
    color: #2A2C2E;
}

.btn-primary {
    color: #2A2C2E;
    background-color: #277493;
    border-color: #277493;
    border-radius: 2px;
    font-family: 'Metropolis';
    font-weight: 600;
    font-size: 14px;
    padding: 6px 20px;
    width: fit-content;
    border-style: solid;
    background-color: #277493;
    color: #2A2C2E;
}

    .btn-primary:hover {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

    .btn-primary:active,
    .btn-primary.active {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

        .btn-primary:active:hover,
        .btn-primary:active:focus,
        .btn-primary:active.focus,
        .btn-primary.active:hover,
        .btn-primary.active:focus,
        .btn-primary.active.focus {
            color: #2A2C2E;
            background-color: #277493;
            border-color: #277493;
        }

    .btn-primary:focus,
    .btn-primary.focus {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

.static-top.navbar-dark {
    background-color: #ffffff;
}

.navbar-toggler {
    background-color: #277493;
}

.static-top.navbar .menu-bar > .navbar-nav > li > a {
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 20px;
    border: 1px solid transparent;
}

    .static-top.navbar .menu-bar > .navbar-nav > li > a:hover {
        text-decoration: Underline;
    }

.navbar-dark .navbar-toggler {
    border: 1px solid #277493;
}

    .navbar-dark .navbar-toggler:hover {
        background-color: #277493;
        border-color: #277493;
    }

    .navbar-dark .navbar-toggler:focus {
        border: 1px solid #000000;
        background-color: #277493;
    }

    .navbar-dark .navbar-toggler .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8, %3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%232A2C2E'  stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
    }

.navbar-dark .navbar-nav > li > a,
.navbar-dark .navbar-nav > li.dropdown > a {
    color: #2A2C2E;
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 20px;
}

    .navbar-dark .navbar-nav > li > a:hover,
    .navbar-dark .navbar-nav > li.dropdown > a:hover {
        background-color: #FEA002;
        color: #000000;
        text-decoration: Underline;
    }

    .navbar-dark .navbar-nav > li > a:focus,
    .navbar-dark .navbar-nav > li.dropdown > a:focus {
        background-color: #FEA002;
        color: #000000;
        text-decoration: Underline;
    }

    .navbar-dark .navbar-nav > li > a:focus-visible,
    .navbar-dark .navbar-nav > li.dropdown > a:focus-visible {
        background-color: #FEA002;
        color: #000000;
        text-decoration: Underline;
    }

.navbar-dark .navbar-nav a.show,
.navbar-dark .navbar-nav a.dropdown-toggle.show {
    color: #000000;
    background-color: #FEA002;
    text-decoration: Underline;
}

    .navbar-dark .navbar-nav a.show:hover,
    .navbar-dark .navbar-nav a.dropdown-toggle.show:hover {
        color: #000000;
        background-color: #FEA002;
        text-decoration: Underline;
    }

    .navbar-dark .navbar-nav a.show:focus,
    .navbar-dark .navbar-nav a.dropdown-toggle.show:focus {
        color: #000000;
        background-color: #FEA002;
        text-decoration: Underline;
    }

.navbar-dark .navbar-nav .show.dropdown-menu {
    background-color: #FEA002;
    text-decoration: none;
}

    .navbar-dark .navbar-nav .show.dropdown-menu > li > a {
        color: #000000;
        text-decoration: none;
    }

        .navbar-dark .navbar-nav .show.dropdown-menu > li > a:hover {
            background-color: #000000;
            color: #FEA002;
            text-decoration: Underline;
        }

        .navbar-dark .navbar-nav .show.dropdown-menu > li > a:focus {
            background-color: #000000;
            color: #FEA002;
            text-decoration: Underline;
        }

    .navbar-dark .navbar-nav .show.dropdown-menu > .active > a {
        background-color: #000000;
        color: #FEA002;
        text-decoration: Underline;
    }

        .navbar-dark .navbar-nav .show.dropdown-menu > .active > a:hover {
            background-color: #000000;
            color: #FEA002;
            text-decoration: Underline;
        }

        .navbar-dark .navbar-nav .show.dropdown-menu > .active > a:focus {
            background-color: #000000;
            color: #FEA002;
            text-decoration: Underline;
        }

.nav > li > a {
    text-decoration: none;
}

    .nav > li > a:hover {
        background-color: #f2f2f2;
    }

    .nav > li > a:focus {
        background-color: #f2f2f2;
    }

.nav .show.dropdown-menu {
    background-color: #ffffff;
}

    .nav .show.dropdown-menu > li > a {
        text-decoration: none;
        color: #000000;
    }

        .nav .show.dropdown-menu > li > a:hover {
            background-color: #f2f2f2;
            color: #000000;
        }

        .nav .show.dropdown-menu > li > a:focus {
            background-color: #f2f2f2;
            color: #000000;
        }

    .nav .show.dropdown-menu > .active > a {
        background-color: #f2f2f2;
        color: #000000;
    }

        .nav .show.dropdown-menu > .active > a:hover {
            background-color: #f2f2f2;
            color: #000000;
        }

        .nav .show.dropdown-menu > .active > a:focus {
            background-color: #f2f2f2;
            color: #000000;
        }

.nav > .dropdown > a.show {
    text-decoration: none;
    background-color: Underline;
}

    .nav > .dropdown > a.show:hover {
        background-color: Underline;
    }

    .nav > .dropdown > a.show:focus {
        background-color: Underline;
    }

@media (min-width: 576px) {

    .row.sectionBlockLayout > .container,
    .row.sectionBlockLayout > .container-sm {
        max-width: 540px;
    }
}

@media (min-width: 768px) {

    .row.sectionBlockLayout > .container,
    .row.sectionBlockLayout > .container-md,
    .row.sectionBlockLayout > .container-sm {
        max-width: 720px;
    }
}

@media (min-width: 992px) {

    .row.sectionBlockLayout > .container,
    .row.sectionBlockLayout > .container-lg,
    .row.sectionBlockLayout > .container-md,
    .row.sectionBlockLayout > .container-sm {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {

    .row.sectionBlockLayout > .container,
    .row.sectionBlockLayout > .container-lg,
    .row.sectionBlockLayout > .container-md,
    .row.sectionBlockLayout > .container-sm,
    .row.sectionBlockLayout > .container-xl {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {

    .row.sectionBlockLayout > .container,
    .row.sectionBlockLayout > .container-lg,
    .row.sectionBlockLayout > .container-md,
    .row.sectionBlockLayout > .container-sm,
    .row.sectionBlockLayout > .container-xl,
    .row.sectionBlockLayout > .container-xxl {
        max-width: 1320px;
    }
}

.sectionPrimaryColor {
    background-color: #FFCA4B;
    color: #000000;
}

    .sectionPrimaryColor h1,
    .sectionPrimaryColor h2,
    .sectionPrimaryColor h3,
    .sectionPrimaryColor h4,
    .sectionPrimaryColor h5,
    .sectionPrimaryColor h6,
    .sectionPrimaryColor p,
    .sectionPrimaryColor a {
        color: #000000;
    }

    .sectionPrimaryColor .crmEntityFormView h1,
    .sectionPrimaryColor .crmEntityFormView h2,
    .sectionPrimaryColor .crmEntityFormView h3,
    .sectionPrimaryColor .crmEntityFormView h4,
    .sectionPrimaryColor .crmEntityFormView h5,
    .sectionPrimaryColor .crmEntityFormView h6,
    .sectionPrimaryColor .crmEntityFormView p,
    .sectionPrimaryColor .crmEntityFormView a {
        color: #000000;
    }

    .sectionPrimaryColor .entitylist h1,
    .sectionPrimaryColor .entitylist h2,
    .sectionPrimaryColor .entitylist h3,
    .sectionPrimaryColor .entitylist h4,
    .sectionPrimaryColor .entitylist h5,
    .sectionPrimaryColor .entitylist h6,
    .sectionPrimaryColor .entitylist p,
    .sectionPrimaryColor .entitylist a {
        color: #000000;
    }

a:not(.btn) {
    text-decoration: underline;
}

    a:not(.btn):hover {
        text-decoration: underline;
    }

a,
.a {
    color: #2A2C2E;
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 14px;
}

    a:hover,
    a:focus,
    .a:hover,
    .a:focus {
        color: #2A2C2E;
    }

    a[disabled] {
        color: #A19F9D;
        pointer-events: none;
    }

button[disabled] {
    background-color: #F3F2F1;
    color: #A19F9D;
    pointer-events: none;
    border: 2px;
}

.btn-secondary.dropdown-toggle.show {
    color: #2A2C2E;
    background-color: #e6e6e6;
    border-color: #277493;
}

.btn-default.dropdown-toggle.show {
    color: #2A2C2E;
    background-color: #e6e6e6;
    border-color: #277493;
}

.btn-primary.dropdown-toggle.show {
    color: #ffffff;
    background-color: #277493;
    border-color: #277493;
}

    .btn-primary.dropdown-toggle.show:hover,
    .btn-primary.dropdown-toggle.show:focus,
    .btn-primary.dropdown-toggle.show.focus {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #3294bb;
    }

.crmEntityFormView,
.entitylist,
.modal-content,
.popover-content {
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #f2f2f2;
}

.card-body,
.list-group-item {
    background-color: #ffffff;
    color: #000000;
}

.card-header {
    background-color: #f2f2f2;
    color: #000000;
}

.facet-list-group-item-title {
    color: #000000;
}

/*NUEVO*/
/*La caja del campo*/
.form-control {
    background-color: #FCFCFC !important;
    color: #000000;
}

.form-select {
    background-color: #FCFCFC !important;
    color: #000000;
}

/*Campo específico -- prueba*/
/*
#rao_residentenombre_label.field-label {
  padding-left: 16px !important; 
  font-family: "Metropolis" !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  background-color: #ffffff !important;
  color: #e42c10; }/*2A2F32*/

/*Alineación de títulos y campos de form*/
/* Alinea el grid del Basic Form con 16px exactos */
.entity-form .row {
    margin-left: 0;
    /* anula gutters negativos */
    margin-right: 0;
}

    .entity-form .row > [class*="col-"],
    .entity-form .cell {
        /* Power Pages usa .cell/.form-control-cell */
        padding-left: 16px;
        /* guía común = 16px */
        padding-right: 16px;
        /* opcional, por simetría */
    }

/* El label no añade relleno extra */
#rao_residentenombre_label.field-label,
.entity-form .control-label {
    padding-left: 0 !important;
    /* evita sumar 16+15 */
}

/* Si alguna celda trae padding propio, anúlalo */
.entity-form .form-control-cell {
    padding-left: 16px !important;
}

/* Asegura que el input ocupa todo su columna */
.entity-form .form-control,
.entity-form select,
.entity-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.clearfix.cell.text.form-control-cell {
    margin-left: -20%;
    margin-right: 0;
}

.section {
    margin-left: -15px !important;
    margin-right: 0;
}

/*Label de los campos*/
.field-label {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 22px !important;
    background-color: #ffffff !important;
    color: #2A2F32;
}

/*Inclusión de estilo para nueva clase*/
.fieldset {
    margin-left: -15px;
    margin-right: 0;
    background-color: #537792;
    color: #32383A; /*537792*/
}

/*SECCION RESIDENTE*/

/*Ajuste de ancho de columnas*/
/* Hacemos que las celdas se comporten como columnas flexibles */
/* Sección específica */
table[data-name="tab_Contrato_section_10"] {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}


    /* Define los anchos base del colgroup */
    table[data-name="tab_Contrato_section_10"] colgroup col:nth-child(1) {
        width: 66% !important;
    }

    /* parte 1 del campo Direccion */
    table[data-name="tab_Contrato_section_10"] colgroup col:nth-child(2) {
        width: 1% !important;
    }

    /* parte 2 del campo Direccion (colspan=2) */
    table[data-name="tab_Contrato_section_10"] colgroup col:nth-child(3) {
        width: 19% !important;
    }

    /* campo Numero piso puerta */
    table[data-name="tab_Contrato_section_10"] colgroup col:nth-child(4) {
        width: 14% !important;
    }

    /* campo Codigo postal */

    /* Columna extra que genera Power Pages */
    table[data-name="tab_Contrato_section_10"] colgroup col:nth-child(5) {
        width: 0 !important;
        display: none !important;
    }

    /* Oculta también la celda vacía asociada */
    table[data-name="tab_Contrato_section_10"] td.zero-cell {
        display: none !important;
    }

/*Fin Ajuste de ancho de columnas*/

/*Ajuste altura de secciones (demasiado separadas por leyenda/títulos)*/
/* Quita márgenes y bordes de todas las secciones */
.entity-form fieldset {
    margin: 0px !important;
    padding: 0 !important;
    border: none !important;
}

.entity-form .section {
    margin: 0px !important;
    padding: 0 !important;
    border: none !important;
}

/* 1) Quita márgenes/paddings verticales en fieldset y tablas de sección */
.entity-form fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

    .entity-form fieldset > table.section {
        margin: -15px !important;
        padding: 0 !important;
        border-spacing: 0 !important;
        /* la separación entre filas se decide abajo */
    }

    /* 3) Deja una ÚNICA separación entre secciones */
    .entity-form fieldset + fieldset {
        margin-top: 16px !important;
    }

    /*\\SECCION RESIDENTE*/

    /*SECCION RESPONSABLE*/

    /*Oculta secciones vacías del formulario (había 2)*/

    /* Oculta cualquier fieldset vacío o que no contenga inputs visibles */
    .entity-form fieldset:empty,
    .entity-form fieldset:not(:has(input, select, textarea, table)) {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    /* Si Power Pages los deja con tablas vacías, forzamos ocultar también */
    .entity-form fieldset > table.section:empty,
    .entity-form fieldset > table.section:not(:has(td, th, tr, input, select, textarea)) {
        display: none !important;
    }

/*Sección documento, numero documento, email y telefono*/

/* Ajusta los anchos de las 4 columnas de la tabla */
table[data-name="tab_Contrato_responsable_10"] colgroup col:nth-child(1) {
    width: 20% !important;
    /* Tipo de documento */
}

table[data-name="tab_Contrato_responsable_10"] colgroup col:nth-child(2) {
    width: 24% !important;
    /* Nº documento */
}

table[data-name="tab_Contrato_responsable_10"] colgroup col:nth-child(3) {
    width: 37% !important;
    /* Email persona responsable */
}

table[data-name="tab_Contrato_responsable_10"] colgroup col:nth-child(4) {
    width: 19% !important;
    /* Tel persona responsable */
}

/* Asegura que el layout sea fijo (para respetar los anchos) */
table[data-name="tab_Contrato_responsable_10"] {
    table-layout: fixed !important;
    width: 100% !important;
}

/*Seccion dirección, piso, codigo postal*/

/* Sección específica */
table[data-name="tab_Contrato_responsable_11"] {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

    /* Define los anchos base del colgroup */
    table[data-name="tab_Contrato_responsable_11"] colgroup col:nth-child(1) {
        width: 66% !important;
    }

    /* parte 1 del campo Direccion */
    table[data-name="tab_Contrato_responsable_11"] colgroup col:nth-child(2) {
        width: 1% !important;
    }

    /* parte 2 del campo Direccion (colspan=2) */
    table[data-name="tab_Contrato_responsable_11"] colgroup col:nth-child(3) {
        width: 19% !important;
    }

    /* campo Numero piso puerta */
    table[data-name="tab_Contrato_responsable_11"] colgroup col:nth-child(4) {
        width: 14% !important;
    }

    /* campo Codigo postal */
    /* Columna extra que genera Power Pages */
    table[data-name="tab_Contrato_responsable_11"] colgroup col:nth-child(5) {
        width: 0 !important;
        display: none !important;
    }

    /* Oculta también la celda vacía asociada */
    table[data-name="tab_Contrato_responsable_11"] td.zero-cell {
        display: none !important;
    }

/*Sección provincia y población*/

/* Ajusta los anchos de las 4 columnas de la tabla */
table[data-name="tab_Contrato_residente_3"] colgroup col:nth-child(1) {
    width: 33% !important;
    /* Tipo de documento */
}

table[data-name="tab_Contrato_residente_3"] colgroup col:nth-child(2) {
    width: 33% !important;
    /* Nº documento */
}

table[data-name="tab_Contrato_residente_3"] colgroup col:nth-child(3) {
    width: 34% !important;
    /* Email persona responsable */
}

/* Asegura que el layout sea fijo (para respetar los anchos) */
table[data-name="tab_Contrato_residente_3"] {
    table-layout: fixed !important;
    width: 100% !important;
}

/*\\SECCION RESPONSABLE*/

/*ESTILOS PLACEHOLDERS*/
/* Quitar underline SOLO en estos dos inputs */
#rao_responsableemail,
#sm_emailpersonacontacto {
    text-decoration: none !important;
}

    /* Y por si el underline se aplica al placeholder */
    #rao_responsableemail::placeholder,
    #sm_emailpersonacontacto::placeholder {
        text-decoration: none !important;
        opacity: 1 !important;
    }


/*\\ESTILOS PLACEHOLDERS*/

/*BORDES PICKLIST*/

select.form-control {
    border: 1px solid #949494; /* más claro */
}

select.form-select {
    border: 1px solid #949494; /* más claro */
}

/*\\BORDES PICKLIST*/

/*\\NUEVO*/
input {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 22px !important;
    background-color: #FCFCFC;
    color: #32383A !important; /*606468*/
}

.bootstrap-datetimepicker-widget {
    background-color: #ffffff;
}

    .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,
    .bootstrap-datetimepicker-widget table td.day:hover,
    .bootstrap-datetimepicker-widget table td span:hover {
        color: black;
    }

    .bootstrap-datetimepicker-widget table td.active:hover,
    .bootstrap-datetimepicker-widget table td span.active:hover {
        color: white;
    }

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: unset;
}

.login-heading-section {
    color: unset;
}

.static-top.navbar-dark .navbar-brand a {
    color: #000000;
}

.search-results .highlight {
    color: #000000;
}

.table > thead > tr.info > td {
    background-color: #f2f2f2;
}

.table > thead > tr.info > th {
    background-color: #f2f2f2;
}

.table > thead > tr > td.info {
    background-color: #f2f2f2;
}

.table > thead > tr > th.info {
    background-color: #f2f2f2;
}

.table > tbody > tr.info > td {
    background-color: #f2f2f2;
}

.table > tbody > tr.info > th {
    background-color: #f2f2f2;
}

.table > tbody > tr > td.info {
    background-color: #f2f2f2;
}

.table > tbody > tr > th.info {
    background-color: #f2f2f2;
}

.table > tfoot > tr.info > td {
    background-color: #f2f2f2;
}

.table > tfoot > tr.info > th {
    background-color: #f2f2f2;
}

.table > tfoot > tr > td.info {
    background-color: #f2f2f2;
}

.table > tfoot > tr > th.info {
    background-color: #f2f2f2;
}

.table-hover > tbody > tr:hover {
    background-color: #f2f2f2;
}

.table-hover > tbody > tr > td.info:hover {
    background-color: #f2f2f2;
}

.table-hover > tbody > tr > th.info:hover {
    background-color: #f2f2f2;
}

.table-hover > tbody > tr.info:hover > td {
    background-color: #f2f2f2;
}

.table-hover > tbody > tr.info:hover > th {
    background-color: #f2f2f2;
}

.table-hover > tbody > tr:hover > .info {
    background-color: #f2f2f2;
}

.form-close {
    color: #000000;
}

    .form-close:hover {
        color: #000000 !important;
    }

    .form-close:focus {
        color: #000000 !important;
    }
/*NUEVO DE PLACEHOLDERS*/
::placeholder {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #B4B6B8 !important;
}

/* solo colorea el texto del select cuando la opción 0 está seleccionada */
select.select-placeholder {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #B4B6B8 !important;
}

/* 2) Reset del color en el menú desplegable */
select.select-placeholder option {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #000000 !important; /* color normal para las opciones */
}

select.select-placeholder-font {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #000000 !important;
}

/* 3) Mantener en gris únicamente la opción vacía del menú */
select.select-placeholder option[value=""],
select.select-placeholder option[value="-1"] {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #B4B6B8 !important; /* gris más suave en la opción placeholder */
}

/* 4) Por si el navegador pinta la opción seleccionada con el color del select */
select.select-placeholder option:checked {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #000000 !important; /* que no se quede gris al seleccionar algo */
}

/* Esto solo afecta a la opción vacía */
select.select-placeholder option[value=""],
select.select-placeholder option[value="-1"] {
    font-family: 'Metropolis' !important;
    font-weight: 500 !important;
    color: #B4B6B8 !important;
}
/*\\NUEVO DE PLACEHOLDERS*/


.help-block {
    color: #000000;
}

.msos-selection-container,
.msos-container,
.msos-caret-container,
.msos-action-buttons:hover {
    color: #000000 !important;
    background: #ffffff !important;
}

.msos-option-selected,
.msos-selected-display-item,
.msos-quick-delete,
.msos-quick-delete:hover {
    background: #f2f2f2 !important;
}

    .msos-label,
    .msos-quick-delete,
    .msos-quick-delete:hover {
        color: #000000 !important;
    }

.msos-option-focused:after,
.msos-selecteditems:focus .msos-selected-display-item.msos-selecteditem-active:after,
.msos-selecteditems-toggle:focus {
    border-color: #000000 !important;
}

.msos-option:hover,
.msos-option-selected:hover {
    background: #f9f9f9 !important;
}

.msos-selecteditems-toggle {
    color: #FFCA4B !important;
}

h1,
.h1,
.section-landing-heading,
.section-landing .row > div .section-landing-heading,
.section-inline-search .row > div h1,
.section-landing h1,
.section-search .header-search h1,
.page_section h1,
.color-inverse h1,
h1 p {
    font-family: 'Metropolis';
    font-weight: bold;
    font-size: 40px;
    color: #0E1947;
    margin-left: 0px;
    margin-right: 0px;
}

h2,
h2.tab-title b,
.h2,
.section-landing .row > div .section-landing-sub-heading,
.page_section h2,
.color-inverse h2,
h2 p {
    font-family: 'Metropolis' !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    line-height: 32px !important;
    letter-spacing: 0 !important;
    color: #0E1947 !important;
}

h3,
.h3,
.page_section h3,
.color-inverse h3,
.sidebar-home h3 {
    font-family: 'Metropolis' !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    line-height: 32px !important;
    color: #0E1947 !important;
}

h4,
.h4,
.poll .poll-header h4,
.poll .poll-tags h4 {
    font-family: 'Metropolis';
    font-weight: 700;
    font-size: 24px;
    color: #2A2C2E;
}

h5,
.h5 {
    font-family: 'Metropolis';
    font-weight: 700;
    font-size: 14px;
    color: #2A2C2E;
}

p,
.p,
.page_section p,
.section-diagonal-left p,
.section-diagonal-right p,
p.form-text span {
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 20px;
    color: #2A2C2E;
}

.p2 {
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 16px;
    color: #2A2C2E;
}

.button1 {
    color: #2A2C2E;
    border-radius: 2px;
    font-family: 'Metropolis';
    font-weight: 600;
    font-size: 14px;
    border-color: #277493;
    padding: 6px 20px;
    width: fit-content;
    border-style: solid;
    border-width: 1.6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #277493;
}

    .button1:hover {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

    .button1:active,
    .button1.active {
        color: #2A2C2E !important;
        background-color: #277493 !important;
        border-color: #277493 !important;
    }

    .button1:focus,
    .button1.focus,
    .button1:focus-visible {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

.button2,
.btn-secondary,
.btn-default {
    color: #ffffff;
    border-radius: 2px;
    font-family: 'Metropolis';
    font-weight: 600;
    font-size: 14px;
    border-color: #277493;
    padding: 6px 20px;
    width: fit-content;
    border-style: solid;
    border-width: 1.6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #277493;
}

    .button2:hover,
    .btn-secondary:hover,
    .btn-default:hover {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

    .button2:active,
    .button2.active,
    .btn-secondary:active,
    .btn-secondary.active,
    .btn-default:active,
    .btn-default.active {
        color: #2A2C2E !important;
        background-color: #277493 !important;
        border-color: #277493 !important;
    }

    .button2:focus,
    .button2.focus,
    .button2:focus-visible,
    .btn-secondary:focus,
    .btn-secondary.focus,
    .btn-secondary:focus-visible,
    .btn-default:focus,
    .btn-default.focus,
    .btn-default:focus-visible {
        color: #2A2C2E;
        background-color: #277493;
        border-color: #277493;
    }

.static-top.navbar-dark .navbar-brand a p,
.static-top.navbar-dark .navbar-brand a h1,
.static-top.navbar-dark .navbar-brand a h2,
.static-top.navbar-dark .navbar-brand a h3,
.static-top.navbar-dark .navbar-brand a h4,
.static-top.navbar-dark .navbar-brand a h5,
.static-top.navbar-dark .navbar-brand a span {
    display: inline;
    vertical-align: middle;
    color: #2A2C2E;
}

    h1.siteTitle,
    .static-top.navbar-dark .navbar-brand a h1.siteTitle,
    .static-top.navbar-dark .navbar-brand a h1.siteTitle > span {
        display: inline;
        vertical-align: middle;
        color: #2A2C2E;
        font-family: 'Metropolis';
        font-weight: 400;
        font-size: 30px;
    }

p.smallText {
    display: inline;
    vertical-align: middle;
    color: #2A2C2E;
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 16px;
}

a.anchor-inherit-styles {
    font-size: inherit;
    font-family: inherit;
    color: inherit;
}

a.anchor-hover-color-color1:hover {
    color: var(--portalThemeColor1) !important;
}

a.anchor-hover-color-color2:hover {
    color: var(--portalThemeColor2) !important;
}

a.anchor-hover-color-color3:hover {
    color: var(--portalThemeColor3) !important;
}

a.anchor-hover-color-color4:hover {
    color: var(--portalThemeColor4) !important;
}

a.anchor-hover-color-color5:hover {
    color: var(--portalThemeColor5) !important;
}

a.anchor-hover-color-color6:hover {
    color: var(--portalThemeColor6) !important;
}

a.anchor-hover-color-color7:hover {
    color: var(--portalThemeColor7) !important;
}

a.anchor-hover-color-color8:hover {
    color: var(--portalThemeColor8) !important;
}

a.anchor-hover-color-color9:hover {
    color: var(--portalThemeColor9) !important;
}

a.anchor-hover-color-color10:hover {
    color: var(--portalThemeColor10) !important;
}

a.anchor-hover-color-color11:hover {
    color: var(--portalThemeColor11) !important;
}

a.anchor-hover-color-color12:hover {
    color: var(--portalThemeColor12) !important;
}

a.anchor-text-decoration-none {
    text-decoration: none;
}

a.anchor-text-decoration-underline {
    text-decoration: underline;
}

a.anchor-hover-text-decoration-none:hover {
    text-decoration: none;
}

a.anchor-hover-text-decoration-underline:hover {
    text-decoration: underline;
}

/*Bootstrap V5 Changes */
.form-select,
.crmentityformview select {
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
}

.table-striped,
.table-info,
.table-striped > tbody > tr:nth-of-type(odd) > *,
.form-control:focus,
.form-select:focus,
.dropdown-menu,
.datepicker button {
    color: #000000;
}

.popover-body {
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #f2f2f2;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    text-decoration: none;
    display: block;
    width: auto;
    background-color: #FEA002;
    color: #000000;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
    text-decoration: none;
    outline: 0;
    width: auto;
    background-color: #FEA002;
    color: #000000;
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.42857;
    color: #000000;
    white-space: nowrap;
    width: auto;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
    margin-top: 21px;
    margin-bottom: 10.5px;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin-top: 10.5px;
    margin-bottom: 10.5px;
}

a.nav-link[role="tab"]:not(.active) {
    color: #2A2C2E;
    font-family: 'Metropolis';
    font-weight: 400;
    font-size: 14px;
}

a.active.nav-link[role="tab"] {
    font-size: 14px;
    text-decoration: none;
}

/*-------------------------------------------------------------------------------Modificación de los campos aqui*/
.crmEntityFormView label {
    font-family: 'Metropolis';
    font-weight: 500;
    font-size: 14px;
    background-color: #ffffff;
    color: #000000;
}


#san_dnidelresidentecara1 {
    display: none !important;
}

#san_dnidelresidentecara2 {
    display: none !important;
}

#san_dnidelresponsablecara1 {
    display: none !important;
}

#san_dnidelresponsablecara2 {
    display: none !important;
}

#sm_justificantedetitularidadbancaria {
    display: none !important;
}

#sm_justificantedepago {
    display: none !important;
}

/* */

#san_p1dnidelusuariocara1 input[type="radio"],
#san_p1dnidelusuariocara1 > label {
    display: none !important;
}

#san_p1dnidelusuariocara1 label span {
    display: none !important;
}

#san_p2dnidelusuariocara2 input[type="radio"],
#san_p2dnidelusuariocara2 > label {
    display: none !important;
}


#san_p2dnidelusuariocara2 label span {
    display: none !important;
}

#san_p3dnidelresponsablecara1 input[type="radio"],
#san_p3dnidelresponsablecara1 > label {
    display: none !important;
}


#san_p3dnidelresponsablecara1 label span {
    display: none !important;
}

#san_p4dnidelresponsablecara2 input[type="radio"],
#san_p4dnidelresponsablecara2 > label {
    display: none !important;
}


#san_p4dnidelresponsablecara2 label span {
    display: none !important;
}

#san_p5justificantedetitularidadbancaria input[type="radio"],
#san_p5justificantedetitularidadbancaria > label {
    display: none !important;
}


#san_p5justificantedetitularidadbancaria label span {
    display: none !important;
}

#san_p6justificantedepago input[type="radio"],
#san_p6justificantedepago > label {
    display: none !important;
}


#san_p6justificantedepago label span {
    display: none !important;
}

/**/

/* Forzamos el centrado dentro del contenedor .actions */
.actions {
    display: flex !important;
    justify-content: center !important;
    /* centra horizontalmente */
    align-items: center !important;
    /* opcional: centra verticalmente si tiene altura */
    width: 100% !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}

/* Estilo visual del botón */
#UpdateButton {
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 16px 48px !important;
    border: none !important;
    border-radius: 8px !important;
    background-color: #0078d4 !important;
    color: white !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0, 120, 212, 0.3) !important;
}

    /* Hover */
    #UpdateButton:hover:enabled {
        background-color: #005ea6 !important;
        transform: translateY(-2px);
        box-shadow: 0 6px 14px rgba(0, 94, 166, 0.4);
    }

    /* Estado deshabilitado */
    #UpdateButton:disabled {
        background-color: #d3d3d3 !important;
        color: #808080 !important;
        cursor: not-allowed !important;
        box-shadow: none !important;
        transform: none !important;
    }

/* till here */
.button-wrapper {
    position: relative;
    display: inline-block;
}

/* Tooltip oculto por defecto */
.tooltip-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

    /* Flecha */
    .tooltip-text::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: #333 transparent transparent transparent;
    }

/* Mostrar el tooltip al pasar el ratón por el contenedor,
   solo si el botón interno está deshabilitado */
.button-wrapper:hover input:disabled + .tooltip-text {
    visibility: visible;
    opacity: 1;
}

/* =====================================================
   FORMULARIO RESPONSIVE — MÓVIL + TABLET (HASTA 1400px)
   ===================================================== */
@media (max-width: 1400px) {

    /* --- Estructura base en 1 columna --- */
    .entity-form table.section,
    .entity-form table.section tbody,
    .entity-form table.section tr {
        display: block !important;
        width: 100% !important;
    }

    .entity-form table.section td.cell {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box !important;
    }

    /* --- Celdas fantasma que rompen el diseño --- */
    td.zero-cell {
        display: none !important;
    }

    /* --- Inputs siempre centrados y fluidos --- */
    .entity-form input,
    .entity-form select,
    .entity-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
    }

    /* --- Contenedor .control al 100% --- */
    .entity-form .control {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* --- Quitar márgenes negativos heredados --- */
    .clearfix.cell.text.form-control-cell,
    .clearfix.cell.picklist-cell,
    .cell.form-control-cell {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    table.section {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    /* --- Ocultar filas y campos ocultos del formulario original --- */
    table.section tr[style*="display:none"],
    table.section tr[style*="display: none"] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .entity-form .description {   /* "Paso X" */
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Campos ocultos en PC */
    input[style*="display:none"],
    select[style*="display:none"],
    textarea[style*="display:none"] {
        display: none !important;
        visibility: hidden !important;
    }

    /* --- Checkbox de política perfectamente alineado --- */
    #customPrivacyWrapper {
        margin-top: 30px !important;
        margin-bottom: 44px !important;
        width: 100% !important;
        display: block !important;
    }

    #customPrivacyWrapper label {
        display: inline-block !important;
        width: 100% !important;
        white-space: normal !important;
        line-height: 1.4 !important;
    }

    #customPrivacyWrapper input[type="checkbox"] {
        vertical-align: top !important;
        margin-top: 3px !important;
        margin-right: 6px !important;
    }

    #customPrivacyWrapper a#openPrivacyLink {
        white-space: normal !important;
    }

    /* Ocultar siempre inputs file ocultos en PC */
    input[type="file"][id*="input_file"] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        pointer-events: none !important;
    }

    /* Ocultar inputs de población y ciudad que van ocultos en PC */
    input[id*="ciudadresidente"],
    input[id*="ciudadresponsable"],
    input[id*="provinciaresidente"],
    input[id*="provinciaresponsable"] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: none !important;
    }
}

/* ===============================
   OCULTAR TABLA tab_6_section_2
   =============================== */
[data-name="tab_6_section_2"].section {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Separación universal del checkbox respecto al botón */
#customPrivacyWrapper {
  margin-bottom: 44px !important;
}

/* ===========================================================
   MÓVIL/TABLET (≤1400px): 2 columnas SOLO para Tipo/Nº Documento
   en la MISMA fila donde también está Estado civil.
   =========================================================== */
@media (max-width: 1400px) {

  /* Toda la fila pasa a flex */
  table.section tr:has(#rao_residentetipodocumento) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* ------- COLUMNAS QUE QUEREMOS AL 50% ------- */

  /* Tipo documento */
  table.section tr:has(#rao_residentetipodocumento) > td:nth-child(1) {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  /* Nº documento */
  table.section tr:has(#rao_residentetipodocumento) > td:nth-child(2) {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  /* ------- CAMPOS QUE DEBEN IR A 100% ------- */

  /* Estado civil */
  table.section tr:has(#rao_residentetipodocumento) > td:nth-child(3) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Celda vacía: ocultar */
  table.section tr:has(#rao_residentetipodocumento) > td:nth-child(4) {
    display: none !important;
  }

  /* Zero cell: ocultar */
  table.section tr:has(#rao_residentetipodocumento) > td.zero-cell {
    display: none !important;
  }

  /* ------- Asegurar que controles ocupen todo dentro de su celda ------- */
  table.section tr:has(#rao_residentetipodocumento) .control,
  table.section tr:has(#rao_residentetipodocumento) input,
  table.section tr:has(#rao_residentetipodocumento) select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ===========================================================
   MÓVIL/TABLET (≤1400px):
   Dirección completa → 100%
   Nº piso/puerta    → 50%
   Código postal     → 50%
   =========================================================== */
@media (max-width: 1400px) {

  /* Toda la fila que contiene rao_residentedomicilio pasa a flex */
  table.section tr:has(#rao_residentedomicilio) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* ----------- COLUMNA 1: Dirección completa (100%) ----------- */
  table.section tr:has(#rao_residentedomicilio) > td:nth-child(1) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* ----------- COLUMNA 2: Nº piso/puerta (50%) ----------- */
  table.section tr:has(#rao_residentedomicilio) > td:nth-child(2) {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  /* ----------- COLUMNA 3: Código Postal (50%) ----------- */
  table.section tr:has(#rao_residentedomicilio) > td:nth-child(3) {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  /* ----------- COLUMNA 4: zero-cell → ocultar ----------- */
  table.section tr:has(#rao_residentedomicilio) > td.zero-cell,
  table.section tr:has(#rao_residentedomicilio) > td:nth-child(4) {
    display: none !important;
  }

  /* ----------- Asegurar que controles ocupen todo ----------- */
  table.section tr:has(#rao_residentedomicilio) .control,
  table.section tr:has(#rao_residentedomicilio) input,
  table.section tr:has(#rao_residentedomicilio) select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ===========================================================
   MÓVIL/TABLET (≤1400px):
   Responsable → Tipo documento (50%) + Nº documento (50%)
   Email y Teléfono → 100%
   =========================================================== */
@media (max-width: 1400px) {

  /* La fila que contiene los campos del RESPONSABLE pasa a flex */
  table.section tr:has(#rao_responsabletipodocumento) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* ----------------------------------------------------------
     COLUMNA 1 → Tipo documento (50%)
     ---------------------------------------------------------- */
  table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(1) {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  /* ----------------------------------------------------------
     COLUMNA 2 → Nº Documento (50%)
     ---------------------------------------------------------- */
  table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(2) {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  /* ----------------------------------------------------------
     COLUMNA 3 → Email responsable (100%)
     ---------------------------------------------------------- */
  table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(3) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* ----------------------------------------------------------
     COLUMNA 4 → Teléfono responsable (100%)
     ---------------------------------------------------------- */
  table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(4) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* ----------------------------------------------------------
     COLUMNA 5 → Zero-cell (ocultar)
     ---------------------------------------------------------- */
  table.section tr:has(#rao_responsabletipodocumento) > td.zero-cell,
  table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(5) {
    display: none !important;
  }

  /* ----------------------------------------------------------
     Asegurar 100% dentro de cada celda
     ---------------------------------------------------------- */
  table.section tr:has(#rao_responsabletipodocumento) .control,
  table.section tr:has(#rao_responsabletipodocumento) input,
  table.section tr:has(#rao_responsabletipodocumento) select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ===========================================================
   MÓVIL/TABLET (≤1400px):
   Responsable → Dirección (100%) + Piso/Puerta (50%) + CP (50%)
   =========================================================== */
@media (max-width: 1400px) {

    /* La fila que contiene los campos del RESPONSABLE pasa a flex */
    table.section tr:has(#rao_responsabledomicilio) {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
        width: 100% !important;
    }

    /* ----------------------------------------------------------
        COLUMNA 1 → Dirección del responsable (100%)
        ---------------------------------------------------------- */
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(1) {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    /* ----------------------------------------------------------
        COLUMNA 2 → Nº, piso, puerta del responsable (50%)
        ---------------------------------------------------------- */
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(2) {
        flex: 0 0 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }

    /* ----------------------------------------------------------
        COLUMNA 3 → Código Postal del responsable (50%)
        ---------------------------------------------------------- */
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(3) {
        flex: 0 0 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }

    /* ----------------------------------------------------------
        COLUMNA 4 → Zero-cell (ocultar)
        ---------------------------------------------------------- */
    table.section tr:has(#rao_responsabledomicilio) > td.zero-cell,
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(4) {
        display: none !important;
    }

    /* ----------------------------------------------------------
        Asegurar 100% dentro de cada celda
        ---------------------------------------------------------- */
    table.section tr:has(#rao_responsabledomicilio) .control,
    table.section tr:has(#rao_responsabledomicilio) input,
    table.section tr:has(#rao_responsabledomicilio) select {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* Residente — Piso/puerta + CP */
    table.section tr:has(#rao_residentedomicilio) > td:nth-child(2),
    table.section tr:has(#rao_residentedomicilio) > td:nth-child(3) {
        margin-bottom: 20px !important;
    }

    /* Responsable — Piso/puerta + CP */
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(2),
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(3) {
        margin-bottom: 20px !important;
    }

    /* Residente — Tipo doc + Nº doc */
    table.section tr:has(#rao_residentetipodocumento) > td:nth-child(1),
    table.section tr:has(#rao_residentetipodocumento) > td:nth-child(2) {
        margin-bottom: 0 !important;
    }

    /* Responsable — Tipo doc + Nº doc */
    table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(1),
    table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(2) {
        margin-bottom: 0 !important;
    }

    /* Reducir el margen inferior SOLO del campo rao_residentedomicilio */
    table.section tr:has(#rao_residentedomicilio) > td:nth-child(1) {
        margin-bottom: 0px !important;  /* antes eran 20px */
    }

    /* Reducir el margen inferior SOLO del campo rao_responsabledomicilio */
    table.section tr:has(#rao_responsabledomicilio) > td:nth-child(1) {
        margin-bottom: 0px !important;  /* antes eran 20px */
    }

    /* Reducir margen inferior del TD donde está rao_responsableemail */
    table.section tr:has(#rao_responsabletipodocumento) > td:nth-child(3) {
        margin-bottom: 0px !important; /* antes 20px */
    }
    
    /* SOLO para pisos/puertas (residente + responsable) */
    #sm_pisopuertaresidente_label,
    #sm_pisopuertaresponsable_label {
        display: block !important;
        font-size: 14px !important;
        line-height: 1.15 !important;

        min-height: 22px !important;   /* antes 32px */
        margin-bottom: 2px !important; /* antes 4px */

        /* Mantiene comportamiento estable en saltos de línea */
        overflow-wrap: break-word !important;
    }
}

/* =======================================================================
   MÓVILES MUY PEQUEÑOS (≤ 370px) — 1 COLUMNA REAL, ANCHOS y ESPACIADO UNIFORME
   ======================================================================= */
@media (max-width: 370px) {

    /* A) Neutralizar layout de tabla (colgroups) para permitir 100% reales */
    table.section colgroup,
    table.section colgroup col {
        display: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    table.section {
        display: block !important;
        table-layout: auto !important;
        width: 100% !important;
    }

    /* B) Forzar filas a vertical (anula cualquier flex previo) */
    table.section tr {
        display: block !important;
        width: 100% !important;
        gap: 0 !important;
        row-gap: 0 !important;
    }

    /* B.1) Igualar especificidad a las filas que en ≤1200px se ponen en flex */
    table.section tr:has(#rao_residentetipodocumento),
    table.section tr:has(#rao_residentenumerodocumento),
    table.section tr:has(#sm_pisopuertaresidente),
    table.section tr:has(#rao_cpresidente),
    table.section tr:has(#rao_responsabletipodocumento),
    table.section tr:has(#rao_responsablenumerodocumento),
    table.section tr:has(#sm_pisopuertaresponsable),
    table.section tr:has(#sm_codigopostalresponsable),
    table.section tr:has(#rao_residentedomicilio),
    table.section tr:has(#rao_responsabledomicilio) {
        display: block !important;  /* rompe el flex anterior */
        gap: 0 !important;
        row-gap: 0 !important;
        width: 100% !important;
    }

    /* C) Cada celda ocupa 100% con espaciado uniforme */
    table.section td.cell {
        display: block !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        box-sizing: border-box !important;
        margin: 0 0 16px 0 !important;
        padding: 0 !important;
    }
    table.section tr td.cell:last-of-type {
        margin-bottom: 0 !important;
    }

    /* D) Ocultar celdas fantasma */
    table.section tr > td.zero-cell,
    table.section tr > td:empty {
        display: none !important;
    }

    /* E) Inputs / selects / textareas / .control a 100% reales */
    .entity-form .control,
    .entity-form input,
    .entity-form select,
    .entity-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* F) Labels y mensajes de error compactos para ritmo vertical consistente */
    .entity-form .field-label {
        display: block !important;
        font-size: 14px !important;
        line-height: 1.15 !important;
        margin-bottom: 4px !important;
        white-space: normal !important;
        min-height: unset !important;
    }
    .pp-inline-error,
    .invalid-feedback,
    .input-validation-error,
    .validators {
        margin: 4px 0 0 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
    }

    /* G) Asegurar que los “herederos del 50%” se estiren a 100% sí o sí */
    #sm_pisopuertaresponsable,
    #sm_codigopostalresponsable,
    #sm_pisopuertaresponsable_label,
    #sm_codigopostalresponsable_label,
    #sm_pisopuertaresidente,
    #rao_cpresidente,
    #sm_pisopuertaresidente_label,
    #rao_cpresidente_label {
        display: block !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
    td:has(#sm_pisopuertaresponsable),
    td:has(#sm_codigopostalresponsable),
    td:has(#sm_pisopuertaresidente),
    td:has(#rao_cpresidente) {
        display: block !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        box-sizing: border-box !important;
        margin: 0 0 16px 0 !important;
        padding: 0 !important;
    }
    
    /* Un poco más de margen inferior en Tipo y Nº Documento */
    td:has(#rao_residentetipodocumento),
    td:has(#rao_residentenumerodocumento) {
        margin-top: 20px !important;  
    }

    td:has(#rao_residenteestadocivil) {
        margin-top: 20px !important;      
    }

    td:has(#rao_residentedomicilio) {
        margin-top: 20px !important;      
    } 

    td:has(#rao_responsabletipodocumento) {
        margin-top: 20px !important;     
    } 

    td:has(#rao_responsableemail) {
        margin-top: 20px !important;      
    } 

    td:has(#rao_responsablenumerodocumento) {
        margin-top: 20px !important;      
    } 

    td:has(#rao_responsableemail) {
        margin-top: 20px !important;      
    } 

    td:has(#rao_responsabletelefono) {
        margin-top: 20px !important;      
    } 

    td:has(#rao_responsabledomicilio) {
        margin-top: 20px !important;      
    }    
    
    td:has(#rao_provinciaresidente) {
        margin-top: 20px !important;     
    }   

    td:has(#ddlProvinciaResponsable) {
        margin-top: 20px !important;      
    }   
     
    td:has(#sm_emailpersonacontacto) {
        margin-top: 20px !important;     
    }        

    /**/
    table.section tr:has(#sm_pisopuertaresidente) > td:nth-child(1) {
        margin-bottom: 0px !important;  
    }
    
    td:has(#sm_pisopuertaresidente) .table-info {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    #sm_pisopuertaresidente_label {
        margin-bottom: 0 !important;
        line-height: 1.15 !important;
    }
    td:has(#sm_pisopuertaresidente) .validators {
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        line-height: 0 !important;
    }
    td:has(#sm_pisopuertaresidente) .control {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    td:has(#sm_pisopuertaresidente) {
        margin-top: 20px !important; 
    } 

    /**/
    table.section tr:has(#sm_codigopostalresponsable) > td:nth-child(1) {
        margin-bottom: 0px !important; 
    }
    
    td:has(#sm_codigopostalresponsable) .table-info {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    #sm_codigopostalresponsable_label {
        margin-bottom: 0 !important;
        line-height: 1.15 !important;
    }
    td:has(#sm_codigopostalresponsable) .validators {
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        line-height: 0 !important;
    }
    td:has(#sm_codigopostalresponsable) .control {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    td:has(#sm_codigopostalresponsable) {
        margin-top: 20px !important; 
    }  

    /**/
    table.section tr:has(#sm_pisopuertaresponsable) > td:nth-child(1) {
        margin-bottom: 0px !important;  
    }
    
    td:has(#sm_pisopuertaresponsable) .table-info {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    #sm_pisopuertaresponsable_label {
        margin-bottom: 0 !important;
        line-height: 1.15 !important;
    }
    td:has(#sm_pisopuertaresponsable) .validators {
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        line-height: 0 !important;
    }
    td:has(#sm_pisopuertaresponsable) .control {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    td:has(#sm_pisopuertaresponsable) {
        margin-top: 20px !important;  
    }  
    
}
