/* ==========================================================================
   Trama Popup — estilos del botón disparador y del modal
   ========================================================================== */

/* --------------------------------------------------------------------------
   Botón / enlace disparador
   -------------------------------------------------------------------------- */

.trama-open-modal {
    display: inline-block;
    cursor: pointer;
    padding: 10px 18px;
    border: 0;
    border-radius: 6px;
    background: #222;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    line-height: 1.4;
    transition: background 0.2s ease;
}

.trama-open-modal:hover,
.trama-open-modal:focus {
    background: #000;
    color: #fff;
    text-decoration: none;
    outline: 2px solid rgba(255, 255, 255, 0.4);
    outline-offset: 2px;
}

/* Variante enlace — elimina todos los estilos de botón */
.trama-open-modal.trama-link {
    background: transparent;
    color: inherit;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
    line-height: inherit;
    text-decoration: underline;
    outline: none;
}

.trama-open-modal.trama-link:hover,
.trama-open-modal.trama-link:focus {
    background: transparent;
    color: inherit;
    outline: none;
    opacity: 0.7;
}

/* --------------------------------------------------------------------------
   Overlay del modal
   -------------------------------------------------------------------------- */

.trama-modal {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147483647 !important;
    background: rgba(0, 0, 0, 0.86);
    align-items: center !important;
    justify-content: center !important;
    padding: 30px;
    box-sizing: border-box;
}

.trama-modal.is-active {
    display: flex !important;
}

/* Bloquea el scroll del body mientras hay un modal abierto */
body.trama-modal-open {
    overflow: hidden !important;
}

/* Correcciones de z-index para temas conflictivos (Divi, etc.) */
body.trama-modal-open #main-footer,
body.trama-modal-open .et-l--footer,
body.trama-modal-open footer,
body.trama-modal-open .et_builder_inner_content,
body.trama-modal-open #page-container {
    z-index: auto !important;
}

/* --------------------------------------------------------------------------
   Caja interior del modal
   -------------------------------------------------------------------------- */

.trama-modal-box {
    position: relative !important;
    z-index: 2147483647 !important;
    width: 92vw;
    max-width: 1200px;      /* sobreescrito inline por el atributo "ancho" */
    height: auto;
    max-height: 92vh;       /* sobreescrito inline por el atributo "alto"  */
    background: #000;       /* sobreescrito inline por el atributo "fondo"  */
    border-radius: 8px;
    padding: 46px 20px 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   Botón de cierre
   -------------------------------------------------------------------------- */

.trama-close-modal {
    position: absolute !important;
    top: 8px;
    right: 14px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    z-index: 10 !important;
    padding: 0;
    transition: opacity 0.2s ease;
}

.trama-close-modal:hover,
.trama-close-modal:focus {
    opacity: 0.7;
    outline: none;
}

/* --------------------------------------------------------------------------
   Contenido interior
   -------------------------------------------------------------------------- */

.trama-modal-content {
    color: #fff;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
}

.trama-modal-content iframe {
    display: block;
    width: 100%;
    min-height: 650px;
    border: 0;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 768px) {
    .trama-modal {
        padding: 15px;
    }

    .trama-modal-box {
        width: 96vw;
        padding: 48px 12px 12px;
    }

    .trama-modal-content iframe {
        min-height: 480px;
    }
}

/* Migrated program buttons and public speaker biographies. */
.trama-open-modal.trama-program-video {
 display:block; width:fit-content; margin:6px 0 8px; padding:8px 20px;
 text-align:center; background:#e91e63; color:#fff; border:0;
 border-radius:3px; font:inherit; text-decoration:none;
}
.trama-open-modal.trama-program-video:hover,
.trama-open-modal.trama-program-video:focus,
.trama-open-modal.trama-program-video:active {background:#555;color:#fff;}
.trama-modal-box > .trama-close-modal {
 width:36px;height:36px;display:flex;align-items:center;justify-content:center;
 background:#000;border-radius:4px;z-index:2147483647 !important;
}
.trama-curriculum .trama-modal-content {color:#333;}
