.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.focus-visible:focus-visible {
    outline: 2px solid var(--Primario-500-Marca);
    outline-offset: 2px;
}

.cmp-modal-disclaimer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmp-modal-disclaimer[hidden] {
    display: none;
}

.cmp-modal-disclaimer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-overlay-70);
    backdrop-filter: blur(var(--map-border-widths-thickest));
    cursor: pointer;
}

.cmp-modal-disclaimer__inner {
    position: relative;
    background: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    max-width: var(--bp-xl);
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px var(--color-overlay-20);
    z-index: 1001;
}

.cmp-modal-disclaimer-body {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.cmp-modal-disclaimer-title {
    color: var(--color-black);
    font-family: var(--font-family-display);
    font-size: var(--Heading-Escritorio-H3-fontSize);
    font-style: normal;
    font-weight: var(--Weights-SemiBold);
    line-height: var(--Heading-Escritorio-H3-lineHeight);
    margin: 0;
    text-align: left;
}

.cmp-modal-disclaimer-info {
    color: var(--Neutros-700);
    font-family: var(--font-family-body);
    font-size: var(--Body-Body-2-fontSize);
    line-height: var(--Body-Body-2-lineHeight);
}

.cmp-modal-disclaimer-info p {
    margin: 0 0 var(--space-4) 0;
}

.cmp-modal-disclaimer-info p:last-child {
    margin-bottom: 0;
}

.cmp-modal-disclaimer-actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: flex-start;
}
@media (min-width: 768px) {
    .cmp-modal-disclaimer-actions {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.cmp-modal-disclaimer-form-control {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    cursor: pointer;
    font-family: var(--font-family-body);
    font-size: var(--Body-Body-2-fontSize);
    line-height: var(--Body-Body-2-lineHeight);
    color: var(--Neutros-700);
}
.cmp-modal-disclaimer-form-control input[type=checkbox] {
    margin-top: var(--space-1);
    min-width: var(--space-4);
    min-height: var(--space-4);
    cursor: pointer;
}
.cmp-modal-disclaimer-form-control input[type=checkbox]:focus-visible {
    outline: 2px solid var(--Primario-500-Marca);
    outline-offset: 2px;
}
.cmp-modal-disclaimer-form-control input[type=checkbox]:checked {
    accent-color: var(--Primario-500-Marca);
}

.cmp-modal-disclaimer-accept {
    background: var(--Primario-500-Marca);
    color: var(--BN-white);
    border: none;
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-sm);
    font-family: var(--Label-Label-1-fontFamily);
    font-size: var(--Label-Label-1-fontSize);
    font-weight: var(--Weights-Bold);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}
.cmp-modal-disclaimer-accept:hover:not(:disabled) {
    background: var(--Primario-700);
}
.cmp-modal-disclaimer-accept:focus-visible {
    outline: 2px solid var(--Primario-500-Marca);
    outline-offset: 2px;
}
.cmp-modal-disclaimer-accept:disabled {
    background: var(--Neutros-300, #EAEAEB);
    color: var(--Neutros-500, #9A9D9F);
    cursor: not-allowed;
}
.cmp-modal-disclaimer-accept img {
    width: var(--space-4);
    height: var(--space-4);
}

.cmp-modal-disclaimer-close {
    position: absolute;
    top: var(--space-4);
    right: var(--space-4);
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-2);
    border-radius: var(--space-2);
    display: flex;
    align-items: center;
    justify-content: center;
}
.cpm-modal-disclaimer-close:hover {
    background: var(--Neutros-100);
}
.cmp-modal-disclaimer-close:focus-visible {
    outline: 2px solid var(--Primario-500-Marca);
    outline-offset: 2px;
}
.modal-disclaimer-close img {
    width: var(--space-6);
    height: var(--space-6);
}

.cmp-modal-disclaimer-form-control {
    display: flex;
    flex-direction: row;
    gap: var(--space-4);
    width: stretch;
    color: var(--Neutros-600);
    font-family: var(--Label-Label-2-fontFamily);
    font-size: var(--Label-Label-2-fontSize);
    font-style: normal;
    font-weight: var(--Weights-Bold);
    line-height: var(--Label-Label-2-lineHeight);
    letter-spacing: var(--Label-Label-2-letterSpacing);
}

.cmp-modal-disclaimer-actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: anchor-center;
}
@media (min-width: 768px) {
    .cmp-modal-disclaimer-actions {
        flex-direction: row;
    }
}
.cmp-modal-disclaimer-actions input[type=checkbox] {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--Primario-500-Marca);
    margin: 0;
    border-radius: var(--space-2);
    border: 1px solid var(--Neutros-600);
    background: var(--Neutros-150);
    width: var(--space-6);
    height: var(--space-6);
    cursor: pointer;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
}
.cmp-modal-disclaimer-actions input[type=checkbox]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transform: scale(0);
    transform-origin: bottom left;
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--Primario-500-Marca);
    background-color: CanvasText;
}
.cmp-modal-disclaimer-actions input[type=checkbox]:checked::before {
    transform: scale(1);
}
.cmp-modal-disclaimer-actions input[type=checkbox]:focus {
    outline: max(2px, 0.15em) solid currentColor;
    outline-offset: max(2px, 0.15em);
}
.cmp-modal-disclaimer-actions .cmp-modal-disclaimer-spacer {
    width: 100%;
}

.cmp-modal-disclaimer-checkbox {
    display: flex;
    gap: var(--space-4);
    width: 100%;
    align-items: center;
    cursor: pointer;
}
.cmp-modal-disclaimer-checkbox label {
    cursor: pointer;
}

.cmp-modal-disclaimer-accept {
    display: flex;
    height: var(--space-10);
    padding: 0 var(--space-6);
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    border-radius: var(--radius-lg);
    background: var(--Primario-600);
    cursor: pointer;
}
.cmp-modal-disclaimer-accept span {
    color: var(--CAF-Colores-neutros-full-white);
    font-family: var(--Label-Label-1-fontFamily);
    font-size: var(--Label-Label-1-fontSize);
    font-style: normal;
    font-weight: var(--Weights-Bold);
    line-height: var(--Label-Label-1-lineHeight);
    letter-spacing: var(--Label-Label-1-letterSpacing);
}

.cmp-modal-disclaimer-accept:disabled {
    cursor: not-allowed;
    display: flex;
    height: var(--space-10);
    padding: 0 var(--space-6);
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
    border-radius: var(--radius-32);
    background: var(--CAF-Colores-neutros-gris-300);
}
.cmp-modal-disclaimer-accept:disabled span {
    color: var(--CAF-Colores-neutros-full-white);
    font-family: var(--Label-Label-1-fontFamily);
    font-size: var(--Label-Label-1-fontSize);
    font-style: normal;
    font-weight: var(--Weights-Bold);
    line-height: var(--Label-Label-1-lineHeight);
    letter-spacing: var(--Label-Label-1-letterSpacing);
}

@media (max-width: 64rem) {
    .cmp-modal-disclaimer__inner {
        max-width: 900px;
    }
    .cmp-modal-disclaimer-actions input[type=checkbox] {
        width: var(--space-8);
    }
    .cmp-modal-disclaimer-actions .cmp-modal-disclaimer-spacer {
        width: fit-content;
    }
    .cmp-modal-disclaimer-accept {
        width: stretch;
    }
    .modal-disclaimer-accept:disabled {
        width: stretch;
    }
}    