/*********************************************************************************
 * Los contenidos de este archivo están sujetos al
 * contrato estándar de servicios en la nube de Essenzial ("Licencia")
 * la cual puede ser vista en https://www.essenzial.com/contrato-servicios-en-la-nube-essenzial
 * Al instalar o usar este archivo, acepta incondicionalmente los términos
 * y condiciones de la Licencia, y no puede usar este archivo excepto cumpliendo
 * con la Licencia. De acuerdo con los términos de la licencia, no podrá sublicenciar,
 * revender, alquilar, arrendar, distribuir ni transferir de otro modo los derechos
 * o el uso del software.
 *
 * Copyright (C) 2013-2026 Essenzial Spain S.L
 ***********************************************************************************/


/* ==========================================================================
   Layout
   ========================================================================== */

.sszesf-container{
    max-width:1200px;
    margin:0 auto;
    padding:30px 20px;
}


/* ==========================================================================
   Cabecera
   ========================================================================== */

.sszesf-page-header{
    margin-bottom:30px;
}

.sszesf-page-title{
    margin:0;
    font-size:2rem;
    font-weight:600;
}

.sszesf-page-description{
    margin-top:10px;
    color:#666;
    font-size:1rem;
}


/* ==========================================================================
   Tarjetas
   ========================================================================== */

.sszesf-card{
    background:#fff;
    border:1px solid #e3e3e3;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}

.sszesf-card-header{
    padding:20px 25px;
    border-bottom:1px solid #ececec;
    background:#fafafa;
}

.sszesf-card-header h2{
    margin:0;
    font-size:1.25rem;
}

/* Se mantiene para el resto del plugin */
.sszesf-card-body{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    padding:25px;
}

/* Cuerpo específico del editor */
.sszesf-editor-body{
    display:block;
    padding:30px;
}

.sszesf-card-content{
    padding:25px;
    border-top:1px solid #ececec;
}

.sszesf-card-content p:last-child{
    margin-bottom:0;
}


/* ==========================================================================
   Botones
   ========================================================================== */

.sszesf-button{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 24px;
    border:none;
    border-radius:8px;
    background:var(--color-primary-strong);
    color:#fff;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:opacity .2s ease;
}

.sszesf-button:hover{
    opacity:.9;
}

.sszesf-button .dashicons{
    width:20px;
    height:20px;
    font-size:20px;
    line-height:20px;
}

.sszesf-button-title{
    line-height:1;
}


/* ==========================================================================
   Stepper
   ========================================================================== */

.sszesf-steps{

    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    width:100%;

    margin-bottom:50px;

}

.sszesf-steps::before{

    content:"";

    position:absolute;

    top:18px;

    left:4%;

    right:4%;

    height:2px;

    background:#d9d9d9;

    z-index:0;

}

.sszesf-step{

    position:relative;

    z-index:1;

    flex:1;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

}

.sszesf-step span{

    display:flex;

    align-items:center;

    justify-content:center;

    width:36px;

    height:36px;

    border-radius:50%;

    background:#d9d9d9;

    color:#fff;

    font-weight:700;

    margin-bottom:12px;

}

.sszesf-step label{

    display:block;

    width:100%;

    margin:0;

    padding:0 8px;

    text-align:center;

    font-size:14px;

    font-weight:600;

    line-height:1.35;

    color:#666;

    word-break:normal;

    overflow-wrap:anywhere;

}

.sszesf-step.active span{

    background:#d63638;

}

.sszesf-step.active label{

    color:#222;

}


/* ==========================================================================
   Contenido del editor
   ========================================================================== */

.sszesf-editor-content{

    width:100%;

    max-width:900px;

    margin:0 auto;

}

.sszesf-step-content{

    width:100%;

}

.sszesf-step-panel{

    display:none;

}

.sszesf-step-panel.active{

    display:block;

}

.sszesf-step-panel input[type="text"]{

    width:100%;

}


/* ==========================================================================
   Navegación
   ========================================================================== */

.sszesf-step-buttons{

    width:100%;

    display:flex;

    justify-content:space-between;

    margin-top:50px;

}

.sszesf-taxonomy{

    margin-bottom:20px;

    border:1px solid #ddd;

    border-radius:8px;

    background:#fff;

}

.sszesf-taxonomy summary{

    cursor:pointer;

    padding:12px 18px;

    font-size:16px;

    font-weight:600;

    user-select:none;

}

.sszesf-taxonomy[open] summary{

    border-bottom:1px solid #eee;

}

.sszesf-term-tree{

    list-style:none;

    margin:0;

    padding:10px 20px 15px 25px;

}

.sszesf-term-tree .sszesf-term-tree{

    margin-left:28px;

    border-left:2px solid #ececec;

    padding-left:18px;

}

.sszesf-term-tree li{

    margin:8px 0;

}

.sszesf-term-tree label{

    display:flex;

    align-items:center;

    gap:8px;

    cursor:pointer;

}