/* ==========================================================
   CONVERTODO
   ROTAR PDF
========================================================== */

.hidden {
    display: none !important;
}


/* ==========================================================
   SUBIDA
========================================================== */

.rotatepdf-upload-stage {

    width:
        min(900px, 100%);

    margin:
        0 auto;

}


.rotatepdf-drop-zone {

    min-height:
        390px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    padding:
        48px
        30px;

    text-align:
        center;

    background:
        #ffffff;

    border:
        2px
        dashed
        #d9dce8;

    border-radius:
        24px;

    box-shadow:
        0 12px 35px
        rgba(20, 23, 43, 0.05);

    transition:
        0.2s;

}


.rotatepdf-drop-zone.drag-over {

    border-color:
        var(--primary);

    background:
        #f6f6ff;

    transform:
        scale(1.004);

}


.rotatepdf-upload-icon {

    width:
        78px;

    height:
        78px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        18px;

    border-radius:
        22px;

    color:
        #ef4444;

    background:
        #fff0f0;

    font-size:
        34px;

}


.rotatepdf-drop-zone h2 {

    color:
        var(--dark);

    font-size:
        27px;

    letter-spacing:
        -0.8px;

}


.rotatepdf-drop-zone > p {

    max-width:
        570px;

    margin:
        8px
        auto
        24px;

    color:
        var(--text-light);

    font-size:
        14px;

    line-height:
        1.6;

}


.rotatepdf-select-button {

    min-height:
        54px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    padding:
        13px
        25px;

    cursor:
        pointer;

    border-radius:
        13px;

    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            #6d63e9
        );

    box-shadow:
        0 11px 26px
        rgba(91, 92, 240, 0.25);

    font-size:
        14px;

    font-weight:
        800;

    transition:
        0.2s;

}


.rotatepdf-select-button:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 15px 30px
        rgba(91, 92, 240, 0.30);

}


.rotatepdf-drop-help {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    margin-top:
        18px;

    color:
        #969aaa;

    font-size:
        11px;

}


/* ==========================================================
   EDITOR
========================================================== */

.rotatepdf-editor {

    width:
        100%;

    padding:
        24px;

    background:
        #ffffff;

    border:
        1px
        solid
        var(--border);

    border-radius:
        24px;

    box-shadow:
        0 12px 38px
        rgba(20, 23, 43, 0.06);

}


.rotatepdf-editor-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding-bottom:
        19px;

    margin-bottom:
        22px;

    border-bottom:
        1px
        solid
        var(--border);

}


.rotatepdf-editor-header h2 {

    color:
        var(--dark);

    font-size:
        21px;

    letter-spacing:
        -0.5px;

}


.rotatepdf-editor-header p {

    margin-top:
        3px;

    color:
        var(--text-light);

    font-size:
        12px;

}


.rotatepdf-header-stats {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    flex-wrap:
        wrap;

}


.rotatepdf-header-stats > span {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    padding:
        8px
        11px;

    border-radius:
        100px;

    background:
        #f3f5fb;

    color:
        #606579;

    font-size:
        10px;

}


.rotatepdf-header-stats i {

    color:
        var(--primary);

}


.rotatepdf-header-stats strong {

    color:
        var(--dark);

}


/* ==========================================================
   LAYOUT
========================================================== */

.rotatepdf-editor-layout {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(330px, 0.8fr);

    gap:
        22px;

    align-items:
        start;

}


/* ==========================================================
   ARCHIVOS
========================================================== */

.rotatepdf-files-area {

    min-width:
        0;

    padding:
        18px;

    border:
        1px
        solid
        var(--border);

    border-radius:
        19px;

    background:
        #fcfcff;

}


.rotatepdf-panel-title {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    margin-bottom:
        17px;

}


.rotatepdf-panel-title h3 {

    color:
        var(--dark);

    font-size:
        17px;

}


.rotatepdf-panel-title p {

    margin-top:
        3px;

    color:
        var(--text-light);

    font-size:
        10px;

}


.rotatepdf-top-actions {

    display:
        flex;

    gap:
        7px;

    flex-shrink:
        0;

}


.rotatepdf-reset-button,
.rotatepdf-add-button {

    min-height:
        38px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;

    padding:
        8px
        11px;

    border:
        1px
        solid
        #d9dce8;

    border-radius:
        10px;

    background:
        #ffffff;

    color:
        #5e6377;

    font-size:
        10px;

    font-weight:
        700;

    transition:
        0.2s;

}


.rotatepdf-add-button {

    cursor:
        pointer;

}


