/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.0
Text Domain: uncode
*/

/* Menú vertical de perfil */
.menu-perfil {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #fff;
	padding: 20px 0;
	margin: 20px 0;
	width: 100%;
	max-width: 280px;
}
.menu-perfil li {
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.menu-perfil li a {
	display: block;
	width: 100%;
	padding: 12px 24px;
	color: #1D3456;
	text-decoration: none;
	font-size: 16px;
	border-left: 4px solid transparent;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.menu-perfil li a:hover, .menu-perfil li.active a {
	background: #f0f0f0;
	border-left: 4px solid #1D3456;
	color: #1D3456;
}
.menu-wrapper { display: none; }

.titulo-categ h1{
	text-align: center;
	color:#1D3456;
    margin-bottom: 20px;
}

#nuevocontainer .dlp-grid-card {
    display: none;
}

#destacadocontainer .dlp-grid-card {
    display: none;
}

#favoritoscontainer .dlp-grid-card {
    display: none;
}

.no-margin-top{
	margin-top:0px !important;
}
.no-margin-bottom{
	margin-bottom:0px !important;
}
.social-icon a{
	color:#fff !important;
}

#menu-menu-footer a, #menu-menu-footer-1 a{
	font-size:13px !important;
	color:#fff !important;
	text-decoration: underline;
}

.border-color-594416-color {
    border: 12px solid;
}

.line-banner .border-color-594416-color {
    border: 0px solid;
}

.btn-sm {
    padding: 14px 60px !important;
}

.text-border h1, 
.text-border p{
text-shadow:
        -1px -1px 0 black,
         1px -1px 0 black,
        -1px  1px 0 black,
         1px  1px 0 black;
}

/*BUSCADOR*/
.search-container{
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f0f0f0;
    border-radius: 30px;
    padding: 5px 15px;
    width: 100% !important;
    margin: 20px auto;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
    gap: 10px;
}

#search-posts-form{
	display: flex;
    width: 100%;
    z-index: 9;
}

#search-results {
    border: 1px solid #ddd;
    padding: 33px 13px;
    max-height: 300px;
    overflow-y: auto;
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    background: #f0f0f0;
    z-index: 8;
    border-top: 0;
}

.search-result-item {
    padding: 5px 0;
}

.search-result-item a {
    text-decoration: none;
    color: #333;
}

.search-result-item a:hover {
    text-decoration: underline;
    color: #0073aa;
}

.dlp-grid-card-document-link-wrap {
    justify-content: center !important;
}

/*barra busqueda*/
.tx-breadcrumb.breadcrumb-area.bg-default.has-breadcrumb-overlay {
	display: none;
}
 
.search-container {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #f0f0f0;
border-radius: 30px;
padding: 5px 15px;
width: 100% !important;
margin: 20px auto;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
gap: 10px; /* Espaciado entre los elementos */
}

.category-dropdown select {
	border: none;
	background-color: #f0f0f0;
	font-size: 14px;
	padding: 5px;
	outline: none;
	appearance: none;
	flex: 0 0 120px; /* Fija el ancho del desplegable */
	text-align: center;
}

.nice-select {
	background-color: #f0f0f0;
	border: none !important;
}

.search-container form input[type="text"] {
	flex: 1;
	border: none;
	outline: none;
	padding: 5px 10px;
	font-size: 14px;
	color: #333;
	background-color: #f0f0f0;
}

.search-container button {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	color: #333;
	padding: 0;
}

button .search-icon {
	font-size: 18px;
}

.single-dlp_document .page-wrapper .container{
	max-width: 1140px;
}
.dlp-main-info{
	display: flex;
	align-items: center;
}
.dlp-single-wrap{
	margin-top: 40px;
}

.dlp-main-info .dlp-grid-card-title h4{
	margin-left: 20px;
}

.logged-in-as{
	display: none;
}
.post-comment-form h3{
	padding-bottom: 20px;
}
.title-interna{
	font-size: 20px;
	padding-top: 20px;
}

/***/
/* ==========================================
FORMULARIO LOGIN Y REGISTRO
=============================================*/
.text-align-center{
	text-align: center;
}

form#registro,form#login {
	background:transparent;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

form#registro p,form#login p,form#otp-form p {
	margin-bottom: 15px;
	text-align:center;
	font-size: 14px;
	margin-top: inherit;
}

