/* Modal login/registro: texto legal (14px) y enlaces en azul medio */
.login-legal-text {
    font-size: 14px;
    line-height: 1.4;
}

.login-legal-text a {
    color: #449bd0;
}

.login-legal-text a:hover {
    color: #0D1031;
}

/* "¿Ya tienes una cuenta? Iniciar sesión" dentro de .login-legal-text
   (modal registro). El pink-theme aplica font-size 0.925rem a
   .register-page-form p.create-account con más especificidad; forzamos
   14px y line-height 1.4 para que iguale al texto legal. */
.login-legal-text p.create-account {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-top: 20px !important;
    margin-bottom: 0 !important;
}

/* Modal loginMail: enlaces "¿Olvidaste tu contraseña?" y "Crear una cuenta"
   en el mismo tono azul medio que el texto legal, con tamaño 14px */
#loginMailModal .reset-password-link,
#loginMailModal .create-account {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Mantener un espacio visible entre el botón "Iniciar sesión" y el bloque
   de enlaces, pero juntar las dos líneas entre sí (misma maquetación que
   el modal inicial de login) */
#loginMailModal .reset-password-link.mt-2 {
    margin-top: calc(1.25rem + 5px) !important;
}

/* Alinear etiquetas "Email" y "Contraseña" a la izquierda (mismo borde
   donde comienzan los inputs y el botón "Iniciar sesión") */
#loginMailModal .register-page-form p.input-header,
#forgotPasswordModal .register-page-form p.input-header,
#registerModal .register-page-form p.input-header {
    text-align: left !important;
    padding-left: 0 !important;
}

/* Botón "Crear cuenta" del modal de registro: hover navy + texto blanco */
#registerModal .btn.pt-btn.submit {
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

#registerModal .btn.pt-btn.submit:hover {
    background-color: #0D1031 !important;
    color: #fff !important;
    border-color: #0D1031 !important;
    opacity: 1 !important;
}

/* Borde gris sutil en los inputs de los modales de acceso/registro/recuperar.
   Por defecto .register-page-form .form-control tiene border:1px solid
   transparent y el campo se pierde visualmente sobre el fondo. Al enfocarlo
   se ilumina en azul (cyan corporativo) para indicar actividad. */
#loginMailModal .register-page-form .form-control,
#registerModal .register-page-form .form-control,
#forgotPasswordModal .register-page-form .form-control {
    border: 1px solid #dee2e6 !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

#loginMailModal .register-page-form .form-control:focus,
#registerModal .register-page-form .form-control:focus,
#forgotPasswordModal .register-page-form .form-control:focus {
    border-color: #6ec9e4 !important;
    box-shadow: 0 0 0 0.2rem rgba(110, 201, 228, 0.25) !important;
    outline: none !important;
}

#loginMailModal .reset-password-link a,
#loginMailModal .create-account a {
    color: #449bd0 !important;
}

#loginMailModal .reset-password-link a:hover,
#loginMailModal .create-account a:hover {
    color: #0D1031 !important;
}

/* Footer (#footer-3): reducir tamaño de enlaces y juntar líneas.
   Por defecto el pink-theme deja .footer .foo-links li p con
   margin-bottom: 10px y el texto hereda 16px del html. */
#footer-3 .foo-links li p {
    font-size: 15px !important;
    margin-bottom: 6px !important;
    line-height: 1.3;
}

/* Mantener siempre visible la barra de scroll para evitar el salto
   horizontal al abrir modales de Bootstrap (login/registro, etc.).
   Bootstrap añade overflow:hidden + padding-right a <body> cuando se
   abre un modal; con html { overflow-y:scroll } el espacio de la
   barra ya está reservado y no se produce movimiento. */
html {
    overflow-y: scroll;
}

body,
body.modal-open {
    padding-right: 0 !important;
    overflow-x: hidden;
}

body.modal-open {
    overflow-y: auto !important;
}

/* Bootstrap inyecta padding-right inline en elementos con .fixed-top
   / .sticky-top al abrir un modal. Neutralizarlos también. */
.fixed-top,
.sticky-top,
.is-fixed {
    padding-right: 0 !important;
}

.text-purple {
    color: rgb(172, 51, 172);
}

.text-white {
    color: white;
}

.fs-20 {
    font-size: 14px !important;
}

#header-dashboard .content-button-login-dashs .login-button {
    font-size: 14px !important;
    padding: 12px 30px !important;
}

/* Botón Iniciar sesión: hover magenta + ligera ampliación */
#header-dashboard .content-button-login-dashs .login-button {
    transition: background-color .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
    display: inline-block;
}