.rotatepdf-reset-button:hover:not(:disabled),
.rotatepdf-add-button:hover {

    color:
        var(--primary);

    border-color:
        var(--primary);

}


.rotatepdf-reset-button:disabled {

    cursor:
        not-allowed;

    opacity:
        0.45;

}


/* ==========================================================
   GRID PDF
========================================================== */

.rotatepdf-file-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(205px, 1fr)
        );

    gap:
        14px;

}


.rotatepdf-file-card {

    min-width:
        0;

    overflow:
        hidden;

    border:
        1px
        solid
        #e1e4ed;

    border-radius:
        15px;

    background:
        #ffffff;

    box-shadow:
        0 5px 16px
        rgba(20, 23, 43, 0.05);

    transition:
        0.2s;

}


.rotatepdf-file-card:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(91, 92, 240, 0.35);

    box-shadow:
        0 11px 24px
        rgba(20, 23, 43, 0.08);

}


/* ==========================================================
   PREVIEW
========================================================== */

.rotatepdf-preview-wrap {

    position:
        relative;

    padding:
        10px;

    background:
        linear-gradient(
            180deg,
            #f8f9fc,
            #f1f2f7
        );

}


.rotatepdf-preview {

    height:
        190px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    overflow:
        hidden;

    border-radius:
        10px;

}


.rotatepdf-preview img {

    max-width:
        80%;

    max-height:
        80%;

    object-fit:
        contain;

    background:
        #ffffff;

    box-shadow:
        0 5px 14px
        rgba(20, 23, 43, 0.13);

    transition:
        transform
        0.25s
        ease;

}


.rotatepdf-preview-placeholder {

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    color:
        #969baa;

    text-align:
        center;

    font-size:
        9px;

}


.rotatepdf-preview-placeholder i {

    color:
        #ef4444;

    font-size:
        30px;

}


.rotatepdf-rotation-badge {

    position:
        absolute;

    left:
        17px;

    bottom:
        16px;

    padding:
        5px
        8px;

    border-radius:
        100px;

    color:
        #6f7485;

    background:
        rgba(255, 255, 255, 0.95);

    box-shadow:
        0 3px 10px
        rgba(20, 23, 43, 0.10);

    font-size:
        8px;

    font-weight:
        700;

}


.rotatepdf-rotation-badge.active {

    color:
        #ffffff;

    background:
        var(--primary);

}


/* ==========================================================
   CUERPO TARJETA
========================================================== */

.rotatepdf-file-body {

    padding:
        12px;

}


.rotatepdf-file-name {

    display:
        block;

    overflow:
        hidden;

    color:
        var(--dark);

    font-size:
        11.5px;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;

}


.rotatepdf-file-meta {

    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;

    margin-top:
        7px;

    color:
        #9296a6;

    font-size:
        8.5px;

}


.rotatepdf-file-meta span {

    display:
        flex;

    align-items:
        center;

    gap:
        4px;

}


.rotatepdf-card-actions {

    display:
        grid;

    grid-template-columns:
        1fr
        1fr
        36px;

    gap:
        6px;

    margin-top:
        11px;

}


.rotatepdf-card-button {

    min-height:
        35px;

    display:
        grid;

    place-items:
        center;

    border:
        1px
        solid
        #dfe2eb;

    border-radius:
        9px;

    background:
        #ffffff;

    color:
        #616678;

    font-size:
        15px;

    transition:
        0.2s;

}


.rotatepdf-card-button.left:hover,
.rotatepdf-card-button.right:hover {

    color:
        var(--primary);

    border-color:
        var(--primary);

    background:
        #f6f6ff;

}


.rotatepdf-card-button.remove {

    color:
        #ef4444;

    background:
        #fff5f5;

    border-color:
        #ffe1df;

}


.rotatepdf-card-button.remove:hover {

    color:
        #ffffff;

    background:
        #ef4444;

    border-color:
        #ef4444;

}


/* ==========================================================
   PANEL DERECHO
========================================================== */

.rotatepdf-options-area {

    position:
        sticky;

    top:
        88px;

    padding:
        18px;

    border:
        1px
        solid
        var(--border);

    border-radius:
        19px;

    background:
        #fcfcff;

}


.rotatepdf-options-heading {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    margin-bottom:
        15px;

}


.rotatepdf-options-icon {

    width:
        42px;

    height:
        42px;

    display:
        grid;

    place-items:
        center;

    flex-shrink:
        0;

    border-radius:
        11px;

    color:
        var(--primary);

    background:
        var(--primary-light);

    font-size:
        18px;

}


.rotatepdf-options-heading h3 {

    color:
        var(--dark);

    font-size:
        17px;

}