form#registro strong, form#login strong, form#otp-form strong  {
	color: #21272A;
	text-decoration: underline;
}
form#registro a, form#login a, form#otp-form a {
	font-size: 14px;
	text-align:center;
	color: #a1000c;
}

form#password_reset_form a {
	font-size: 14px;
	color: #000;
	font-weight: 900 !important;
	text-align:center;
}
#formperfil input[type="text"], #formperfil input[type="email"],
#password_reset_form input[type="email"],
form#registro input[type="text"],form#login input[type="text"],form#new_password_form input[type="text"] ,
form#registro input[type="email"],form#login input[type="email"],
form#registro input[type="password"],form#login input[type="password"],form#new_password_form input[type="password"] , 
form#registro select, form#registro .input-select,
form#formperfil select, form#formperfil .input-select
{
	width: 100%;
	padding: 10px;
	border: 0; /* 1px solid #ccc; */
	border-radius: 10px;
	font-size: 16px;
	border: 1px solid #E8E8E8;
	background-color: #fff !important;
}
form#otp-form{
    width: 400px !important;
}

form#login input[type="text"],
form#login input[type="email"],
form#login input[type="password"]{
	background-color: #FFF;
	border: 0;
	border: 1px solid #E8E8E8;
}

form#registro input[type="checkbox"], form#login input[type="checkbox"] {
	margin-right: 5px;
}
#formperfil button[type="button"],
#formperfil input[type="submit"],
form#new_password_form input[type="submit"], 
form#registro button[type="submit"], 
form#login button[type="submit"], 
#otp-form button[type="submit"], 
#password_reset_form input[type="submit"] {
	display: block;
	width: 100%;
	padding: 10px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background-color: #A41034;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color 0.3s;
}

form#registro button[type="submit"]:hover, 
form#login button[type="submit"]:hover, 
#otp-form button[type="submit"]:hover {
	background-color: #a1000c;
}

form#registro hr,
form#login hr ,
form#otp-form hr,
form#password_reset_form hr  {
	color: #F0F0F0;
    border-top: 2px solid;
    opacity: 1;
    margin-bottom: 20px;
}

form#login label{
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
	color: #333;
	text-align:center;
}
form#registro label  {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
	color: #333;
	text-align:left;
	margin-left:30px;
	font-size: 14px;
}
form#formperfil .input-select,
form#registro .input-select{
	font-size: 12px;
    padding: 0px 13px;
    margin-bottom: 10px;
}


form#registro input[type="text"],
form#registro input[type="email"],
form#registro input[type="password"],
form#registro .input-select,  
form#registro .input-select  span
form#formperfil .input-select,  
form#formperfil .input-select  span{
	background-color:#E8E8E8;
	color:#343434;
}
.form-50-50{
	display: flex; 
	gap: 10px;
	margin-bottom: -10px;
}
.form-50-50 p{
	flex: 1;
}
form#registro input[type="text"]::placeholder,
form#registro input[type="email"]::placeholder,
form#registro input[type="password"]::placeholder {
    font-size: 12px;
}


form#registro .linkrojo, form#login .linkrojo{
	color: #A41034 !important;
	text-decoration:none !important;
	font-weight: 700 !important;
}


form#registro .linkrojo:hover, form#login  .linkrojo:hover{
	color: #a1000c !important;
}

.success, .error{
	text-align:center;
	font-weight:600 !important;
	color: #21272A;
}
.error{
	color: #a1000c;
}

.strength {
	margin-top: 10px;
	font-size: 0.9rem;
}
.weak { color: red; }
.medium { color: orange; }
.strong { color: green; }

.requirements {
	list-style: none;
	padding: 0;
	font-size: 0.9rem;
}
.requirements li {
	color: #5b5b5b;
    font-size: 12px;
    padding-left: 30px;
	list-style: none;
}
.requirements li.valid {
	color: green;
}

#submit-btn:disabled {
	background-color: #ccc !important;
    cursor: not-allowed !important;
}

#otp-form {
    margin: 0 auto;
    text-align: center;
}

.otp-inputs {
    max-width: 330px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
}

.otp-inputs input[type="number"],
.otp-inputs input[type="text"]  {
    width: 60px;
    height: 70px;
    text-align: center;
    font-size: 1.5rem;
    border: 2px solid #ddd;
    background: #ddd;
    border-radius: 5px;
}

.otp-inputs input[type="number"]:focus,
.otp-inputs input[type="text"]:focus{
	background: #fff;
	border: 1px solid #5D4037;
	box-shadow: 0px 0px 4px 0px #5D4037;
} 

