/* GENERAL */
h1 span {
    background: linear-gradient(89deg, #0083AF 40.2%, #3EBDDB 56.79%, #0083AF 73.38%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
}
form, .recurso-item, .recursos-paginacion {
    font-family: Manrope, sans-serif !important;
}
/* FIN: GENERAL */




/* INICIO FORMULARIO */
.buscador-form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.abrir-filtros {
    font-size: 14px;
    padding: 6px 12px;
}

#buscador-form:before {
    content: url("/wp-content/plugins/sumun-recursos/assets/images/lupa.svg");
    position: absolute;
    top: 55%;
    left: 28px;
    transform: translate(0, -55%);
}

.input-buscador {
    border-radius: 50px!important;
    border-width: 0!important;
    color: #9D9D9D!important;
    flex: 1;
    font-family: "Manrope", sans-serif!important;
    font-size: 16px;
    padding: 20px 38px 20px 70px!important;
}

:focus-visible {
    outline: -webkit-focus-ring-color auto 0;
}

input:focus {
    color: #003D4C!important;
}

a.abrir-filtros {
    align-items: center;
    background: #003D4C;
    border-radius: 50px;
    color: #fff;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    min-height: 63px;
    transition: .4s;
    width: 130px;
}

.abrir-filtros:before {
    content: url("/wp-content/plugins/sumun-recursos/assets/images/filtro.svg");
    height: 25px;
}

a.abrir-filtros:hover {
    background: #0095CD;
    color: #fff;
    transition: .4s;
}
/* FIN FORMULARIO */







/* FILTRO LATERAL */
.filtros-side.abierto form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
}

form .side-filtro-content {
    border-bottom: 1px solid #EEE;
    color: #434343;
    margin: 20px 40px;
    padding-bottom: 20px;
}

.side-filtro-tit {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 18px;
    font-weight: 600;
    justify-content: space-between;
    user-select: none;
}

.filtros-side-header {
    align-items: center;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.10);
    display: flex;
    height: 100px;
    justify-content: center;
    margin-bottom: 30px;
}

.filtros-side-header h2 {
    font-family: "Figtree", sans-serif;
    font-size: 30px;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

a.cerrar-filtros {
    font-size: 0;
    position: absolute;
    right: 40px;
    transition: opacity 0.3s ease-in;
    top: 20px;
    opacity: 1;
}

a.cerrar-filtros:hover {
    opacity: 0.7;
}

a.cerrar-filtros:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/cerrar.svg);
}

.arrow {
    transition: transform 0.3s ease;
    font-size: 0;
}

.arrow:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/flecha.svg);
}

.arrow.down {
    transform: rotate(0deg);
}

.arrow.up {
    transform: rotate(180deg);
}

.side-filtro-tit-items {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
}

.side-hidden {
    display: none;
}

.filtros-side {
    background-color: #fff;
    box-shadow: -2px 0 600px rgb(0 0 0 / 12%);
    height: 100%;
    max-width: 600px;
    transition: right 0.3s ease;
    overflow-y: auto;
    position: fixed;
    right: -100%;
    top: 0;
    width: 100%;
    z-index: 99999;
}

ul.side-filtro-tit-items input {
    accent-color: #0095CD;
    margin-right: 8px;
}

.filtros-side.abierto {
    right: 0;
}

.filtros-side-footer {
    background: #fff;
    align-items: center;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.10);
    display: flex;
    justify-content: space-between;
    padding: 20px 40px;
    margin-top: -22px;
}

.limpiar-filtros {
    color: #696969;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 2px;
    text-decoration: underline!important;
}

.limpiar-filtros:hover {
    color: #0095CD;
}

.limpiar-filtros:before {
    content: url("/wp-content/plugins/sumun-recursos/assets/images/limpiar-filtro.svg");
    padding-top: 2px;
    transform: scale(0.8);
}

.limpiar-filtros:hover:before {
    filter: sepia(100%) hue-rotate(160deg) saturate(300%);
}

.filtros-side-footer button {
    background-color: #007BFF;
    border: none;
    border-radius: 4px;
    color: white;
    cursor: pointer;
    font-size: 16px;
    padding: 6px 16px;
}

.filtros-side-footer button:hover {
    background-color: #0056b3;
}

.filtros-side-footer button {
    background-color: #003D4C;
    color: #fff;
}
/* FIN LATERAL */





/* INICIO RESULTADOS */
#sumun-resultados {
    display: grid;
    gap: 70px 30px;
    padding: 20px 0;
}
.recurso-item {
    background: #fff;
}

/* Opcional: asegura que las imágenes no excedan el ancho del item */
.recurso-item img {
    background: linear-gradient(183deg, #C8E2F9 29.6%, #A2D2EE 96.34%, #FFCEA8 136.52%, #F15A2E 183.37%);
    border-radius: 20px!important;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.05)!important;
    display: block;
    height: auto;
    max-width: 100%;
    transition: box-shadow 0.3s ease;
}

