/**
 * DC Photography Portfolio Frontend Styles - VERSIÓN LIMPIA Y ORGANIZADA
 * Optimizado para layout Masonry de pantalla completa
 */

/* ================================================
   1. CONTENEDOR PRINCIPAL
   ================================================ */

.dc-portfolio-container {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

/* ================================================
   2. GRID PRINCIPAL
   ================================================ */

.dc-portfolio-grid {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: visible !important;
    display: block !important;
    min-height: 200px !important;
}

/* ================================================
   3. ELEMENTOS DEL GRID
   ================================================ */

.dc-portfolio-grid .dc-portfolio-item {
    width: 33.33333% !important;
    max-width: 33.33333% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    float: left !important;
    position: relative !important;
    transition: transform 0.3s ease !important;
    flex: none !important;
}

/* ================================================
   4. GRID SIZER (PARA MASONRY)
   ================================================ */

.dc-portfolio-grid-sizer {
    width: 33.33333% !important;
    max-width: 33.33333% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    height: 0 !important;
    visibility: hidden !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

/* ================================================
   5. ENLACES E IMÁGENES
   ================================================ */

.dc-portfolio-grid .dc-portfolio-link {
    display: block !important;
    width: 100% !important;
    padding: 1px !important; /* Separación mínima entre imágenes */
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: transparent !important;
}

.dc-portfolio-grid .dc-portfolio-thumbnail {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

/* ================================================
   6. CONFIGURACIÓN POR NÚMERO DE COLUMNAS
   ================================================ */

/* 2 COLUMNAS */
.dc-portfolio-grid[data-columns="2"] .dc-portfolio-grid-sizer,
.dc-portfolio-grid[data-columns="2"] .dc-portfolio-item {
    width: 50% !important;
    max-width: 50% !important;
}

/* 3 COLUMNAS (DEFAULT) */
.dc-portfolio-grid[data-columns="3"] .dc-portfolio-grid-sizer,
.dc-portfolio-grid[data-columns="3"] .dc-portfolio-item,
.dc-portfolio-grid:not([data-columns]) .dc-portfolio-grid-sizer,
.dc-portfolio-grid:not([data-columns]) .dc-portfolio-item {
    width: 33.33333% !important;
    max-width: 33.33333% !important;
}

/* 4 COLUMNAS */
.dc-portfolio-grid[data-columns="4"] .dc-portfolio-grid-sizer,
.dc-portfolio-grid[data-columns="4"] .dc-portfolio-item {
    width: 25% !important;
    max-width: 25% !important;
}

/* 5 COLUMNAS */
.dc-portfolio-grid[data-columns="5"] .dc-portfolio-grid-sizer,
.dc-portfolio-grid[data-columns="5"] .dc-portfolio-item {
    width: 20% !important;
    max-width: 20% !important;
}

/* 6 COLUMNAS */
.dc-portfolio-grid[data-columns="6"] .dc-portfolio-grid-sizer,
.dc-portfolio-grid[data-columns="6"] .dc-portfolio-item {
    width: 16.66667% !important;
    max-width: 16.66667% !important;
}

/* ================================================
   7. EFECTOS HOVER Y OVERLAY
   ================================================ */

.dc-portfolio-item:hover {
    transform: translateY(-2px) !important;
    z-index: 2 !important;
}

.dc-portfolio-item:hover .dc-portfolio-thumbnail {
    transform: scale(1.02) !important;
}

.dc-portfolio-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 1px !important;
    right: 1px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%) !important;
    color: #fff !important;
    padding: 8px !important;
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    box-sizing: border-box !important;
}

.dc-portfolio-item:hover .dc-portfolio-overlay {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.dc-portfolio-title {
    margin: 0 0 3px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    font-weight: 500 !important;
}

.dc-portfolio-categories {
    font-size: 9px !important;
    opacity: 0.8 !important;
}

.dc-portfolio-category {
    display: inline-block;
    margin-right: 5px;
}

/* ================================================
   8. ESTADOS DE MASONRY
   ================================================ */

.dc-portfolio-grid.masonry-initialized .dc-portfolio-item {
    position: absolute !important;
}

.dc-portfolio-grid:not(.masonry-initialized) .dc-portfolio-item {
    position: relative !important;
    float: left !important;
}

/* ================================================
   9. FILTROS
   ================================================ */

.dc-portfolio-filter {
    max-width: 1200px;
    margin: 0 auto 20px auto;
    text-align: center;
    padding: 0 20px;
}

.dc-portfolio-filter-button {
    display: inline-block;
    padding: 8px 16px;
    margin: 0 5px 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #f8f8f8;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dc-portfolio-filter-button:hover,
.dc-portfolio-filter-button.active {
    background-color: #333;
    color: #fff;
    border-color: #333;
}

/* Elementos filtrados */
.dc-portfolio-item.filtered-hide {
    display: none !important;
}

.dc-portfolio-item.filtered-show {
    display: block !important;
}

/* ================================================
   10. BÚSQUEDA
   ================================================ */

.dc-portfolio-search-form {
    max-width: 1200px;
    margin: 0 auto 30px auto;
    padding: 20px;
    background-color: #f8f8f8;
    border-radius: 5px;
}

.dc-portfolio-search {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 15px;
}

.dc-portfolio-search-fields {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}

.dc-portfolio-search-input {
    flex: 1 1 250px;
}

.dc-portfolio-search-input input {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 16px;
}

.dc-portfolio-search-categories,
.dc-portfolio-search-tags {
    flex: 1 1 200px;
}

.dc-portfolio-search-categories select,
.dc-portfolio-search-tags select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;
}

.dc-portfolio-search-button {
    flex: 0 0 auto;
}

.dc-portfolio-search-button button {
    padding: 10px 20px;
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dc-portfolio-search-button button:hover {
    background-color: #555;
}

/* ================================================
   11. PAGINACIÓN
   ================================================ */

.dc-portfolio-pagination {
    max-width: 1200px;
    margin: 30px auto 0 auto;
    text-align: center;
    padding: 0 20px;
}

.dc-portfolio-pagination .page-numbers {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 3px;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
}

.dc-portfolio-pagination .page-numbers.current,
.dc-portfolio-pagination .page-numbers:hover {
    background-color: #333;
    color: #fff;
    border-color: #333;
}

/* ================================================
   12. FOTOGRAFÍAS RELACIONADAS
   ================================================ */

.dc-portfolio-related {
    max-width: 1200px;
    margin: 40px auto 0 auto;
    padding: 0 20px;
    border-top: 1px solid #eee;
    padding-top: 30px;
}

.dc-portfolio-related h3 {
    margin-bottom: 20px;
    font-size: 1.5em;
    color: #333;
}

.dc-portfolio-related-grid {
    width: 100%;
    padding: 0;
    position: relative;
}

.dc-portfolio-related-grid .dc-portfolio-item {
    position: relative !important;
    width: 48% !important;
    max-width: 48% !important;
    margin: 0 1% 15px 1% !important;
    padding: 0 !important;
    float: left !important;
}

.dc-portfolio-related-grid .dc-portfolio-link {
    height: 200px;
    padding: 0 !important;
}

.dc-portfolio-related-grid .dc-portfolio-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ================================================
   13. ESTADOS DE CARGA Y ERROR
   ================================================ */

.dc-portfolio-loading {
    text-align: center;
    padding: 40px 20px;
    font-size: 16px;
    color: #666;
}

.no-photos-found {
    text-align: center;
    padding: 40px 20px;
    font-size: 16px;
    color: #666;
    background-color: #f8f8f8;
    border-radius: 5px;
    max-width: 1200px;
    margin: 40px auto;
}

.dc-portfolio-grid:empty {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #eee;
}

.dc-portfolio-grid:empty:after {
    content: "No se encontraron fotografías";
    color: #888;
    font-size: 16px;
}

/* ================================================
   14. CLEARFIX
   ================================================ */

.dc-portfolio-grid::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
    width: 100% !important;
}

.dc-portfolio-grid::before {
    content: "" !important;
    display: table !important;
}

.dc-portfolio-related-grid::after {
    content: "";
    display: table;
    clear: both;
}

/* ================================================
   15. OVERRIDES PARA TEMAS POPULARES
   ================================================ */

/* Genesis Framework */
.archive-dc_photo .content,
.tax-dc_photo_category .content,
.tax-dc_photo_tag .content,
.archive-dc_photo .site-inner,
.tax-dc_photo_category .site-inner,
.tax-dc_photo_tag .site-inner {
    max-width: none !important;
    padding: 0 !important;
}

/* Gutenberg Blocks */
.wp-block-dc-portfolio-gallery {
    max-width: none !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/* Otros temas */
.dc-portfolio-grid .entry-content,
.dc-portfolio-grid .post {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Overflow fixes */
body {
    overflow-x: hidden;
}

.entry-content,
.post-content,
.content {
    overflow-x: visible;
}

/* ================================================
   16. RESPONSIVE DESIGN - ACTUALIZADO PARA 1 COLUMNA EN MÓVIL
   ================================================ */

/* Desktop (más de 1024px) - Mantener configuración original */
@media screen and (min-width: 1025px) {
    /* Configuración por defecto ya definida arriba */
}

/* Tablets (769px a 1024px) - Máximo 3 columnas */
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .dc-portfolio-grid[data-columns="4"] .dc-portfolio-grid-sizer,
    .dc-portfolio-grid[data-columns="4"] .dc-portfolio-item,
    .dc-portfolio-grid[data-columns="5"] .dc-portfolio-grid-sizer,
    .dc-portfolio-grid[data-columns="5"] .dc-portfolio-item,
    .dc-portfolio-grid[data-columns="6"] .dc-portfolio-grid-sizer,
    .dc-portfolio-grid[data-columns="6"] .dc-portfolio-item {
        width: 33.33333% !important;
        max-width: 33.33333% !important;
    }
    
    .dc-portfolio-filter,
    .dc-portfolio-search-form,
    .dc-portfolio-pagination {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Tablets pequeños y móviles grandes (481px a 768px) - 2 columnas */
@media screen and (max-width: 768px) and (min-width: 481px) {
    .dc-portfolio-grid[data-columns] .dc-portfolio-grid-sizer,
    .dc-portfolio-grid[data-columns] .dc-portfolio-item {
        width: 50% !important;
        max-width: 50% !important;
    }
    
    /* Overlay siempre visible en tablets */
    .dc-portfolio-overlay {
        opacity: 1 !important;
        transform: translateY(0) !important;
        background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 70%) !important;
    }
    
    /* Formulario de búsqueda en columna */
    .dc-portfolio-search {
        flex-direction: column;
    }
    
    .dc-portfolio-search-fields {
        width: 100%;
    }
    
    .dc-portfolio-search-button {
        width: 100%;
        margin-top: 10px;
    }
    
    /* Fotografías relacionadas a 1 columna */
    .dc-portfolio-related-grid .dc-portfolio-item {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 15px 0 !important;
        float: none !important;
    }
    
    .dc-portfolio-filter,
    .dc-portfolio-search-form,
    .dc-portfolio-pagination,
    .dc-portfolio-related {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* MÓVILES (hasta 480px) - 1 COLUMNA ÚNICA */
@media screen and (max-width: 480px) {
    /* FORZAR 1 COLUMNA EN TODOS LOS LAYOUTS */
    .dc-portfolio-grid[data-columns] .dc-portfolio-grid-sizer,
    .dc-portfolio-grid[data-columns] .dc-portfolio-item {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
    }
    
    /* Grid sin Masonry en móvil (será manejado por JavaScript) */
    .dc-portfolio-grid {
        display: block !important;
    }
    
    /* Elementos en móvil con separación vertical */
    .dc-portfolio-grid .dc-portfolio-item {
        position: relative !important; /* Anular position absolute de Masonry */
        margin-bottom: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Enlaces con altura fija para consistencia visual */
    .dc-portfolio-grid .dc-portfolio-link {
        height: 250px !important;
        padding: 2px !important; /* Separación ligeramente mayor */
    }
    
    /* Imágenes cubrir toda la altura */
    .dc-portfolio-grid .dc-portfolio-thumbnail {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    /* Overlay siempre visible en móvil */
    .dc-portfolio-overlay {
        opacity: 1 !important;
        transform: translateY(0) !important;
        background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%) !important;
        padding: 12px !important;
    }
    
    /* Títulos más grandes en móvil */
    .dc-portfolio-title {
        font-size: 14px !important;
        margin-bottom: 5px !important;
    }
    
    .dc-portfolio-categories {
        font-size: 11px !important;
    }
    
    /* Formularios y filtros optimizados para móvil */
    .dc-portfolio-filter {
        padding: 0 10px;
        margin-bottom: 20px;
    }
    
    .dc-portfolio-filter-button {
        display: block;
        width: 100%;
        margin: 0 0 8px 0;
        text-align: center;
    }
    
    .dc-portfolio-search-form {
        padding: 15px 10px;
        margin-bottom: 20px;
    }
    
    .dc-portfolio-search-input input {
        font-size: 16px; /* Evitar zoom en iOS */
        padding: 12px 15px;
    }
    
    .dc-portfolio-search-categories select,
    .dc-portfolio-search-tags select {
        font-size: 16px; /* Evitar zoom en iOS */
        padding: 10px 12px;
    }
    
    .dc-portfolio-search-button button {
        width: 100%;
        padding: 12px 20px;
        font-size: 16px;
    }
    
    /* Paginación optimizada para móvil */
    .dc-portfolio-pagination {
        padding: 0 10px;
    }
    
    .dc-portfolio-pagination .page-numbers {
        padding: 10px 12px;
        margin: 0 2px 5px 2px;
        display: inline-block;
        min-width: 44px; /* Área de toque mínima */
        text-align: center;
    }
    
    /* Fotografías relacionadas */
    .dc-portfolio-related {
        padding: 0 10px;
        margin-top: 30px;
    }
    
    .dc-portfolio-related h3 {
        font-size: 1.3em;
        margin-bottom: 15px;
    }
    
    .dc-portfolio-related-grid .dc-portfolio-item {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 15px 0 !important;
        float: none !important;
    }
    
    .dc-portfolio-related-grid .dc-portfolio-link {
        height: 200px !important;
    }
    
    /* Estados de carga y error */
    .dc-portfolio-loading,
    .no-photos-found {
        padding: 30px 15px;
        font-size: 14px;
        margin: 20px 10px;
    }
}

/* MÓVILES MUY PEQUEÑOS (hasta 360px) - Optimizaciones adicionales */
@media screen and (max-width: 360px) {
    .dc-portfolio-grid .dc-portfolio-link {
        height: 220px !important; /* Altura ligeramente menor */
        padding: 1px !important;
    }
    
    .dc-portfolio-overlay {
        padding: 10px !important;
    }
    
    .dc-portfolio-title {
        font-size: 13px !important;
    }
    
    .dc-portfolio-categories {
        font-size: 10px !important;
    }
    
    .dc-portfolio-filter-button {
        padding: 10px 12px;
        font-size: 13px;
    }
    
    .dc-portfolio-search-form {
        padding: 12px 8px;
    }
    
    .dc-portfolio-pagination {
        padding: 0 8px;
    }
    
    .dc-portfolio-related {
        padding: 0 8px;
    }
}

/* ================================================
   OPTIMIZACIONES ADICIONALES PARA MÓVIL
   ================================================ */

/* Mejorar rendimiento en móviles */
@media screen and (max-width: 480px) {
    .dc-portfolio-item {
        will-change: auto !important; /* Desactivar aceleración 3D innecesaria */
    }
    
    .dc-portfolio-item:hover {
        transform: none !important; /* Desactivar hover en móvil */
    }
    
    .dc-portfolio-item:hover .dc-portfolio-thumbnail {
        transform: none !important; /* Desactivar escalado en móvil */
    }
    
    /* Suavizar transiciones para mejor rendimiento */
    .dc-portfolio-overlay {
        transition: opacity 0.2s ease !important;
    }
}

/* Touch-friendly - Áreas de toque más grandes */
@media screen and (max-width: 480px) {
    .dc-portfolio-link {
        min-height: 44px; /* Área de toque mínima recomendada */
    }
    
    .dc-portfolio-filter-button,
    .dc-portfolio-search-button button,
    .dc-portfolio-pagination .page-numbers {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Orientación horizontal en móviles */
@media screen and (max-width: 768px) and (orientation: landscape) {
    .dc-portfolio-grid[data-columns] .dc-portfolio-grid-sizer,
    .dc-portfolio-grid[data-columns] .dc-portfolio-item {
        width: 50% !important; /* 2 columnas en horizontal */
        max-width: 50% !important;
    }
    
    .dc-portfolio-grid .dc-portfolio-link {
        height: 180px !important; /* Altura menor en horizontal */
    }
}

/* ========================================
==========================================*/

.pswp__caption__center {
    color:#fff!important;
}

.pswp__description {
    margin-bottom:16px;
}

.pswp__external-link {
    background-color: transparent;
    display: inline-block;
    padding: 8px 12px;
    border: solid 1px #fff;
    border-radius: 4px;
    margin-top: 16px;
}

.pswp a {
    color:#fff;
}

.pswp__external-link a {
    text-decoration:none;
}

/* Estilos para enlaces externos con iconos manuales */
.dc-portfolio-external-link a i {
    margin-right: 8px;
    font-size: 1.1em;
    vertical-align: middle;
}

/* Iconos específicos por plataforma */
.dc-portfolio-external-link a .fa-youtube {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-instagram {
    color: #ffffff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.dc-portfolio-external-link a .fa-facebook {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-vimeo {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-twitter {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-linkedin {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-tiktok {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-globe {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-envelope {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-phone {
    color: #ffffff;
}

.dc-portfolio-external-link a .fa-external-link-alt {
    color: #ffffff;
}

/* Hover effects */
.dc-portfolio-external-link a:hover i {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

/* Estilos para el lightbox */
.pswp__external-link a i {
    margin-right: 8px;
    font-size: 1.1em;
    vertical-align: middle;
}

.pswp__external-link a .fa-youtube {
    color: #ffffff;
}

.pswp__external-link a .fa-instagram {
    color: #ffffff;
}

.pswp__external-link a .fa-facebook {
    color: #ffffff;
}

.pswp__external-link a .fa-vimeo {
    color: #ffffff;
}

.pswp__external-link a .fa-twitter {
    color: #ffffff;
}

.pswp__external-link a .fa-linkedin {
    color: #ffffff;
}

.pswp__external-link a .fa-tiktok {
    color: #ffffff;
}

.pswp__external-link a .fa-globe {
    color: #ffffff;
}

.pswp__external-link a .fa-envelope {
    color: #ffffff;
}

.pswp__external-link a .fa-phone {
    color: #ffffff;
}

.pswp__external-link a .fa-external-link-alt {
    color: #ffffff;
}

/* SOLUCIÓN CSS PARA TAXONOMÍAS - Añadir iconos automáticamente */

/* Solo en páginas de taxonomías del portfolio */
.tax-dc_photo_category .pswp__external-link a[href*="youtube.com"]:before,
.tax-dc_photo_category .pswp__external-link a[href*="youtu.be"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="youtube.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="youtu.be"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f167";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

.tax-dc_photo_category .pswp__external-link a[href*="instagram.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="instagram.com"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f16d";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

.tax-dc_photo_category .pswp__external-link a[href*="facebook.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="facebook.com"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f09a";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

.tax-dc_photo_category .pswp__external-link a[href*="vimeo.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="vimeo.com"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f27d";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

.tax-dc_photo_category .pswp__external-link a[href*="twitter.com"]:before,
.tax-dc_photo_category .pswp__external-link a[href*="x.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="twitter.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="x.com"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f099";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

.tax-dc_photo_category .pswp__external-link a[href*="linkedin.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="linkedin.com"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f08c";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

.tax-dc_photo_category .pswp__external-link a[href*="tiktok.com"]:before,
.tax-dc_photo_tag .pswp__external-link a[href*="tiktok.com"]:before {
    font-family: "Font Awesome 6 Brands";
    content: "\e07b";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 400;
}

/* Icono genérico para otros enlaces */
.tax-dc_photo_category .pswp__external-link a:not([href*="youtube.com"]):not([href*="youtu.be"]):not([href*="instagram.com"]):not([href*="facebook.com"]):not([href*="vimeo.com"]):not([href*="twitter.com"]):not([href*="x.com"]):not([href*="linkedin.com"]):not([href*="tiktok.com"]):before,
.tax-dc_photo_tag .pswp__external-link a:not([href*="youtube.com"]):not([href*="youtu.be"]):not([href*="instagram.com"]):not([href*="facebook.com"]):not([href*="vimeo.com"]):not([href*="twitter.com"]):not([href*="x.com"]):not([href*="linkedin.com"]):not([href*="tiktok.com"]):before {
    font-family: "Font Awesome 6 Free";
    content: "\f35d";
    margin-right: 8px;
    color: #ffffff;
    font-weight: 900;
}

/* Cambiar el icono del botón de información con Font Awesome */
.pswp__button--info {
    background-image: none !important;
    background: transparent !important;
}

.pswp__button--info:before {
    font-family: "Font Awesome 6 Free" !important;
    content: "\f05a" !important;
    font-weight: 900 !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* ======================================30-06-2025
   17. DROPDOWNS DE NAVEGACIÓN DE TAXONOMÍAS
   ================================================ */

.dc-portfolio-taxonomy-navigation {
    max-width: 1200px;
    margin: 60px auto 60px auto;
    padding: 0 20px;
}

.dc-taxonomy-dropdowns {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: 0;
    border: none;
    border-radius: 0;
}

.dc-taxonomy-dropdown-group {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 200px;
    flex: 0 0 auto;
    max-width: 300px;
}

.dc-taxonomy-dropdown-group select {
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 6px;
    font-size: 16px;
    background-color: #fff;
    color: #333;
    font-family: inherit;
    line-height: 1.4;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
}

.dc-taxonomy-dropdown-group select:hover {
    border-color: #0073aa;
    box-shadow: 0 0 0 1px rgba(0, 115, 170, 0.1);
}

.dc-taxonomy-dropdown-group select:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.dc-taxonomy-dropdown-group select option {
    padding: 8px 12px;
    color: #333;
    background: #fff;
}

/* Responsive para dropdowns de taxonomía */
@media screen and (max-width: 768px) {
    .dc-taxonomy-dropdowns {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
        justify-content: flex-start;
    }
    
    .dc-taxonomy-dropdown-group {
        min-width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
    }
    
    .dc-taxonomy-dropdown-group select {
        font-size: 16px; /* Prevenir zoom en iOS */
        width: 100%;
    }
    
    .dc-portfolio-taxonomy-navigation {
        padding: 0 15px;
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 480px) {
    .dc-taxonomy-dropdown-group select {
        padding: 14px 16px;
        padding-right: 42px;
    }
    
    .dc-portfolio-taxonomy-navigation {
        margin-bottom: 20px;
    }
    
    .dc-taxonomy-dropdowns {
        gap: 12px;
    }
}

/* ================================================