.otp-inputs {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 20px auto;
	max-width: 300px;
}
.otp-digit {
	width: 50px !important;
	height: 50px !important;
	text-align: center !important;
	font-size: 20px !important;
	font-weight: bold !important;
	border: 2px solid #ddd !important;
	border-radius: 8px !important;
	transition: border-color 0.3s ease !important;
}
.otp-digit:focus {
	border-color: #007cba !important;
	outline: none !important;
	box-shadow: 0 0 5px rgba(0, 124, 186, 0.3) !important;
}
.otp-digit.filled {
	background-color: #f0f8ff !important;
	border-color: #007cba !important;
}
#otp-paste-field {
	font-family: monospace !important;
}
#otp-paste-field:focus {
	border-color: #007cba !important;
	outline: none !important;
	box-shadow: 0 0 5px rgba(0, 124, 186, 0.3) !important;
}

/* dropdown de notificaciones */
ul.dropdown-menu-not {
    pointer-events: auto !important;
    visibility: visible !important;
    z-index: 10000 !important;
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    top: 30px !important;
}
.dropdown-not { 
    position: relative; 
    display: inline-block; 
}
.dropdown-not .fa-bell.icon {
    color: #fff !important;
    font-size: 16px !important;
    vertical-align: middle;
    z-index: 2;
    position: relative;
}
.dropdown-not .notification-badge {
    background: #ffb300;
    color: #1d3456 !important;
    border-radius: 50%;
    border: 1px solid #1d3456;
    padding: 1px 5px;
    font-size: 11px;
    position: absolute;
    top: -13px;
    right: -2px;
    z-index: 3;
    min-width: 18px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    font-weight: bold;
}
.notif-dot {
    display:inline-block;
    width:10px;
    height:10px;
    border-radius:50%;
    margin-right:7px;
    vertical-align:middle;
    background:#1d3456;
}
.notif-dot.notif-dot-read {
    background:#ccc;
}
.dropdown-menu-not {
    display: none !important;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 30px;
    background: #f8fafc;
    min-width: 320px;
    max-width: 370px;
    width: 100%;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    z-index: 1000;
    list-style: none;
    padding: 0;
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
    transition: opacity 0.2s;
    box-sizing: border-box;
    border: 1.5px solid #e0e6ed;
    visibility: hidden;
    height: 0;
    max-height: 0;
}
.dropdown-menu-not li {
    border-bottom: 1px solid #e0e6ed;
    padding: 16px 18px 12px 18px;
    background: #f8fafc;
    transition: background 0.2s, color 0.2s;
    font-size: 15px;
}
.dropdown-menu-not li:last-child { border-bottom: none; }
.dropdown-menu-not .notif-unread {
    background: #eaf3ff !important;
    color: #1d3456 !important;
    border-left: 4px solid #3fa7ff;
}
.dropdown-menu-not .notif-unread p,
.dropdown-menu-not .notif-unread .date-n {
    color: #1d3456 !important;
}
.dropdown-menu-not .notif-read {
    background: #f5f5f5 !important;
    color: #888 !important;
}
.dropdown-menu-not .notif-read p,
.dropdown-menu-not .notif-read .date-n {
    color: #888 !important;
}
.notif-dot {
    display:inline-block;
    width:8px;
    height:8px;
    border-radius:50%;
    margin-right:7px;
    vertical-align:middle;
    background:#3fa7ff;
    border:1.5px solid #fff;
    box-shadow:0 0 0 1.5px #3fa7ff;
}
.notif-dot.notif-dot-read {
    background:#ccc;
    border:2px solid #f5f5f5;
    box-shadow:none;
}
.dropdown-menu-not a {
    color: #1d3456;
    text-decoration: none;
    display: block;
    font-weight: 500;
    transition: color 0.2s;
}
.dropdown-menu-not a:hover {
    color: #3fa7ff;
}
.dropdown-menu-not .date-n {
    font-size: 12px;
    color: #888;
    margin: 0;
    font-weight: 400;
}
.dropdown-not.open .dropdown-menu-not {
    display: block !important;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    height: auto;
    max-height: 500px;
}
/* Encabezado de acciones */
.dropdown-menu-not li.dropdown-header-actions, .notificaciones-header-bar {
    background: #a41034 !important;
    border-bottom: 1.5px solid #fcb900 !important;
    text-align: right;
    padding: 14px 18px 12px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 600;
    color: #fff !important;
}
.dropdown-menu-not li.dropdown-header-actions a, .notificaciones-header-link {
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600;
    margin-left: 12px;
    font-size: 14px;
    background: transparent !important;
    transition: color 0.2s;
}
.dropdown-menu-not li.dropdown-header-actions a:hover, .notificaciones-header-link:hover {
    color: #3fa7ff !important;
    background: transparent !important;
}