.rotatepdf-options-heading p {

    margin-top:
        2px;

    color:
        var(--text-light);

    font-size:
        9px;

}


/* ==========================================================
   SECCIONES
========================================================== */

.rotatepdf-option-section {

    padding:
        15px
        0;

    border-top:
        1px
        solid
        var(--border);

}


.rotatepdf-section-label {

    display:
        block;

    margin-bottom:
        9px;

    color:
        var(--dark);

    font-size:
        11px;

    font-weight:
        700;

}


/* ==========================================================
   APLICAR A
========================================================== */

.rotatepdf-target-options {

    display:
        grid;

    grid-template-columns:
        1fr;

    gap:
        7px;

}


.rotatepdf-target-option {

    min-height:
        59px;

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        9px
        11px;

    text-align:
        left;

    border:
        1px
        solid
        #dde0ea;

    border-radius:
        11px;

    background:
        #ffffff;

    transition:
        0.2s;

}


.rotatepdf-target-option > i {

    width:
        34px;

    height:
        34px;

    display:
        grid;

    place-items:
        center;

    flex-shrink:
        0;

    border-radius:
        9px;

    color:
        #818697;

    background:
        #f1f2f7;

    font-size:
        15px;

}


.rotatepdf-target-option strong {

    display:
        block;

    color:
        var(--dark);

    font-size:
        10.5px;

}


.rotatepdf-target-option small {

    display:
        block;

    margin-top:
        2px;

    color:
        #969aaa;

    font-size:
        8px;

}


.rotatepdf-target-option:hover {

    border-color:
        rgba(91, 92, 240, 0.45);

}


.rotatepdf-target-option.active {

    border-color:
        var(--primary);

    background:
        #f6f6ff;

}


.rotatepdf-target-option.active > i {

    color:
        var(--primary);

    background:
        var(--primary-light);

}


.rotatepdf-target-count {

    display:
        block;

    margin-top:
        7px;

    color:
        #8d92a3;

    font-size:
        8px;

}


/* ==========================================================
   DIRECCIÓN
========================================================== */

.rotatepdf-direction-options {

    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    gap:
        8px;

}


.rotatepdf-direction-button {

    min-height:
        88px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    text-align:
        center;

    border:
        1px
        solid
        #dde0ea;

    border-radius:
        12px;

    background:
        #ffffff;

    transition:
        0.2s;

}


.rotatepdf-direction-button:hover {

    color:
        var(--primary);

    border-color:
        var(--primary);

    background:
        #f6f6ff;

}


.rotatepdf-direction-icon {

    width:
        38px;

    height:
        38px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        10px;

    color:
        var(--primary);

    background:
        var(--primary-light);

    font-size:
        20px;

}


.rotatepdf-direction-button strong {

    display:
        block;

    color:
        var(--dark);

    font-size:
        10px;

}


.rotatepdf-direction-button small {

    display:
        block;

    margin-top:
        1px;

    color:
        #9499a8;

    font-size:
        7.5px;

}


/* ==========================================================
   RESUMEN
========================================================== */

.rotatepdf-summary-box {

    display:
        flex;

    align-items:
        flex-start;

    gap:
        9px;

    margin-top:
        2px;

    padding:
        11px
        12px;

    border:
        1px
        solid
        #e3e5ed;

    border-radius:
        11px;

    background:
        #f7f8fd;

}


.rotatepdf-summary-box > i {

    margin-top:
        1px;

    color:
        var(--primary);

}


.rotatepdf-summary-box strong {

    display:
        block;

    color:
        var(--dark);

    font-size:
        10px;

}


.rotatepdf-summary-box p {

    margin-top:
        3px;

    color:
        #707587;

    font-size:
        8.5px;

    line-height:
        1.5;

}


/* ==========================================================
   BOTÓN PRINCIPAL
========================================================== */

.rotatepdf-main-button {

    width:
        100%;

    min-height:
        53px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    margin-top:
        15px;

    border:
        none;

    border-radius:
        13px;

    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            #6863e9
        );

    box-shadow:
        0 10px 25px
        rgba(91, 92, 240, 0.24);

    font-size:
        12px;

    font-weight:
        800;

    transition:
        0.2s;

}


.rotatepdf-main-button:hover:not(:disabled) {

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 30px
        rgba(91, 92, 240, 0.30);

}


.rotatepdf-main-button:disabled {

    cursor:
        not-allowed;

    opacity:
        0.42;

    box-shadow:
        none;

}


.rotatepdf-private-note {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;

    margin-top:
        10px;

    color:
        #9599a8;

    text-align:
        center;

    font-size:
        8px;

}


