/* ==========================================================
   ACORDEÓN LEXVITA — 1:1 port of demo-3 .accordion-* (custom.css)
   plus the Tailwind utilities used on academia.php's cierre block.
   ========================================================== */

.elementor-widget-lexvita_accordion { width: 100%; }

.lv-accordion { --lv-acc-border: rgba(18, 25, 38, .12); --lv-acc-title: #0f172a; --lv-acc-text: #475569; }
.lv-accordion--light { --lv-acc-border: rgba(255, 255, 255, .2); --lv-acc-title: #ffffff; --lv-acc-text: rgba(255, 255, 255, .7); }

.lv-accordion__item { border-top: 1px solid var(--lv-acc-border); }
.lv-accordion__item:last-child { border-bottom: 1px solid var(--lv-acc-border); }

.lv-accordion .lv-accordion__btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin: 0;
    padding: 2rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: opacity .3s ease;
}

.lv-accordion .lv-accordion__btn:hover { opacity: .7; }

.lv-accordion .lv-accordion__title {
    margin: 0;
    padding-right: 1.5rem;
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2rem;
    color: var(--lv-acc-title);
    text-align: left;
}

@media (max-width: 639px) {
    .lv-accordion .lv-accordion__title { font-size: 1.25rem; line-height: 1.75rem; }
}

.lv-accordion__icon {
    flex-shrink: 0;
    font-size: 1.875rem;
    font-weight: 300;
    line-height: 1;
    color: var(--lv-acc-title);
    transition: transform .35s ease;
}

.lv-accordion__item.is-active .lv-accordion__icon { transform: rotate(45deg); }

.lv-accordion__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .5s cubic-bezier(.16, 1, .3, 1), padding .4s ease;
}

.lv-accordion__item.is-active .lv-accordion__content {
    max-height: 640px;
    padding-bottom: 2.5rem;
}

.lv-accordion__content p {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.625;
    color: var(--lv-acc-text);
    text-align: justify;
}

.lv-accordion__content p:last-child { margin-bottom: 0; }

/* Elementor editor: keep every panel readable while editing */
.elementor-editor-active .lv-accordion__content { max-height: none; }