#header-dashboard .content-button-login-dashs .login-button:hover {
    background-color: #AE419C !important;
    color: #fff !important;
    opacity: 1 !important;
}

/* Tras click en "Iniciar sesión": volver al estado natural blanco */
#header-dashboard .content-button-login-dashs .login-button:not(.btn-cyan):focus:not(:hover):not(:active),
#header-dashboard .content-button-login-dashs .login-button:not(.btn-cyan):focus-visible:not(:hover):not(:active),
#header-dashboard .content-button-login-dashs .login-button:not(.btn-cyan):active:not(:hover) {
    background-color: #fff !important;
    color: #0D1031 !important;
    border-color: #0D1031 !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none;
    opacity: 1 !important;
}

/* Botón Regístrate: texto azul oscuro y ligera ampliación en hover */
#header-dashboard .content-button-login-dashs .login-button.btn-cyan {
    transition: background-color .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
    display: inline-block;
}

#header-dashboard .content-button-login-dashs .login-button.btn-cyan:hover {
    background-color: #6ec9e4 !important;
    color: #0D1031 !important;
    transform: scale(1.05);
}

/* Tras click: volver al estado natural (fondo cyan, texto blanco) */
#header-dashboard .content-button-login-dashs .login-button.btn-cyan:focus:not(:hover):not(:active),
#header-dashboard .content-button-login-dashs .login-button.btn-cyan:focus-visible:not(:hover):not(:active),
#header-dashboard .content-button-login-dashs .login-button.btn-cyan:active:not(:hover) {
    background-color: #6ec9e4 !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none;
}

/* Botón "Probar Libroox Pro" en #hero-2: hover magenta + scale, reset tras click */
#hero-2 .btn {
    transition: background-color .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
    display: inline-block;
}

#hero-2 .btn:hover {
    background-color: #AE419C !important;
    color: #fff !important;
    border-color: #AE419C !important;
    opacity: 1 !important;
}

#hero-2 .btn:focus:not(:hover):not(:active),
#hero-2 .btn:focus-visible:not(:hover):not(:active),
#hero-2 .btn:active:not(:hover) {
    background-color: transparent !important;
    color: #0D1031 !important;
    border-color: #0D1031 !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none;
}

/* Botones "Empezar a diseñar" (home): mismo comportamiento que Regístrate */
.pt-btn.btn.btn-cyan {
    transition: background-color .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
    display: inline-block;
}

.pt-btn.btn.btn-cyan:hover {
    background-color: #6ec9e4 !important;
    color: #0D1031 !important;
    transform: scale(1.05);
}

.pt-btn.btn.btn-cyan:focus:not(:hover):not(:active),
.pt-btn.btn.btn-cyan:focus-visible:not(:hover):not(:active),
.pt-btn.btn.btn-cyan:active:not(:hover) {
    background-color: #6ec9e4 !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none;
}

.dashboard-title-container {
    background: rgb(115, 214, 255);
    background: linear-gradient(90deg, rgba(115, 214, 255, 1) 0%, rgba(0, 149, 212, 1) 100%);
    color: white;
    border-radius: 5px;
    padding: 20px;
    margin-bottom: 50px;
}

.dashboard-title-container h3 {
    font-size: 25px;
    margin-bottom: 0 !important;
}

.dashboard-title-container p {
    font-size: 40px;
    margin-bottom: 0 !important;
}

.dashboard-cards-content {
    transition: all 0.3s ease-in-out;
    padding: 5px
}

.dashboard-cards-content:hover {
    border: 1px solid rgb(172, 51, 172) !important;
}

.dashboard-second-section-title {
    font-weight: bold;

}

.dashboard-secondary-cards {
    height: 100px;
    background-color: #F6F5F7;
    border-radius: 10px;
}

#dashboard {
    /* min-height: 100vh; */
    padding: 0px !important;
    padding-top: 0px !important;
}

#sidebar-dash,
#sidebar-profile {
    background-color: #F6F5F7;
    padding-top: 80px;
    height: auto;
    display: flex;
    justify-content: center;
}

#dashboard-section {
    padding-top: 80px !important;
    /* min-height: 100vh; */
}

#header-dashboard {
    background-color: #101231 !important;
}

#header-dashboard h2,
#header-dashboard span {
    color: white;
}

#dashboard-section button {
    font-size: 14px !important;
}
.design-name {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    line-height: 1.3;
    max-height: 5.2em;
    width: 100%;
}

.item-category a > .d-flex {
    overflow: hidden;
}