.rotatepdf-private-note i {

    color:
        #10b981;

}


/* ==========================================================
   PROCESANDO / RESULTADO
========================================================== */

.rotatepdf-processing,
.rotatepdf-result {

    width:
        min(680px, 100%);

    min-height:
        360px;

    margin:
        0 auto;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    padding:
        42px;

    text-align:
        center;

    border:
        1px
        solid
        var(--border);

    border-radius:
        24px;

    background:
        #ffffff;

    box-shadow:
        0 12px 35px
        rgba(20, 23, 43, 0.06);

}


.rotatepdf-processing-icon {

    width:
        65px;

    height:
        65px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        18px;

    border-radius:
        50%;

    color:
        var(--primary);

    background:
        var(--primary-light);

    font-size:
        27px;

    animation:
        rotatepdf-spin
        1s
        linear
        infinite;

}


@keyframes rotatepdf-spin {

    to {

        transform:
            rotate(360deg);

    }

}


.rotatepdf-processing h2,
.rotatepdf-result h2 {

    color:
        var(--dark);

    font-size:
        24px;

}


.rotatepdf-processing p,
.rotatepdf-result > p {

    margin-top:
        5px;

    color:
        var(--text-light);

    font-size:
        11px;

}


.rotatepdf-progress {

    width:
        min(460px, 100%);

    height:
        8px;

    overflow:
        hidden;

    margin:
        24px
        auto
        9px;

    border-radius:
        50px;

    background:
        #e8eaf1;

}


.rotatepdf-progress-bar {

    width:
        0;

    height:
        100%;

    border-radius:
        inherit;

    background:
        linear-gradient(
            90deg,
            var(--primary),
            var(--secondary)
        );

    transition:
        width
        0.2s
        ease;

}


#rotateProcessingStatus {

    color:
        #9296a5;

    font-size:
        9px;

}


/* ==========================================================
   RESULTADO
========================================================== */

.rotatepdf-success-icon {

    width:
        68px;

    height:
        68px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        15px;

    border-radius:
        50%;

    color:
        #10b981;

    background:
        #e9fbf5;

    font-size:
        29px;

}


.rotatepdf-result-stats {

    width:
        min(430px, 100%);

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        9px;

    margin-top:
        20px;

}


.rotatepdf-result-stats > div {

    padding:
        11px;

    border-radius:
        11px;

    background:
        #f5f6fa;

}


.rotatepdf-result-stats span {

    display:
        block;

    color:
        #999dab;

    font-size:
        7px;

    text-transform:
        uppercase;

}


.rotatepdf-result-stats strong {

    display:
        block;

    margin-top:
        3px;

    color:
        var(--dark);

    font-size:
        18px;

}


.rotatepdf-result-message {

    display:
        inline-flex;

    margin-top:
        14px;

    padding:
        7px
        11px;

    border-radius:
        100px;

    color:
        #087b58;

    background:
        #e9fbf5;

    font-size:
        9px;

    font-weight:
        700;

}


/* ==========================================================
   MENSAJE
========================================================== */

.rotatepdf-message {

    width:
        min(850px, 100%);

    margin:
        15px
        auto
        0;

    padding:
        12px
        14px;

    border:
        1px
        solid
        #ffd5d1;

    border-radius:
        11px;

    color:
        #b42318;

    background:
        #fff0ef;

    font-size:
        10px;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1050px) {

    .rotatepdf-editor-layout {

        grid-template-columns:
            1fr;

    }


    .rotatepdf-options-area {

        position:
            static;

    }

}


@media (max-width: 720px) {

    .rotatepdf-editor {

        padding:
            16px;

    }


    .rotatepdf-editor-header {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .rotatepdf-panel-title {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .rotatepdf-top-actions {

        width:
            100%;

    }


    .rotatepdf-reset-button,
    .rotatepdf-add-button {

        flex:
            1;

    }


    .rotatepdf-file-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }

}


@media (max-width: 480px) {

    .rotatepdf-drop-zone {

        min-height:
            340px;

        padding:
            34px
            18px;

    }


    .rotatepdf-drop-zone h2 {

        font-size:
            22px;

    }


    .rotatepdf-files-area,
    .rotatepdf-options-area {

        padding:
            12px;

    }


    .rotatepdf-file-grid {

        grid-template-columns:
            1fr;

    }


    .rotatepdf-direction-options {

        grid-template-columns:
            1fr
            1fr;

    }


    .rotatepdf-result-stats {

        grid-template-columns:
            1fr;

    }


    .rotatepdf-processing,
    .rotatepdf-result {

        padding:
            30px
            17px;

    }

}