.recurso-item:hover img {
    box-shadow: 0 4px 14px rgb(0 0 0 / 22%)!important;
}

.recurso-item p, .recurso-tax.recurso-tax-loop {
    padding: 0 20px;
}

.recurso-tax {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.recurso-item p {
    margin-bottom: 0!important;
	
}

p.recurso-link a {
    margin-bottom: 0!important;
	color: #0095CD;
    display: flex;
    font-weight: 700;
    transition: opacity 0.3s;
	
}

p.recurso-title {
    font-size: 20px;
}

p.recurso-title, p.recurso-autor, .recurso-tax .recurso-tax-item {
    font-weight: 500;
}

.recurso-tax .recurso-tax-item { 
    align-items: center;
    background: #FFECDD;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    color: #F15A2E;
    display: flex;
    padding: 10px 18px;
    font-size: 16px;
    text-transform: capitalize;
}

.recurso-tax.recurso-tax-loop .recurso-tax-item {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 7px;
}

.recurso-tax-loop .recursos_para {
    background: #fae9e4;
    color: #f06138;
}

.recurso-tax-loop .pilar_sumun {
    background: #e4fbe5;
    color: #3c6142;
}

.recurso-tax-loop .tema_sumun {
    background: #f0e6fb;
    color: #5d4a75;
}

.recurso-tax-loop .tipo_recurso {
    background: #dbf4fe;
    color: #5c6f78;
}

.recurso-tax span span {
    display: flex;
    font-size: 0;
}

.recurso-tax span span:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/eliminar.svg);
    transition: opacity 0.3s;
    margin-right: 5px;
}

.recurso-tax a:hover span span:before {
    opacity: 0.5;
}

p.recurso-url {
    margin-bottom: 0!important;
    padding: 0 20px;
}

p.recurso-url a {
    color: #0095CD;
    display: flex;
    font-weight: 700;
    transition: opacity 0.3s;
}

.recurso-item:hover p.recurso-url a {
    opacity: 0.6;
}

.recursos-contenido {
    min-height: 180px;
}

p.recurso-url a:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/descarga.svg);
    margin-right: 8px;
    padding-top: 2px;
}

p.recurso-link a:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/open-line.svg);
    margin-right: 8px;
    padding-top: 2px;
}

p.recurso-url.recurso-video a:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/video.svg);
}
/* FIN: INICIO RESULTADOS */





/* INICIO PAGINACION */
.recursos-paginacion {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    max-width: 100%;
    padding-top: 70px;
    width: 100%; 
}

.recursos-paginacion-total {
    color: #003D4C;
    font-size: 16px;
    text-align: left;
    width: 100%;
}

.recursos-paginacion-nums {
    display: flex;
    gap: 8px;
}

.recursos-paginacion-nums .page-numbers {
    text-decoration: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #0083AF;
    font-size: 14px;
}

.recursos-paginacion-nums .page-numbers.current {
    background-color: #0083AF;
    color: #fff;
    border-color: #0083AF;
}

.recursos-paginacion-nums .page-numbers:hover {
    background-color: #0083AF;
    color: #fff;
}

.recursos-paginacion .page-numbers {
    align-items: center;
    border: 1px solid #0283af;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    color: #0283af;
    display: flex;
    height: 40px;
    justify-content: center;
    transition: 0.3s;
    text-align: center;
    width: 40px;
}

.recursos-paginacion .page-numbers.current {
    background:#0283af;
    border:1px solid #0283af;
    color:#fff;
}
.recursos-paginacion .page-numbers.dots {
    border:0;
}

.recursos-paginacion .page-numbers.dots:hover {
    background-color: transparent;
    color: #0283af;
}
/* FIN: INICIO PAGINACION */





/* INICIO MODAL VIDEO */
.sumun-recursos-open-modal-btn {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 10px 20px;
    font-size: 18px;
    cursor: pointer;
}

/* El modal está oculto completamente por defecto */
.sumun-recursos-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    justify-content: center;
    align-items: center;
}

/* Cuando el modal se activa, se muestra y se aplica blur */
.sumun-recursos-modal.is-visible {
    background: rgba(0, 0, 0, 0.50);
    backdrop-filter: blur(10px);
    display: flex;
}

.sumun-recursos-modal-content {
    background: #000;
    border-radius: 8px;
    max-height: 80vh;
    overflow: hidden;
    position: relative;
    width: 90%;
}

.sumun-recursos-modal-content video {
    width: 100%;
    height: auto;
    display: block;
}

.sumun-recursos-close-btn {
    cursor: pointer;
    font-size: 0;
    position: absolute;
    right: 15px;
    transition: opacity 0.3s;
    top: 10px;
    z-index: 2;
}

