/* Wrapper Aislado */
.wp-block-gs-resource-library {
    --gs-black: #0f172a;
    --gs-text: #334155;
    --gs-muted: #64748b;
    --gs-border: #e2e8f0;
    
    /* Colores Específicos */
    --gs-blue-icon: #2563eb;
    --gs-blue-bg-icon: #eff6ff;
    
    /* Colores Tags */
    --tag-visa-bg: #eff6ff; --tag-visa-text: #1d4ed8;       
    --tag-housing-bg: #fff7ed; --tag-housing-text: #c2410c; 
    --tag-study-bg: #faf5ff; --tag-study-text: #7e22ce;     
    --tag-work-bg: #fdf4ff; --tag-work-text: #a21caf;
    --tag-finance-bg: #f0fdf4; --tag-finance-text: #15803d; 
    --tag-daily-bg: #ecfeff; --tag-daily-text: #0e7490; 
    --tag-premium-bg: #fffbeb; --tag-premium-text: #b45309;

    /* Estilos Bundle */
    --gs-bundle-border: #bfdbfe; 
    --gs-badge-dark: #1e293b; 

    font-family: 'Inter', sans-serif;
    color: var(--gs-text);
    line-height: 1.5;
    background-color: #ffffff;
    padding-bottom: 2rem;
}

.wp-block-gs-resource-library * { box-sizing: border-box; }
.wp-block-gs-resource-library a { text-decoration: none; color: inherit; transition: all 0.2s ease; }

.wp-block-gs-resource-library .gs-lib-container { 
    max-width: 75rem; margin: 0 auto; padding: 0 1.5rem; width: 100%;
}

/* HEADER */
.wp-block-gs-resource-library .gs-lib-header { 
    padding: 4rem 0 3rem; text-align: center; 
    border-bottom: 1px solid var(--gs-border); 
    margin-bottom: 3rem; 
    background: #ffffff;
}
.wp-block-gs-resource-library .gs-lib-tag {
    display: inline-block; font-size: 0.75rem; font-weight: 800; 
    color: #2563eb; text-transform: uppercase; letter-spacing: 1.2px; 
    margin-bottom: 1rem;
}
.wp-block-gs-resource-library .gs-lib-title { 
    font-size: 3rem; font-weight: 800; letter-spacing: -1px; 
    margin-bottom: 0.5rem; color: var(--gs-black); line-height: 1.1; margin-top: 0;
}
.wp-block-gs-resource-library .gs-lib-subtitle { 
    font-size: 1.1rem; color: var(--gs-muted); margin: 0 auto; max-width: 600px; 
}

/* --- BARRA DE FILTROS --- */
.wp-block-gs-resource-library .gs-lib-controls { display: flex; justify-content: center; margin-bottom: 4rem; }

.wp-block-gs-resource-library .gs-lib-filter-group { 
    display: inline-flex; 
    gap: 4px; 
    background: #f1f5f9; 
    padding: 6px; 
    border-radius: 999px; 
    border: 1px solid var(--gs-border);
}

.wp-block-gs-resource-library .gs-filter-btn {
    background: transparent; 
    border: none; 
    padding: 0.6rem 1.4rem; 
    border-radius: 999px; 
    font-size: 0.9rem; 
    font-weight: 600; 
    color: var(--gs-muted); 
    cursor: pointer; 
    transition: all 0.2s ease;
}

.wp-block-gs-resource-library .gs-filter-btn:hover { 
    color: var(--gs-black); 
}

.wp-block-gs-resource-library .gs-filter-btn.active { 
    background: #ffffff; 
    color: var(--gs-black); 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.1); 
}

/* GRID */
.wp-block-gs-resource-library .gs-lib-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); 
    gap: 1.5rem; 
    margin-bottom: 5rem; 
}

/* CARDS */
.wp-block-gs-resource-library .gs-lib-card {
    background: white; border: 1px solid var(--gs-border); border-radius: 12px;
    overflow: hidden; display: flex; flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease; height: 100%; position: relative;
}
.wp-block-gs-resource-library .gs-bundle-card {
    border-color: #bfdbfe; background: linear-gradient(to bottom, #ffffff, #f0f9ff); 
}
.wp-block-gs-resource-library .gs-lib-card:hover { 
    transform: translateY(-4px); 
    box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.1); 
}

