/*
 * JaimeDiaz.TV — Integración visual de componentes nativos DLE
 *
 * Este archivo no reemplaza engine.css.
 * Se carga después y adapta su apariencia al JD Reboot.
 */

/* =========================================================
   Diálogos nativos de DLE / jQuery UI
   ========================================================= */

.ui-dialog {
    overflow: hidden;
    max-width: min(94vw, 760px);
    border: 1px solid rgba(13, 48, 56, 0.1);
    border-radius: 18px;
    background: #fff;
    color: var(--jdr-text-primary);
    box-shadow:
        0 24px 65px rgba(13, 48, 56, 0.22),
        0 8px 24px rgba(13, 48, 56, 0.12);
}

.ui-dialog-titlebar {
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 14px 58px 14px 18px;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(
            135deg,
            #0d3a43 0%,
            #174d50 66%,
            #31563f 100%
        );
    color: #fff;
}

.ui-dialog-title {
    float: none;
    margin: 0;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    text-shadow: none;
}

.ui-dialog-titlebar-close {
    top: 50%;
    right: 16px;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-50%);
}

.ui-dialog-titlebar-close:hover {
    background: rgba(255, 255, 255, 0.15);
}

.ui-dialog-titlebar-close .ui-icon,
.ui-dialog-titlebar-close span.ui-button-text {
    opacity: 0.8;
}

.ui-dialog-titlebar-close:hover .ui-icon,
.ui-dialog-titlebar-close:hover span.ui-button-text {
    opacity: 1;
}

.ui-dialog-content {
    padding: 20px;
    border: 0;
    background: #fff;
    color: var(--jdr-text-primary);
}

/* =========================================================
   Formularios y controles nativos
   ========================================================= */

.ui-dialog fieldset {
    min-width: 0;
    margin: 0;
    padding: 16px;
    border: 1px solid rgba(13, 48, 56, 0.11);
    border-radius: 14px;
    background: rgba(13, 48, 56, 0.018);
}

.ui-dialog legend {
    max-width: calc(100% - 16px);
    padding: 0 8px;
    color: var(--jdr-text-primary);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.ui-dialog label {
    color: var(--jdr-text-secondary);
}

.ui-dialog .form-check-label {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ui-dialog .form-check-input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--jdr-orange-600);
}

/* =========================================================
   Botones nativos de DLE
   ========================================================= */

.ui-button,
.dlevotebutton {
    min-height: 38px;
    margin: 0;
    padding: 9px 15px;
    border: 0;
    border-radius: 9px;
    background: var(--jdr-orange-500);
    color: #173239;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 800;
    line-height: 1.2;
    text-shadow: none;
    box-shadow: none;
    transition:
        background var(--jdr-duration-fast) var(--jdr-ease-standard),
        transform var(--jdr-duration-fast) var(--jdr-ease-standard);
}

.ui-button:hover,
.dlevotebutton:hover {
    background: var(--jdr-orange-400);
    color: #173239;
    transform: translateY(-1px);
}

.ui-button:focus-visible,
.dlevotebutton:focus-visible {
    outline: 3px solid rgba(224, 169, 55, 0.28);
    outline-offset: 2px;
}

/* =========================================================
   Lista completa de votaciones
   ========================================================= */

.ui-dialog [id^="dle-vote_list-"] {
    color: var(--jdr-text-secondary);
    font-size: 0.875rem;
    line-height: 1.4;
}

.ui-dialog [id^="dle-vote_list-"] table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
}

.ui-dialog [id^="dle-vote_list-"] td {
    padding: 0;
    vertical-align: middle;
}

.ui-dialog [id^="dle-vote_list-"] td:first-child {
    width: 28px !important;
    padding-right: 8px;
}

.ui-dialog [id^="dle-vote_list-"] .vote {
    margin: 0 0 5px;
    color: var(--jdr-text-primary);
    font-size: 0.875rem;
    line-height: 1.35;
}