.sumun-recursos-close-btn:before {
    content: url(/wp-content/plugins/sumun-recursos/assets/images/cerrar.svg);
    filter: brightness(0) invert(1);
}

.sumun-recursos-close-btn:hover {
    opacity: 0.6;
}
/* FIN: INICIO MODAL VIDEO */





/* Responsive */
/* Desk */
@media (min-width: 992px) {
    #sumun-resultados {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 600px) and (max-width: 991px) {
    #sumun-resultados {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .sumun-recursos-modal-content {
        width: 600px;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    /* Resultados */
    #sumun-resultados {
        padding: 0;
    }
    /* Formulario */
    .input-buscador {
        font-size: 15px;
        padding: 18px 38px 18px 70px!important;
    }
    a.abrir-filtros {
        font-size: 14px;
        gap: 5px;
        min-height: 53px;
        width: 110px;
    }
    .abrir-filtros:before {
        transform: scale(0.7);
    }
    .recursos-paginacion-total {
        font-size: 14px;
    }
    .recurso-tax .recurso-tax-item {
        font-size: 14px;
        padding: 8px 16px;
    }
    /* Filtro */
    .filtros-side-header {
        height: 80px;
    }
    .filtros-side-header h2 {
        font-size: 22px;
    }
    .side-filtro-tit {
        font-size: 16px;
    }
    ul.side-filtro-tit-items label {
        font-size: 14px;
    }
    a.limpiar-filtros {
        font-size: 12px;
        gap: 0;
    }
    .limpiar-filtros:before {
        padding-top: 0;
        transform: scale(0.6);
    }
    .recurso-tax span span:before {
        transform: scale(0.8);
    }
}

/* Mobile */
@media (max-width: 767px) {
    /* General */
    h1 span {
        display: inline;
    }
    /* Formulario */
    #buscador-form:before {
        top: 10px;
        left: 20px;
        transform: scale(0.8);
    }
    .buscador-form {
        flex-direction: column;
        gap: 15px;
    }
    .input-buscador {
        font-size: 14px;
        padding: 13px 38px 13px 52px!important;
    }
    a.abrir-filtros {
        font-size: 12px;
        gap: 0;
        margin-left: auto;
        min-height: 40px;
        width: 90px;
    }
    .abrir-filtros:before {
        transform: scale(0.6);
    }
    .recurso-tax .recurso-tax-item {
        font-size: 12px;
    }
    #sumun-resultados {
        margin-top: 20px;
    }
    /* Loop recurso */
    .recurso-tax {
        margin: 20px 0 15px;
    }
    .recurso-tax.recurso-tax-loop .recurso-tax-item {
        font-size: 11px;
    }
    .recurso-item p {
        font-size: 12px;
    }
    p.recurso-title {
        font-size: 16px;
    }
    p.recurso-url a:before {
        margin-right: 5px;
        transform: scale(0.7);
    }
    .recurso-tax span span:before {
        margin-top: -1px;
    }
    /* Páginación */
    .recursos-paginacion {
        flex-direction: column-reverse;
        gap: 30px;
    }
    .recursos-paginacion-total {
        font-size: 12px;
    }
    .recursos-paginacion .page-numbers {
        height: 30px;
        width: 30px;
    }
    .recursos-paginacion-nums {
        justify-content: center;
        width: 100%;
    }
    /* Filtro */
    a.cerrar-filtros {
        transform: scale(0.7);
        top: 15px;
    }
    .filtros-side {
        width: 90%;
    }
    .filtros-side-header {
        height: 70px;
    }
    .filtros-side-header h2 {
        font-size: 20px;
    }
    .side-filtro-tit {
        font-size: 14px;
    }
    ul.side-filtro-tit-items li {
        margin-bottom: 6px;
    }
    ul.side-filtro-tit-items label {
        align-items: center;
        display: flex;
        font-size: 12px;
        gap: 0;
    }
    ul.side-filtro-tit-items input {
        width: 12px;
    }
    .arrow.down {
        transform: rotate(0deg) scale(0.7);
    }
    .arrow.up {
        transform: rotate(180deg) scale(0.7);
    }
    .filtros-side-footer {
        flex-direction: column-reverse;
        gap: 10px;
    }
    .filtros-side-footer button {
        width: 100%;
    }
    .limpiar-filtros {
        font-size: 10px;
    }
    .limpiar-filtros:before {
        margin-top: -1px;
    }
}

@media (max-width: 599px) {
    /* Resultados */
    #sumun-resultados {
        grid-template-columns: 1fr;
    }
    .recursos-contenido {
        min-height: 0;
    }
    p.recurso-url {
        padding: 10px 20px 0;
    }
}
/* Fin: Responsive */