.content-box {
    width: 100%;
    max-width: 100vw;
    margin: 20px auto;
    padding: 20px;
    background-color: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}



/* Contenedor 2 - Publicaciones */
#contenedor2 {
    background-image: url('/uploads/logos/fondoPubs.png'); 
    background-size: cover; /* Hace que la imagen cubra todo el fondo */
    background-position: center; /* Centra la imagen */
    background-repeat: no-repeat; /* Evita que la imagen se repita */
    padding: 20px;
    border-radius: 8px;
    opacity: 1;
    transition: opacity 0.3s ease;
}

#contenedor3 { background-color: #faf7f1; }
#contenedor4 { background-color: #ffffdd; }

/* Estructura principal */
#contenedor1 {
    display: flex;min-height: 15vw;
    justify-content: space-between;
    padding: 20px;
}

/* División en dos columnas */
.contenedor1-left {
    display: flex;
    flex-direction: column;
    text-align: left;
    
    align-items: flex-start;
    justify-content: center;
    width: 50%;

    
}
.contenedor1-left h2 { /*Titulo */
    font-size: 60px;
    padding-left: 5%;
    font-weight: bold;
    color: #D7C8A3; /* Cambia el color del texto */
    margin-bottom: 5px; /* Espacio entre el título y la línea */
}
.contenedor1-left p { /*Parrafo */
    font-size: 20px;
    padding-left: 5%;
    color: #D7C8A3; /* Un color más suave para el texto */
    line-height: 1.5; /* Mejora la legibilidad */
}


.contenedor1-right {
   
    display: flex;
    align-items: center;
    justify-content: center;
    /*background-color: #000; color de prueba*/ 
    width: 50%;
}



/* Botón de búsqueda */
.buscar-btn {
    margin-top: 10px;
    padding: 8px 15px;
    margin-left: 5%; /* ajustar al mismo porcentaje que el titulo y el parrafo */
   
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
   
}

.buscar-btn:hover {
    background-color: #0056b3;
}

/* Botones de la derecha */
.contenedor1-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    
    width: 50%;
}

/* Botones alineados a la derecha y arriba */
.botones {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 10px;
    margin-right: 5%;
}

/* Estilos de los botones */
.btn-opcion {
    padding: 8px 12px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.btn-opcion:hover {
    background-color: #1e7e34;
}

.logout-btn {
    background-color: #dc3545; /* Rojo */
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s;
}

.logout-btn:hover {
    background-color: #c82333; /* Rojo más oscuro */
}


/* Subcontenedor debajo de los botones con un ancho ajustado */
#contenedorCarrusel {
    width: 70%;
    min-height: 80%;
    
    background-color: #ccc;
    border-radius: 5px;
    margin-right: 5%;
    
}
/* fin contenedor 1 padding: 0; /* Elimina cualquier padding adicional 
        box-sizing: border-box; /* Incluir padding y bordes en el ancho total 
        margin-right: 0;
*/

/* contenedor 2*/

.publicaciones-container {
    padding: 20px;
    background-color: #f8f9fa;
}

/* Contenedor de encabezado */
.publicaciones-header {
    display: flex;
    justify-content: space-between; /* Separa el título y los botones */
    align-items: center;
    flex-wrap: wrap; /* Permite que se acomode en pantallas pequeñas */
    padding: 10px;
}

/* Contenedor del título */
.titulo-contenedor {
    flex-grow: 1; /* Permite que el título ocupe el espacio necesario */
    display: flex;
    justify-content: center; /* Centra el texto */
    margin-bottom: 20px;
}

/* Título centrado */
.publicaciones-header h2 {
    margin: 0;
    font-size: 2rem;
    color: #9f2241;; /* Color rojo atractivo */
    font-weight: 800;
    
    
}


/* 📌 Estilo para las imágenes de las publicaciones */
.post-image {
    width: 100%;
    height: 200px; /* Ajusta el tamaño como desees */
    object-fit: cover;
    border-radius: 8px;
    
}
/* CSS existente - MODIFICAR ESTAS REGLAS */
.pagination-buttons {
    display: flex;
    justify-content: center; /* Centrado en lugar de espacio entre */
    gap: 5px; /* Espacio entre botones */
    margin-top: 20px;
    flex-wrap: wrap; /* Para envolver en móviles */
}