.ui-dialog .voteprogress,
.ui-dialog .pollprogress {
    height: 8px;
    margin: 0;
    border-radius: 999px;
    background: rgba(13, 48, 56, 0.08);
}

.ui-dialog .voteprogress span,
.ui-dialog .pollprogress span {
    height: 100%;
    border-radius: inherit;
    background:
        linear-gradient(
            90deg,
            var(--jdr-orange-500),
            var(--jdr-orange-400)
        );
}

.ui-dialog [id^="dle-vote_list-"] br {
    display: none;
}

.ui-dialog [id^="dle-vote_list-"] .dlevotebutton {
    margin-top: 14px;
}

@media (max-width: 649px) {
    .ui-dialog {
        width: calc(100vw - 24px) !important;
        max-width: none;
    }

    .ui-dialog-titlebar {
        min-height: 52px;
        padding-left: 15px;
    }

    .ui-dialog-content {
        padding: 14px;
    }

    .ui-dialog fieldset {
        padding: 13px;
    }

    .ui-dialog [id^="dle-vote_list-"] .vote {
        font-size: 0.8125rem;
    }
}

/* =========================================================
   Botón de cierre de diálogos DLE
   Evita mostrar el texto nativo "Close".
   ========================================================= */

.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    top: 50%;
    right: 14px;

    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;

    margin: 0;
    padding: 0;

    display: grid;
    place-items: center;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.08);
    color: transparent;

    font-size: 0;
    line-height: 0;
    text-shadow: none;

    box-shadow: none;
    transform: translateY(-50%);
}

.ui-dialog .ui-dialog-titlebar-close::before {
    content: "\00d7";

    display: block;

    color: rgba(255, 255, 255, 0.82);
    font-family: Arial, sans-serif;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
}

.ui-dialog .ui-dialog-titlebar-close:hover {
    background: rgba(255, 255, 255, 0.16);
    color: transparent;
    transform: translateY(-50%);
}

.ui-dialog .ui-dialog-titlebar-close:hover::before {
    color: #fff;
}

/* Oculta iconos y textos internos generados por jQuery UI */
.ui-dialog .ui-dialog-titlebar-close .ui-icon,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon-space,
.ui-dialog .ui-dialog-titlebar-close .ui-button-text {
    display: none !important;
}

/* =========================================================
   Cierre definitivo de diálogos DLE
   Neutraliza .ui-button y .ui-button-icon-only únicamente aquí.
   ========================================================= */

.ui-dialog button.ui-dialog-titlebar-close {
    position: absolute;
    top: 50%;
    right: 14px;

    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;

    margin: 0 !important;
    padding: 0 !important;

    display: grid;
    place-items: center;

    overflow: visible;
    text-indent: 0 !important;

    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 50%;

    background-color: rgba(255, 255, 255, 0.08) !important;
    background-image: none !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-shadow: none !important;

    box-shadow: none !important;
    transform: translateY(-50%);
}

.ui-dialog button.ui-dialog-titlebar-close::before {
    content: "\00D7";

    display: block;

    margin: 0;
    padding: 0;

    color: rgba(255, 255, 255, 0.88);
    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;

    text-indent: 0;
}

.ui-dialog button.ui-dialog-titlebar-close:hover {
    background-color: rgba(255, 255, 255, 0.16) !important;
    transform: translateY(-50%);
}

.ui-dialog button.ui-dialog-titlebar-close:hover::before {
    color: #fff;
}

.ui-dialog button.ui-dialog-titlebar-close > * {
    display: none !important;
}

/* =========================================================
   Entrada suave de diálogos DLE
   ========================================================= */

@keyframes jdr-dialog-in {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes jdr-dialog-overlay-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.ui-dialog {
    transform-origin: top center;
    animation: jdr-dialog-in 180ms ease-out both;
}

.ui-widget-overlay {
    animation: jdr-dialog-overlay-in 160ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
    .ui-dialog,
    .ui-widget-overlay {
        animation: none;
    }
}
