/**
 * Estilos del Panel de Cliente
 * ------------------------------------------------------------
 * Cómo sobreescribir sin tocar este archivo:
 *
 * 1) Cambiar colores/espaciado -> Apariencia > Personalizar > CSS adicional:
 *
 *      .pc-panel {
 *          --pc-color-primary: #16a34a;
 *          --pc-radius: 4px;
 *      }
 *
 * 2) Cambiar estructura del HTML -> copiá
 *      /wp-content/plugins/portal-clientes/templates/panel-cliente.php
 *    a
 *      /wp-content/themes/TU-TEMA/portal-clientes/panel-cliente.php
 *    y editalo. Después ajustá este CSS (o el tuyo propio) para las
 *    clases nuevas que agregues.
 *
 * 3) Si preferís manejar el CSS 100% desde tu theme, podés desactivar
 *    este archivo agregando en el functions.php del theme:
 *      add_action('wp_enqueue_scripts', function () {
 *          wp_dequeue_style('pc-panel-cliente');
 *      }, 20);
 * ------------------------------------------------------------
 */
.entry-title {
    display: none!important;
}

.pc-panel {
    /* Variables editables */
    --pc-color-primary: #2563eb;
    --pc-color-text: #1f2937;
    --pc-color-muted: #6b7280;
    --pc-color-bg-card: #ffffff;
    --pc-color-border: #e5e7eb;
    --pc-radius: 10px;
    --pc-spacing: 24px;

    margin: 0 auto;
    color: var(--pc-color-text);
    font-size: 16px;
    line-height: 1.6;
}

.pc-panel-header {
    margin-bottom: var(--pc-spacing);
}

.pc-panel-contenedor {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 2em;
}
.consultas p{
    margin-bottom: 0px;
    font-size: 0.9rem;
}
.pc-panel-saludo {
    font-family: "Questrial", Sans-serif;
    font-size: 2.5rem;
    color: var(--e-global-color-accent);
    font-weight: 600;
    margin-top: 1em;
}

.pc-panel-vacio,
.pc-panel-documentos-vacio {
    color: var(--pc-color-muted);
}

.pc-panel-proyecto {
    background: var(--pc-color-bg-card);
    border: 1px solid var(--pc-color-border);
    border-radius: var(--pc-radius);
    padding: var(--pc-spacing);
    margin-bottom: var(--pc-spacing);
}
.pc-panel-proyecto-30 {
    width: 30%;
}
.pc-panel-proyecto-70 {
    width: 70%;
}

.pc-panel-proyecto-titulo {
    margin-top: 0;
    margin-bottom: var(--pc-spacing);
}

.pc-panel-section {
    margin-bottom: calc(var(--pc-spacing) * 0.75);
}

.pc-panel-section:last-child {
    margin-bottom: 0;
}

.pc-panel-section-titulo {
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--pc-color-muted);
    border-bottom: 1px solid var(--pc-color-border);
    padding-bottom: 8px;
    margin-bottom: 12px;
}
.pc-panel-empresa, .pc-panel-datos-personales {
    margin-top: 15px;
}
.pc-panel-empresa p, .pc-panel-datos-personales p {
    margin: 0;
    display: block;
}
.pc-panel-empresa strong, .pc-panel-datos-personales strong {
    font-weight: 700;
}


.pc-panel-contactos ul {
    margin: 6px 0 0 0;
    padding-left: 20px;
}

.pc-panel-contactos a {
    color: var(--pc-color-primary);
}

.pc-panel-contenido {
    margin-top: 12px;
}