.pagination-btn {
    min-width: 40px; /* Ancho mínimo consistente */
    height: 35px;
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    background-color: #9f2241;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.pagination-btn:hover {
    background-color: #7a1a32;
    transform: translateY(-2px);
}

.pagination-btn.active { /* Si necesitas clase active */
    background-color: #D7C8A3;
    color: #9f2241;
    font-weight: bold;
}

/* Responsive */
@media (max-width: 768px) {
    .pagination-btn {
        min-width: 35px;
        height: 30px;
        padding: 3px 7px;
        font-size: 13px;
    }
}



/* Botones alineados a la derecha */
.botones-derecha {
    display: flex;
    gap: 10px; /* Espacio entre los botones */
}

/* Estilos para los botones */
.btn-artesanos, .btn-filtro {
    background-color: #9f2241;
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap; /* Evita que el texto se corte */
}

.btn-artesanos:hover, .btn-filtro:hover {
    background-color: #0056b3;
}



/* 📌 Estilo de cada publicación */


/* Efecto al pasar el ratón */
.publicacion:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}





/* 📌 Diseño responsivo */
@media (max-width: 768px) {
    .publicaciones-header {
        flex-direction: column; /* Pone los elementos en columna */
        align-items: center; /* Centra el contenido */
    }
    
    .botones-derecha {
        margin-top: 10px;
        flex-wrap: wrap; /* Permite que los botones se acomoden */
        justify-content: center;
    }

    .btn-artesanos, .btn-filtro {
        width: 100%; /* Los botones ocupan el ancho completo */
        
        text-align: center;
    }
}

.publicaciones-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas en pantallas grandes */
    grid-template-rows: auto;
    gap: 15px;
    justify-items: center;
}

/* Para tablets (máximo 1024px) */
@media (max-width: 1024px) {
    .publicaciones-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas */
    }
    #contenedor1 {
        flex-direction: column;
        align-items: center;
    }

    /* Alinear el contenedor izquierdo centrado */
    .contenedor1-left {
        width: 100%;
        text-align: center;
    }

    /* Ajustar contenedor derecho */
    .contenedor1-right {
        width: 100%;
        margin-right: 0; /* Eliminar margen que podría reducir el ancho */
    }

    /* Carrusel de fotos se posiciona debajo y ocupa todo el ancho */
    #contenedorCarrusel {
        width: 100% !important; /* Asegurarse que ocupe todo el ancho disponible */
        margin-top: 20px;
        padding: 0; /* Elimina cualquier padding adicional */
        box-sizing: border-box; /* Incluir padding y bordes en el ancho total */
        margin-right: 0;
    }

}

/* Para celulares (máximo 600px) */
@media (max-width: 600px) {
    .publicaciones-grid {
        grid-template-columns: repeat(1, 1fr); /* 1 columna */
    }

    #contenedor1 {
        flex-direction: column;
        align-items: center;
        padding: 10px; /* Reduce el padding general */
    }

    /* Ajustes para la sección izquierda */
    .contenedor1-left {
        width: 100%;
        text-align: center;
        padding: 0 10px; /* Un poco de padding lateral para que no quede pegado al borde */
    }

    /* Título y párrafo alineados al centro */
    .contenedor1-left h2 {
        font-size: 40px;
        padding-left: 0;
        margin-bottom: 10px;
    }
    
    .contenedor1-left p {
        padding-left: 0;
        font-size: 16px;
    }

    /* Botón centrado y con ancho completo */
    .buscar-btn {
        margin-top: 10px;
        padding: 10px 0;
        width: 90%;
        max-width: 300px;
    }

    /* Ajuste del contenedor derecho (carrusel de fotos) */
    .contenedor1-right {
        width: 100%;
        margin-right: 0;
        margin-top: 15px; /* Separación entre el título y el carrusel */
    }

    /* Carrusel a pantalla completa */
    #contenedorCarrusel {
        width: 100% !important;
      background-color: transparent;
        height: 250px;
        margin-top: 0;
    
        padding: 0;
        box-sizing: border-box;
    }
    .botones {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        margin-bottom: -20px;
        margin-right: 2%;
    }
    
    /* Estilos de los botones */
    .btn-opcion {
        padding: 8px 5px;
        background-color: #28a745;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
    }
    .logout-btn {
        background-color: #dc3545; /* Rojo */
        color: white;
        border: none;
        padding: 8px 12px;
        border-radius: 5px;
        cursor: pointer;
        transition: background 0.3s;
    }
    
    .logout-btn:hover {
        background-color: #c82333; /* Rojo más oscuro */
    }
    



}