/* Icono caja bundle */
.wp-block-gs-resource-library .gs-bundle-icon {
    position: absolute; top: 10px; right: 10px;
    background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(4px);
    color: #2563eb; border-radius: 6px; padding: 6px;
    display: flex; align-items: center; justify-content: center; z-index: 10;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* IMAGEN CON ZOOM HOVER */
.wp-block-gs-resource-library .gs-lib-card-img { 
    width: 100%; height: 180px; background: #f1f5f9; position: relative; overflow: hidden; 
}
.wp-block-gs-resource-library .gs-lib-card-img img { 
    width: 100%; height: 100%; object-fit: cover; 
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); 
}
/* EFECTO ZOOM */
.wp-block-gs-resource-library .gs-lib-card:hover .gs-lib-card-img img {
    transform: scale(1.05);
}

.wp-block-gs-resource-library .gs-lib-card-body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }

/* BADGES */
.wp-block-gs-resource-library .gs-lib-badge {
    display: inline-block; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px;
    padding: 4px 10px; border-radius: 6px; width: fit-content; margin-bottom: 0.75rem;
}
.wp-block-gs-resource-library .gs-bundle-card .gs-lib-badge { background-color: var(--gs-badge-dark); color: white; }

.wp-block-gs-resource-library .tag-visa { background: var(--tag-visa-bg); color: var(--tag-visa-text); }
.wp-block-gs-resource-library .tag-housing { background: var(--tag-housing-bg); color: var(--tag-housing-text); }
.wp-block-gs-resource-library .tag-study { background: var(--tag-study-bg); color: var(--tag-study-text); }
.wp-block-gs-resource-library .tag-work { background: var(--tag-work-bg); color: var(--tag-work-text); }
.wp-block-gs-resource-library .tag-finance { background: var(--tag-finance-bg); color: var(--tag-finance-text); }
.wp-block-gs-resource-library .tag-daily { background: var(--tag-daily-bg); color: var(--tag-daily-text); }
.wp-block-gs-resource-library .tag-premium { background: var(--tag-premium-bg); color: var(--tag-premium-text); }

.wp-block-gs-resource-library .gs-lib-card-title { 
    font-size: 1.2rem; font-weight: 800; color: var(--gs-black); margin: 0 0 0.5rem 0; line-height: 1.3; margin-top: 0;
}
.wp-block-gs-resource-library .gs-lib-card-desc { 
    font-size: 0.9rem; color: var(--gs-muted); margin-bottom: 1.5rem; line-height: 1.5; flex-grow: 1; 
}

/* Meta Info & Arrow */
.wp-block-gs-resource-library .gs-lib-card-meta {
    border-top: 1px solid var(--gs-border); 
    padding-top: 1rem; margin-top: auto;
    display: flex; gap: 1rem; align-items: center; 
    font-size: 0.8rem; color: #94a3b8; font-weight: 500;
}
.wp-block-gs-resource-library .gs-meta-item { display: flex; align-items: center; gap: 6px; }

/* Logo pequeño footer */
.wp-block-gs-resource-library .gs-meta-logo { width: 20px; height: 20px; object-fit: contain; }

.wp-block-gs-resource-library .gs-card-arrow {
    margin-left: auto; color: #cbd5e1; transition: all 0.2s ease; display: flex; align-items: center;
}
.wp-block-gs-resource-library .gs-lib-card:hover .gs-card-arrow { color: var(--gs-black); transform: translateX(4px); }

.wp-block-gs-resource-library .hidden { display: none !important; }

@media(max-width: 600px) {
    .wp-block-gs-resource-library .gs-lib-grid { grid-template-columns: 1fr; }
    .wp-block-gs-resource-library .gs-lib-filter-group { flex-wrap: wrap; justify-content: center; border-radius: 16px; }
}