.pc-panel-documentos-lista {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pc-panel-documento-item {
    border: 1px solid var(--pc-color-border);
    border-radius: calc(var(--pc-radius) / 2);
    margin-bottom: 8px;
}

.pc-panel-documento-link {
    display: flex;
    padding: 12px 16px;
    text-decoration: none;
    color: var(--pc-color-primary);
    font-weight: 600;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: none!important;
}

.pc-panel-documento-link span {
    font-weight: 300;
}

.pc-panel-documento-link:hover {
    background: color-mix(in srgb, var(--pc-color-primary) 8%, transparent);
}
.pc-panel-logout {
    background-color: var(--jkit-border-color);
    color: var(--e-global-color-2be9552);
    padding: 12px 20px;
    border-radius: 20px;
    text-decoration: none!important;
    margin-top: 1em!important;
    display: block;
    width: fit-content;
}

/* -------------- */
.pc-out {
    text-align: center;
    margin-top: 10em;
    margin-bottom: 10em;
    font-size: 1.5rem;
}

/* -------------- */
/* ===================================
   Estilo del login (página /login-cliente/)
   Coincide con el panel del cliente
   =================================== */

/* Contenedor general del formulario */
#loginform {
    max-width: 400px;
    margin: 3em auto;
    padding: var(--pc-spacing, 24px);
    background: var(--pc-color-bg-card, #ffffff);
    border: 1px solid var(--pc-color-border, #e5e7eb);
    border-radius: var(--pc-radius, 10px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    color: var(--pc-color-text, #1f2937);
}

#loginform label {
    display: block;
    margin-bottom: 4px;
    font-family: "Questrial", Sans-serif;
    font-weight: 600;
    color: var(--pc-color-text, #1f2937);
}

#loginform .input, #pc-recuperar-usuario {
    width: 100%;
    padding: 10px;
    margin-bottom: 1em;
    border: 1px solid var(--pc-color-border, #e5e7eb);
    border-radius: calc(var(--pc-radius, 10px) / 2);
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
}

#loginform .button-primary, #pc-recuperar-enviar {
    width: 100%;
    padding: 12px;
    background-color: var(--pc-color-primary, #2563eb);
    color: #fff;
    border: none;
    border-radius: 50px; /* o var(--pc-radius) si preferís recto */
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

#loginform .button-primary:hover {
    background-color: color-mix(in srgb, var(--pc-color-primary, #2563eb) 85%, black);
}

.login-forgot-password {
    text-align: center;
    margin-top: 10px;
}
.login-forgot-password a {
    color: var(--pc-color-muted, #6b7280);
    text-decoration: underline;
}

/* ===================================
   Elementos compartidos: mismo look que #loginform
   (usados en el botón "olvidé mi contraseña" y en la
   página /recuperar-password/, para que no haya
   discrepancia de colores/sombras con el login)
   =================================== */

.pc-card {
    max-width: 400px;
    margin: 3em auto;
    padding: var(--pc-spacing, 24px);
    background: var(--pc-color-bg-card, #ffffff);
    border: 1px solid var(--pc-color-border, #e5e7eb);
    border-radius: var(--pc-radius, 10px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    color: var(--pc-color-text, #1f2937);
    text-align: left;
    box-sizing: border-box;
}

.pc-card-titulo {
    margin: 0 0 8px 0;
    font-size: 1.3em;
}

.pc-card-texto {
    color: var(--pc-color-muted, #6b7280);
    font-size: 0.95em;
    margin-bottom: 1.2em;
}

.pc-input {
    width: 100%;
    padding: 10px;
    margin-bottom: 1em;
    border: 1px solid var(--pc-color-border, #e5e7eb);
    border-radius: calc(var(--pc-radius, 10px) / 2);
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
}

.pc-btn {
    display: block;
    width: 100%;
    padding: 12px;
    background-color: var(--pc-color-primary, #2563eb);
    color: #fff !important;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
    transition: background 0.2s;
    box-sizing: border-box;
}

.pc-btn:hover {
    background-color: color-mix(in srgb, var(--pc-color-primary, #2563eb) 85%, black);
    color: #fff !important;
}

.pc-btn-secundario {
    background: transparent;
    color: var(--pc-color-primary, #2563eb) !important;
    border: 1px solid var(--pc-color-primary, #2563eb);
}

.pc-btn-secundario:hover {
    background: color-mix(in srgb, var(--pc-color-primary, #2563eb) 8%, transparent);
    color: var(--pc-color-primary, #2563eb) !important;
}

.pc-card-mensaje {
    margin-top: 0.8em;
    font-size: 0.9em;
    color: var(--pc-color-muted, #6b7280);
}

.pc-card-volver {
    text-align: center;
    margin-top: 1em;
    font-size: 0.9em;
}

.pc-card-volver a {
    color: var(--pc-color-muted, #6b7280);
    text-decoration: underline;
}

.pc-olvide-wrap {
    max-width: 400px;
    margin: 1em auto 0;
    margin-bottom: 3em;
    text-align: center;
}

.pc-olvide-texto {
    color: var(--pc-color-muted, #6b7280);
    font-size: 0.95em;
    margin-bottom: 10px;
}

.pc-password-wrap {
    position: relative;
}

.pc-password-wrap input {
    padding-right: 42px !important;
}

#loginform > p.login-password > div > button {
    background-color: transparent;
}
.pc-password-toggle {
    position: absolute;
    right: 0px;
    top: 0%;
    background: none;
    background-color: transparent !important;
    border: none;
    padding: 12px 20px !important;
    margin: 0;
    cursor: pointer;
    color: var(--pc-color-primary, #2563eb) !important;
    display: flex;
    align-items: center;
    line-height: 0;
}

.pc-password-toggle:hover {
    color: var(--pc-color-primary, #2563eb);
}

.pc-login-error {
    background: #fee2e2;
    border-left: 4px solid #ef4444;
    color: #b91c1c;
    padding: 10px 15px;
    margin-bottom: 1.5em;
    border-radius: 8px;
    font-size: 0.95em;
}