.publicacion {
    background-color: rgba(255, 255, 255, 0.8); /* Fondo blanco con opacidad */
    /*padding: 15px;*/
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: 100%; /* Para que cada publicación ocupe su espacio en la cuadrícula */
    min-height: 320px;
    max-width: 350px; /* Limita el tamaño de cada publicación */
}
.post-image{
    padding: 15px;
    height: 250px;
}

.tarjeta-clickable {
    cursor: pointer;
    transition: box-shadow 0.3s, transform 0.2s;
}

.tarjeta-clickable:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}


/* fin contenedor 2*/

.post-titulo {
    background-color: #9f2241;
    color: white;
    height: 55px;
    width: 100%;
    font-weight: 600;
    display: flex;               /* 🔹 Activa flexbox */
    align-items: center;         /* 🔹 Centrado vertical */
    justify-content: center;     /* 🔹 Centrado horizontal */
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.post-titulo h3 {
    padding: 10px 10px;
    font-size: 24px; /* puedes ajustar este tamaño si lo quieres más grande */
    margin: 0;        /* 🔹 Elimina margen extra que puede descentrar */
    font-weight: 700;
}

/* 🔸 Descripción */
.post-descripcion {
    padding: 10px 0;
    color: #333;
    font-size: 14px;
}

/* 🔸 Pie de publicación con fondo */
.post-pie {
     height: 50px;
    background-image: url('/uploads/logos/GOBIERNO_DEL_PUEBLO.png'); 
    padding: 0 10px;
    border-radius: 0 0 6px 6px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.artesano-nombre{
    font-size: 20px;
    color: #D7C8A3;
    font-weight: 700;
}
.post-fecha{
    font-size: 15px;
    align-self:flex-end;
    color: #D7C8A3;
    font-weight: 700;
}

.post-info {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #555;
}

/* 🔸 Botón */
.view-post-btn {
    background-color: #D7C8A3;
    color: #9f2241;
    border: none;
    padding: 6px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    align-self: center;
    margin-bottom: 5px;
}

.view-post-btn:hover {
    background-color: #0056b3;
    color:white;
}


/* --------------------------- */
/*  PUBLICACIONES              */
/* --------------------------- */
.profile-posts-container{
    background:url('/uploads/logos/fondoPubs.png') center/cover no-repeat;
    padding:20px;
    border-radius:10px;
    position:relative;
    display:flex;              /*  ⬅️  define flex-box */
    flex-direction:column;
    align-items:center;
}

.profile-posts-container h3{
    width:100%;
    margin:0 0 20px;
    font-size:2rem;
    font-weight:700;
    color:#9f2241;
    text-align:center;
}

#profile-posts-container,
#archived-posts-container,
#archived-publications-container,
#profile-publications-container{   /*  ⬅️  ESTE es tu grid */
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    width:100%;
    max-width:1500px;
}

#profile-publications{             /*  ⬅️  margen superior del bloque completo */
    margin-top:40px;
}

/*------------------------------------------------------------------
  Tarjetas en la sección “Publicaciones”
------------------------------------------------------------------*/
#profile-publications .post-card{
    flex:1 1 calc(40% - 20px);   /* ancho base */
    max-width:470px;
    overflow:visible;
}

.post-card{
    flex:1 1 calc(25% - 20px);max-width:300px;min-height:320px;
    background:#fff;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.1);
    overflow:visible;position:relative;text-align:center;transition:.3s;cursor:pointer;
}
.post-card:hover{transform:scale(1.05); z-index: 500;;}
.post-image-container{position:relative;width:100%;height:200px;overflow:hidden;border-radius:8px}

.post-overlay{
    position:absolute;bottom:0;width:100%;background:rgba(0,0,0,.6);color:#fff;
    text-align:center;padding:5px;font-size:14px;display:flex;justify-content:space-around;
    opacity:0;transition:.3s
}
.post-image-container:hover .post-overlay{opacity:1; z-index: 499;}

