*, *::before, *::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--white);
    /* Fondo gris claro */
    font-family: 'Montserrat', sans-serif;
    overflow-y: scroll;
}


/* header y footer de la pagina */
header {
    background-color: var(--black);
    color: var(--white);
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    box-sizing: border-box;
    font-weight: thin;
}

.header-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: end;
    gap: 64px;
    a {
        color: var(--white);
    }
}

* {
    box-sizing: border-box;
}
.logo {
    height: 40px;
    /* Ajusta el tamaño del logo según tus necesidades */
    padding-right: 20px;
}

.radio-options {
    display: flex;
    flex-direction: column;
    gap: 8px;

}
.container-creacion {
    min-width: 70%;
    max-width: 90%;
    width: 1500px;

    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    min-height: 700px;
    max-height: none;
    height: auto;
    display: flex;
    flex-direction: column;

    padding: 0px;

    border: none;
    border-radius: 3px;
    background-color: var(--white-1);
    box-shadow: 1px 1px 3px var(--gray), 1px 2px 5px var(--gray), 1px 4px 8px var(--gray);

    margin-bottom: 40px;
    align-items: center;
}

.contenido-creacion {
    margin-top: 32px;
    margin-bottom: 32px;
    padding: 0 32px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.contenedor-elementos-formulario {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: fit-content;
    gap: 20px;
    box-sizing: border-box;
    padding: 0 20px;
}

.horizontal {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
}

.contenedor-fuente {
    display: grid;
    grid-template-columns: 150px 1fr 150px;
    align-items: top;
    column-gap: 32px;
    margin-bottom: 16px;
    h4 {
        font-size: 16px;
        width: fit-content;
        min-width: 150px;
        font-weight: 600;
        margin: 0;
    }
}
.image-options {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    padding: 20px;
    gap: 20px;
    justify-content: space-evenly;
    align-items: center;

    background-color: var(--blue-0);
    border: 1px solid var(--blue-2);

    .image-option {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 10px;
        cursor: pointer;

        box-sizing: border-box;
        cursor: pointer;
        transition: transform 0.3s ease;
        /* Default border, invisible */
        position: relative;
        /* Needed for absolute positioning of the button */
        padding: 6px;
        width: 100%;
        aspect-ratio: 1/1;
        border: 2px solid transparent;
        transition: color 0.3s ease, background-color 0.3s ease, border 0.3s ease;
    }
    .image-option.img-archivo {
        display: none;
    }
    .image-option.img-archivo.visible {
        display: flex;
    }
   
    .image-option.ya_seleccionada {
        opacity: 0.5;
    }

    
    .image-option img {
        width: 100%;
        /* Adjust as needed */
        height: 100%;
        display: block;
        object-fit: cover;
    }
    
    .image-option.selected {
        border-color: var(--blue-5);
        background-color: var(--blue-1);
    }
}


.plv-viewer-horizontal {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.lista-formatos {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: flex-start;
    height: auto;
    width: 100%;
    gap: 10px;
}

.carta-formato {
    width: fit-content;
    height: 50px;
    text-decoration: none;
    text-align: center;
    align-content: center;
    border: 1px solid lightsalmon;
}

.carta-formato.selected {
    background-color: var(--orange-1);
}


.contenedor-plv {
    position: relative;
    width: 100%; /* El contenedor ocupa todo el ancho disponible */
    aspect-ratio: 16 / 9;
    display: flex;
    justify-content: center;
    align-items: center;
    background: none; /* Barras negras cuando el contenido no encaja */
    overflow: hidden;
    box-sizing: border-box;
    justify-self: center;
}


.contenedor-plv.contenedor-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999; /* Para asegurarte de que esté por encima de otros elementos */
    background-color: var(--black); /* Si necesitas un fondo */
}

.opciones-visualizar-derecha {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: space-between;
    align-content: end;
}
.contenedor-visualizacion {
    display: grid;
    gap: 32px;
    grid-template-columns: 80% calc(20% - 32px);
}

.fullscreen-button-plv {
    position: relative;
    height: 50px;
    width: 50px;
    appearance: none;
    border: none;
    background: none;
    z-index: 999;
}
.fullscreen-button-plv:hover {
    transform: scale(1.2);
}

.fullscreen-button-plv img {
    height: 100%;
    width: auto;
}

.primary-button {
    box-sizing: border-box;
    background: var(--orange-3);
    border: 1px solid transparent;
    color: var(--white);
    min-width: 100px;
    height: fit-content;
    width: max-content;
    border-radius: 0px;
    margin: 0;
    font-size: 16px;
    border-radius: 4px;

    padding: 16px;
    font-family: 'Montserrat';
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.primary-button:not(:disabled):hover {
    background-color: var(--orange-4);
}

.secondary-button {
    box-sizing: border-box;
    color: var(--orange-3);
    background: none;
    border: 1px solid transparent;
    min-width: 100px;
    height: fit-content;
    width: max-content;
    border-radius: 4px;
    margin: 0;
    font-size: 16px;
    padding: 16px;
    font-family: 'Montserrat';
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;

}
.secondary-button:not(:disabled):hover {
    background-color: var(--orange-0);
}

.black-button-primary {
    
    box-sizing: border-box;
    border: 1px solid transparent;
    background-color: var(--blue-5);
    color: var(--white);
    min-width: 100px;
    height: fit-content;
    width: max-content;
    border-radius: 0px;
    margin: 0;
    font-size: 16px;
    padding: 16px;
    border-radius: 4px;

    font-family: 'Montserrat';
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.black-button-primary:not(:disabled):hover {
    background: var(--blue-4);
    color: var(--white);
}

.black-button-secondary {
    box-sizing: border-box;
    background-color: transparent;
    border: 1px solid transparent;
    color: var(--blue-5);
    min-width: 100px;
    height: fit-content;
    width: max-content;
    border-radius: 4px;
    margin: 0;
    font-size: 16px;
    padding: 16px;
    font-family: 'Montserrat';
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.black-button-secondary:not(:disabled):hover {
    background: var(--blue-2);
}

.primary-button:disabled, .secondary-button:disabled, .black-button-primary:disabled, .black-button-secondary:disabled {
    opacity: 0.2;
    cursor: not-allowed;
}

.primary-button.button-load:disabled,
.secondary-button.button-load:disabled,
.black-button-primary.button-load:disabled,
.black-button-secondary.button-load:disabled 
{
    opacity: 1;
    cursor: not-allowed;
}

.primary-button:not(:disabled):hover,
.secondary-button:not(:disabled):hover,
.black-button-primary:not(:disabled):hover,
.black-button-secondary:not(:disabled):hover 
{
    i {
        transform: scale(1.2);
    }
}

.spinner {
    animation: spin 1s infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    z-index: 1000;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Ensures a padding around the image inside the fullscreen */
    box-sizing: content-box;
    /* Includes padding in the width/height calculations */
    overflow: hidden;
    /* Prevents overflow from being visible */
}

.fullscreen img {
    display: block;
    /* Ensures that the image does not have extra space around it */
    max-width: 100%;
    /* The image can be up to 100% of the current container width */
    max-height: 100%;
    /* The image can be up to 100% of the current container height */
    transition: transform 0.3s ease;
    /* Smooth zoom transitions */
}
