.cpg-gallery-container {
    margin-bottom: 3rem;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif
}

.cpg-gallery-container .cpg-search-section {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: 0 2px 5px rgba(0,0,0,.05)
}

.cpg-gallery-container .cpg-filters-title {
    margin-bottom: 15px;
    font-weight: 600;
    color: #333;
    font-size: 1.2rem
}

.cpg-gallery-container .form-label {
    color: #495057;
    font-weight: 500;
    font-size: .9rem;
    margin-bottom: .5rem
}

.cpg-gallery-container .cpg-search-input {
    border-radius: 4px 0 0 4px;
    border: 1px solid #ced4da;
    padding: 10px 15px;
    height: auto;
    box-shadow: none!important;
    transition: all 0.2s ease-in-out
}

.cpg-gallery-container .cpg-search-input:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.15)!important
}

.cpg-gallery-container .input-group-text {
    background-color: #f1f3f5;
    border-color: #ced4da;
    color: #495057
}

.cpg-gallery-container .cpg-clear-search {
    border-radius: 0 4px 4px 0;
    background-color: #f1f3f5;
    border-color: #ced4da;
    border-left: 0;
    padding: .375rem .75rem;
    transition: all 0.2s ease-in-out
}

.cpg-gallery-container .cpg-clear-search:hover {
    background-color: #6c757d;
    color: #fff
}

.cpg-gallery-container .cpg-type-filter {
    padding: 10px 15px;
    height: auto;
    border-radius: 4px;
    border: 1px solid #ced4da;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23212529' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    appearance: none
}

.cpg-gallery-container .form-text {
    font-size: .75rem;
    color: #6c757d;
    margin-top: .25rem
}

.cpg-gallery-container .cpg-search-results {
    animation: cpg-fadeIn 0.3s ease-in-out
}

.cpg-gallery-container .cpg-search-results .alert {
    border-radius: 6px;
    background-color: #e7f5ff;
    border-color: #a8d7ff;
    color: #0062cc;
    padding: 12px 16px
}

.cpg-gallery-container .cpg-search-count {
    font-weight: 500
}

.cpg-gallery-container .cpg-reset-filters {
    transition: all 0.2s ease-in-out;
    padding: .25rem .75rem;
    font-size: .85rem;
    border-radius: 4px
}

.cpg-gallery-container .cpg-reset-filters:hover {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff
}

.cpg-gallery-container mark {
    padding: .1em .2em;
    background-color: #fff3cd;
    border-radius: .2rem;
    box-shadow: 0 0 0 1px rgba(0,0,0,.1)
}

.cpg-gallery-container .nav-tabs {
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 1.5rem
}

.cpg-gallery-container .nav-tabs .nav-link {
    color: #495057;
    border: 1px solid transparent;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
    padding: .75rem 1rem;
    font-weight: 500;
    transition: all 0.2s ease;
    margin-bottom: -1px
}

.cpg-gallery-container .nav-tabs .nav-link:hover {
    border-color: #e9ecef #e9ecef #dee2e6;
    color: #007bff
}

.cpg-gallery-container .nav-tabs .nav-link.active {
    color: #007bff;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff;
    font-weight: 600
}

.cpg-gallery-container .cpg-gallery-item .card {
    transition: transform 0.3s ease-in-out,box-shadow 0.3s ease-in-out;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.1)
}

.cpg-gallery-container .cpg-gallery-item .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,.1)
}

.cpg-gallery-container .cpg-gallery-item .card-img-top {
    height: 310px;
    object-fit: cover
}

.cpg-gallery-container .cpg-gallery-item .card-body {
    padding: 1rem
}

.cpg-gallery-container .cpg-gallery-item .card-title {
    font-size: 1rem;
    margin-bottom: .5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #212529
}

.cpg-gallery-container .cpg-gallery-item .badge {
    margin-right: .25rem;
    font-weight: 400;
    padding: .35em .65em;
    font-size: .75em
}

.cpg-gallery-container .cpg-loader {
    padding: 2rem 0
}

.cpg-gallery-container .cpg-pagination {
    margin-top: 2rem
}

.cpg-gallery-container .cpg-load-more {
    /* padding:.5rem 2rem; */
    /* background-color: #007bff;
    border-color: #007bff;
    color: #fff;
    border-radius: 4px;
    font-weight: 500;
    transition: all 0.2s ease */
}

.cpg-gallery-container .cpg-load-more:hover {
    /* background-color: #0069d9;
    border-color: #0062cc */
}

.cpg-gallery-container .cpg-no-results {
    padding: 2rem;
    background-color: #f8f9fa;
    border-radius: .25rem;
    color: #6c757d;
    text-align: center;
    font-style: italic
}

.cpg-gallery-container .dashicons {
    line-height: inherit;
    font-size: 18px;
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: text-bottom
}

@media (max-width: 992px) {
    .cpg-gallery-container .cpg-gallery-grid {
        margin-left:-.5rem;
        margin-right: -.5rem
    }

    .cpg-gallery-container .cpg-gallery-item {
        padding-left: .5rem;
        padding-right: .5rem;
        margin-bottom: 1rem
    }
}

@media (max-width: 576px) {
    .cpg-gallery-container .nav-tabs {
        flex-wrap:nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch
    }

    .cpg-gallery-container .nav-tabs .nav-link {
        white-space: nowrap
    }

    .cpg-gallery-container .cpg-gallery-item {
        width: 50%
    }

    .cpg-gallery-container .cpg-gallery-item .card-img-top {
        height: 240px;
    }

    .cpg-gallery-container .cpg-search-results {
        text-align: center
    }

    .cpg-gallery-container .cpg-reset-filters {
        float: none!important;
        margin-top: .5rem;
        display: block;
        width: 100%
    }
}

@keyframes cpg-fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.cpg-gallery-container .cpg-gallery-item {
    animation: cpg-fadeIn 0.5s ease-in-out
}

.fancybox__container {
    --fancybox-bg: rgba(24, 24, 27, 0.95)
}

.fancybox__caption {
    padding: 1rem;
    background-color: rgba(0,0,0,.75)
}

.cpg-gallery-container .cpg-message {
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: .25rem;
    border-left: 4px solid #007bff;
    background-color: #f8f9fa
}

.cpg-gallery-container .cpg-message.error {
    border-left-color: #dc3545;
    background-color: #f8d7da;
    color: #721c24
}

.cpg-gallery-container .cpg-message.warning {
    border-left-color: #ffc107;
    background-color: #fff3cd;
    color: #856404
}

.cpg-gallery-container .cpg-message.success {
    border-left-color: #28a745;
    background-color: #d4edda;
    color: #155724
}

.cpg-gallery-container .cpg-footer {
    padding: 1rem 0;
    border-top: 1px solid #e9ecef;
    margin-top: 2rem
}

.cpg-gallery-container .cpg-footer a {
    /* color: #007bff;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease */
}

.cpg-gallery-container .cpg-footer a:hover {
    /* color: #0056b3;
    text-decoration: underline */
}