/* Tablet horizontal (≤ 1024 px) ―‒ 2 columnas */
@media (max-width:1024px){
    #profile-publications .post-card{
        flex-basis: calc(50% - 20px);
    }
}

/* Móvil (≤ 768 px) ―‒ 1 columna (ya estaba así) */
@media (max-width:768px){
    #profile-publications .post-card{
        flex-basis: calc(100% - 20px);
    }
}


.view-pub-btn{
    margin-top:10px;padding:5px 12px;background:#D7C8A3;;color:#9f2241;;border-radius:5px;font-weight: bold;
    font-size:14px;transition:.3s;border:none
}



/* Estilos para la paginación */
.pagination {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.page-btn {
    min-width: 40px; /* Ancho mínimo para mantener consistencia */
    height: 35px;
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    background-color: #9f2241;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.page-btn:hover {
    background-color: #7a1a32;
    transform: translateY(-2px);
}

.page-btn.active {
    background-color: #D7C8A3;
    color: #9f2241;
    font-weight: bold;
}

/* Responsive para pantallas pequeñas */
@media (max-width: 768px) {
    .page-btn {
        min-width: 35px;
        height: 30px;
        padding: 3px 7px;
        font-size: 13px;
    }
}

/* Estilos para los filtros */

/* ————————————————————————————————
   CINTA DE FILTROS
———————————————————————————————— */
.filtros-wrapper{
    
   /*background-color: #28a745;  color para pruebas de tamaño   */
    width: max-content;            /* mantiene ancho justo al contenido   */
    border-radius:8px;
    margin-left: auto;  
    padding:12px 16px;
    margin-bottom:20px;
    position:relative;
}

.filtros-form{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.filtro-select{
    min-width:160px;
    padding:8px 12px;
    border:1px solid #ccc;
    border-radius:6px;
    font-size:14px;
    transition:border .2s;
}
.filtro-select:focus{border-color:#9f2241;outline:none}

.btn-aplicar-filtros,
.btn-eliminar-filtros{
    padding:8px 16px;
    border:none;
    border-radius:6px;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
}
.btn-aplicar-filtros{
    background:#9f2241;color:#fff;
}
.btn-eliminar-filtros{
    background:#D7C8A3;color:#9f2241;
}
.btn-aplicar-filtros:hover{background:#7a1a32}
.btn-eliminar-filtros:hover{filter:brightness(.95)}

/* ═══════════════════════════════════════════════
   DROP-DOWN de ordenamiento (Más recientes/antiguas)
   ─ oculto por defecto, visible con la clase .mostrar
════════════════════════════════════════════════*/
.filtro-dropdown{
    position:relative;                 /* referencia para posicionar la lista */
}

.filtro-dropdown .dropdown-contenido{
    display:none;                      /* ⬅️ OCULTO por defecto */
    position:absolute;
    right:0;                           /* se alinea bajo el botón */
    top:110%;
    background:#fff;
    border:1px solid #ddd;
    border-radius:6px;
    min-width:180px;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    z-index:1000;
}

.filtro-dropdown .dropdown-contenido a{
    display:block;
    padding:10px 16px;
    color:#333;
    text-decoration:none;
    font-size:14px;
    transition:background .2s;
}
.filtro-dropdown .dropdown-contenido a:hover{
    background:#f8f9fa;
}

.dropdown-contenido.mostrar{          /* ⬅️ la agrega tu JS */
    display:block;
}


/* —— Toggle en móvil —— */
.filtros-toggle{
    position:absolute;
    top:6px;right:6px;
    background:#9f2241;
    color:#fff;
    border:none;
    border-radius:4px;
    padding:4px 10px;
    font-size:14px;
    display:none;               /* oculto en desktop */
}
@media(max-width:768px){
    .filtros-toggle{display:block}
    .filtros-form{
        flex-direction:column;
        gap:12px;
        margin-top:34px;        /* deja hueco al toggle */
        display:none;           /* inicia oculto */
    }
    .filtros-form.abierto{display:flex}
}

/* —— Impressión sutil al activar —— */
.filtros-wrapper.mostrar{
    animation:despliegue .35s ease;
}
@keyframes despliegue{
    from{transform:scaleY(0);opacity:0}
    to  {transform:scaleY(1);opacity:1}
}