.dropdown-header-actions a.cursor-init{
    font-size: 12px !important;
}

/* dropdown de usuario */
.dropdown-user { position: relative; display: inline-block; }
.dropdown-user .user-dropdown-menu {
    display: none;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0 !important;
    left: auto !important;
    top: 65% !important;
    margin-top: 8px !important;
    background: #f8fafc;
    min-width: 160px;
    width: auto;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    z-index: 10000;
    list-style: none;
    padding: 0;
    border-radius: 14px;
    overflow: hidden;
    transition: opacity 0.2s;
    box-sizing: border-box;
    border: 1.5px solid #e0e6ed;
}
.dropdown-user .user-dropdown-menu li {
    border-bottom: 1px solid #e0e6ed;
    padding: 12px 18px;
    background: #f8fafc;
    transition: background 0.2s, color 0.2s;
    font-size: 15px;
    margin: 0;
}
.dropdown-user .user-dropdown-menu li:last-child { border-bottom: none; }
.dropdown-user .user-dropdown-menu li a {
    color: #1d3456;
    text-decoration: none;
    display: block;
    font-weight: 500;
    transition: color 0.2s;
}
.dropdown-user .user-dropdown-menu li a:hover {
    background: #eaf3ff !important;
    color: #3fa7ff;
}
.dropdown-user.open .user-dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Solo para pantallas menores a 768px */
@media (max-width: 767px) {
    .navbar-main-after {
        /* display: none !important; */
        display: inline-flex;
        align-items: center;
        text-align: center;
        width: 100%;
    }
    .desktop-hidden{
        display: none !important;
    }
    form#otp-form{
    width: 100% !important;
}
}

/* ================================================
   BRANDS GRID - Custom Shortcode Styles
   ================================================ */

/* Container principal */
.brands-grid-container {
    width: 100%;
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

/* Header de la sección */
.brands-grid-header {
    text-align: center;
    margin-bottom: 50px;
}

.brands-grid-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1D3456;
    margin: 0 0 20px 0;
    line-height: 1.2;
}

.brands-grid-subtitle {
    font-size: 1.125rem;
    color: #1D3456;
    margin: 0;
    line-height: 1.6;
    opacity: 0.85;
}

/* Grid de marcas */
.brands-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    align-items: stretch;
}

/* Cada item de marca */
.brand-item {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.brand-item:hover {
    transform: scale(1.02);
    opacity: 0.9;
}

/* Link de la marca */
.brand-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* Wrapper de imagen */
.brand-image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 280px;
    height: 280px;
}

/* Imagen de marca */
.brand-image {
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: 100%;
    object-fit: cover;
    display: block;
    border-radius: 16px;
}

/* Responsive - Tablets */
@media (max-width: 991px) {
    .brands-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .brands-grid-title {
        font-size: 2rem;
    }
    
    .brand-image-wrapper {
        min-height: 220px;
        height: 220px;
    }
}

/* Responsive - Mobile */
@media (max-width: 767px) {
    .brands-grid-container {
        margin: 40px auto;
        padding: 0 15px;
    }
    
    .brands-grid-header {
        margin-bottom: 35px;
    }
    
    .brands-grid-title {
        font-size: 1.75rem;
    }
    
    .brands-grid-subtitle {
        font-size: 1rem;
    }
    
    .brands-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .brand-image-wrapper {
        min-height: 160px;
        height: 160px;
    }
}

/* Animación al cargar */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.brand-item {
    animation: fadeInUp 0.5s ease backwards;
}

/* Delay escalonado para cada item */
.brand-item:nth-child(1) { animation-delay: 0.05s; }
.brand-item:nth-child(2) { animation-delay: 0.1s; }
.brand-item:nth-child(3) { animation-delay: 0.15s; }
.brand-item:nth-child(4) { animation-delay: 0.2s; }
.brand-item:nth-child(5) { animation-delay: 0.25s; }
.brand-item:nth-child(6) { animation-delay: 0.3s; }
.brand-item:nth-child(7) { animation-delay: 0.35s; }
.brand-item:nth-child(8) { animation-delay: 0.4s; }
