/* Acordeón de preguntas (IFC).
   Mecánica y estructura del Accordion de JetTabs al que reemplaza: el diseño tiene que
   quedar idéntico. Los valores de diseño (bordes, rellenos, colores, tipografías,
   tamaños del ícono) los pone el widget desde sus controles; aquí va solo la mecánica. */

.ifc-acc__inner {
    display: flex;
    flex-flow: column;
    align-items: stretch;
}

.ifc-acc__item {
    display: flex;
    flex-flow: column;
    align-items: stretch;
}

.ifc-acc__item:first-child { margin-top: 0 !important; }
.ifc-acc__item:last-child  { margin-bottom: 0 !important; }

.ifc-acc__head {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
}

.ifc-acc__icon-wrap--right { order: 3; }

.ifc-acc__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    text-align: center;
}

.ifc-acc__icon svg {
    width: 1em;
    height: 1em;
    display: block;
    fill: currentColor;
}

.ifc-acc__icon i { display: flex; }

.ifc-acc__icon--active { display: none; }
.ifc-acc__item.is-open > .ifc-acc__head .ifc-acc__icon--normal { display: none; }
.ifc-acc__item.is-open > .ifc-acc__head .ifc-acc__icon--active { display: flex; }

.ifc-acc__label {
    margin: 0;
    -webkit-user-select: none;
    user-select: none;
}

.ifc-acc__body {
    height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: height .5s ease;
}

.ifc-acc__item.is-open > .ifc-acc__body {
    height: auto;
    visibility: visible;
}

/* Cerrada, la respuesta no ocupa nada: ni borde ni relleno. */
.ifc-acc__item:not(.is-open) > .ifc-acc__body {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.ifc-acc__body-inner { position: relative; }

.ifc-acc--subir .ifc-acc__item.is-open > .ifc-acc__body > .ifc-acc__body-inner {
    animation: ifc-acc-subir .5s cubic-bezier(.26, .69, .37, .96);
}

.ifc-acc--aparecer .ifc-acc__item.is-open > .ifc-acc__body > .ifc-acc__body-inner {
    animation: ifc-acc-aparecer .5s cubic-bezier(.26, .69, .37, .96);
}

@keyframes ifc-acc-subir {
    0%   { opacity: 0; transform: translateY(25px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes ifc-acc-aparecer {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}
