/* El Paisano Convocatorias — todo dentro de .epc-app para no chocar con tu tema */
.epc-app{
  --epc-rojo-h:#C8291F; --epc-rojo:#E5352A; --epc-azul:#3B6BB3;
  --epc-suave:#F6F6F7; --epc-borde:#ECECEE; --epc-texto:#1F1F1F; --epc-texto2:#5E5E66;
  --epc-verde:#1E8E4E; --epc-ambar:#B86E00;
  container-type:inline-size; container-name:epc;
  color:var(--epc-texto); line-height:1.45; font-size:16px; max-width:1280px; margin:0 auto;
}
.epc-app *,.epc-app *::before,.epc-app *::after{box-sizing:border-box}
.epc-app a{text-decoration:none;box-shadow:none}
.epc-app h2,.epc-app h3,.epc-app h4,.epc-app p{margin:0;padding:0;border:0;background:none;text-transform:none;letter-spacing:normal;font-family:inherit}
.epc-app button,.epc-app input,.epc-app select{font-family:inherit;margin:0}

/* Cifras */
.epc-stats{display:flex;flex-wrap:wrap;gap:8px 28px;margin:4px 0 18px}
.epc-stats div{font-size:14px;color:var(--epc-texto2)}
.epc-stats b{display:block;font-size:24px;line-height:1.2;color:var(--epc-rojo);font-weight:900}

/* Filtros */
.epc-filtros{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px}
.epc-filtros.epc-sin-region{grid-template-columns:2fr 1fr 1fr auto}
.epc-filtros input,.epc-filtros select{width:100%;height:52px;padding:0 14px;font-size:16px;font-weight:500;border:1px solid var(--epc-borde);background:var(--epc-suave);border-radius:10px;color:var(--epc-texto);outline:none;max-width:none;box-shadow:none}
.epc-filtros input:focus,.epc-filtros select:focus{background:#fff;border-color:var(--epc-azul)}
.epc-btn-buscar{height:52px;padding:0 26px;background:var(--epc-rojo);color:#fff;border:0;border-radius:10px;font-weight:700;font-size:16px;cursor:pointer}
.epc-btn-buscar:hover{background:var(--epc-rojo-h)}
.epc-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.epc-chip{padding:6px 14px;border:1px solid var(--epc-borde);border-radius:999px;font-size:14px;background:#fff;color:var(--epc-texto);cursor:pointer;line-height:1.4}
.epc-chip:hover{border-color:var(--epc-rojo)}
.epc-chip.on{background:var(--epc-rojo);border-color:var(--epc-rojo);color:#fff}

/* Layout */
.epc-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;margin:24px 0 32px}
.epc-layout.epc-sin-lateral{grid-template-columns:minmax(0,1fr)}
.epc-res-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.epc-conteo{font-size:18px}
.epc-limpiar{background:none;border:0;color:var(--epc-azul);font-weight:500;cursor:pointer;font-size:14px;padding:0 6px}
.epc-orden{padding:8px 10px;border:1px solid var(--epc-borde);border-radius:8px;background:#fff;font-size:14px;color:var(--epc-texto)}
.epc-vacio{grid-column:1/-1;text-align:center;padding:50px 20px;border:1px dashed var(--epc-borde);border-radius:18px;color:var(--epc-texto2)}

/* Tarjetas */
.epc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.epc-card{border:1px solid var(--epc-borde);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px;background:#fff;transition:box-shadow .2s,transform .2s;min-width:0}
.epc-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.epc-card-top{display:flex;gap:12px;align-items:flex-start}
.epc-logo{position:relative;width:56px;height:56px;flex-shrink:0;border-radius:12px;background:var(--epc-suave);overflow:hidden;display:grid;place-items:center}
.epc-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;background:#fff;border-radius:0;margin:0;max-width:none}
.epc-ini{font-weight:900;color:var(--epc-rojo-h);font-size:15px}
.epc-tit{min-width:0}
.epc-inst{font-size:12px;font-weight:700;color:var(--epc-texto2);text-transform:uppercase;letter-spacing:.3px}
.epc-app .epc-puesto{font-size:18px;line-height:1.25;margin-top:2px;font-weight:700;color:var(--epc-texto);word-wrap:break-word}
.epc-tags{display:flex;gap:6px;flex-wrap:wrap}
.epc-tag{font-size:12px;font-weight:500;padding:3px 9px;border-radius:6px;background:var(--epc-suave);color:var(--epc-texto2);line-height:1.4}
.epc-tag-tipo{background:#FDECEA;color:var(--epc-rojo-h)}
.epc-tag-nivel{background:#E7EEF8;color:var(--epc-azul)}
.epc-tag-nueva{background:var(--epc-azul);color:#fff;font-weight:700}
.epc-datos{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:8px;border-top:1px solid var(--epc-borde);border-bottom:1px solid var(--epc-borde);padding:10px 0}
.epc-datos>div{min-width:0}
.epc-datos span{display:block;font-size:11px;color:var(--epc-texto2);text-transform:uppercase}
.epc-datos b{font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.epc-datos .epc-sueldo{color:var(--epc-rojo);font-size:19px;font-weight:900}
.epc-datos .epc-sueldo.epc-na{font-size:14px;color:var(--epc-texto2);font-weight:700}
.epc-cierre{font-size:13px;font-weight:700;padding:4px 10px;border-radius:6px;align-self:flex-start}
.epc-urgente{background:#FDECEA;color:var(--epc-rojo-h)}
.epc-pronto{background:#FFF3DC;color:var(--epc-ambar)}
.epc-ok{background:#E6F4EC;color:var(--epc-verde)}
.epc-gris{background:var(--epc-suave);color:var(--epc-texto2)}
.epc-vencida.epc-cierre,.epc-cierre.epc-vencida{background:#4a4a4a;color:#fff}
.epc-desc{color:var(--epc-texto2);font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.epc-acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;align-items:flex-start}
.epc-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:8px;font-weight:700;font-size:14px;line-height:1.2;color:#fff;border:2px solid transparent}
.epc-app .epc-btn-rojo{background:var(--epc-rojo);color:#fff}
.epc-app .epc-btn-rojo:hover{background:var(--epc-rojo-h);color:#fff}
.epc-app .epc-btn-borde{border-color:var(--epc-rojo);color:var(--epc-rojo);background:#fff}
.epc-app .epc-btn-borde:hover{background:#FDECEA}
.epc-app .epc-btn-gris{background:var(--epc-suave);color:var(--epc-texto)}
.epc-app .epc-btn-wsp{background:#25D366;color:#fff}
.epc-mas-docs{width:100%;font-size:14px}
.epc-mas-docs summary{cursor:pointer;color:var(--epc-rojo);font-weight:700;padding:4px 0}
.epc-mas-docs div{display:flex;flex-direction:column;gap:6px;padding:6px 0 0}
.epc-app .epc-mas-docs a{color:var(--epc-texto);border:1px solid var(--epc-borde);border-radius:8px;padding:8px 12px}
.epc-app .epc-mas-docs a:hover{border-color:var(--epc-rojo);color:var(--epc-rojo)}
.epc-sin-enlaces{font-size:13px;color:#aaa;font-style:italic}
.epc-app .epc-link-region{color:var(--epc-azul);font-weight:500;font-size:14px}
.epc-app .epc-link-region:hover{text-decoration:underline}

/* Vencidas: atenuadas pero con los botones funcionando */
.epc-card.epc-vencida{background:#FAFAFA}
.epc-card.epc-vencida .epc-card-top,.epc-card.epc-vencida .epc-tags,.epc-card.epc-vencida .epc-datos,.epc-card.epc-vencida .epc-desc{opacity:.6;filter:grayscale(1)}
.epc-card.epc-vencida .epc-btn-rojo{background:#6b6b6b}
.epc-card.epc-vencida .epc-btn-borde{border-color:#9a9a9a;color:#6b6b6b}
.epc-card.epc-vencida:hover{transform:none}

/* Paginación */
.epc-paginacion{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:28px}
.epc-paginacion a,.epc-paginacion span{min-width:40px;height:40px;padding:0 8px;display:grid;place-items:center;border:1px solid var(--epc-borde);border-radius:8px;font-weight:500;color:var(--epc-texto);background:#fff}
.epc-paginacion a:hover{border-color:var(--epc-rojo);color:var(--epc-rojo)}
.epc-paginacion span.on{background:var(--epc-rojo);border-color:var(--epc-rojo);color:#fff}
.epc-paginacion .epc-off{opacity:.4}

/* Barra lateral */
.epc-lateral{display:flex;flex-direction:column;gap:18px;min-width:0}
.epc-box{border:1px solid var(--epc-borde);border-radius:18px;padding:18px;background:#fff}
.epc-app .epc-box h4{font-size:17px;margin-bottom:10px;font-weight:700;color:var(--epc-texto)}
.epc-box-alerta{background:var(--epc-rojo-h);border:0;color:#fff}
.epc-app .epc-box-alerta h4{color:#fff}
.epc-box-alerta p{font-size:14px;opacity:.92;margin-bottom:12px}
.epc-app .epc-btn-wsp-l,.epc-app .epc-btn-tg-l{display:block;text-align:center;padding:11px;border-radius:8px;font-weight:700;margin-top:8px;color:#fff}
.epc-btn-wsp-l{background:#25D366}.epc-btn-tg-l{background:#229ED9}
.epc-lista a{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px dashed var(--epc-borde);font-size:14px;color:var(--epc-texto)}
.epc-lista a:last-child{border:0}
.epc-lista a:hover{color:var(--epc-rojo)}
.epc-lista small{display:block;color:var(--epc-texto2);font-size:12px}
.epc-lista em{font-style:normal;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap;background:#FDECEA;color:var(--epc-rojo-h)}
.epc-lista em.epc-gris{background:var(--epc-suave);color:var(--epc-texto2);font-weight:500}
.epc-lateral-ad{position:sticky;top:110px}

/* Regiones */
.epc-seccion{padding:32px 0 8px;border-top:1px solid var(--epc-borde)}
.epc-app .epc-seccion h2{font-size:24px;margin-bottom:16px;font-weight:800;color:var(--epc-texto)}
.epc-regiones{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.epc-app .epc-regiones a{padding:14px;border:1px solid var(--epc-borde);border-radius:12px;font-weight:600;color:var(--epc-texto);background:#fff}
.epc-app .epc-regiones a:hover{border-color:var(--epc-azul);color:var(--epc-azul)}
.epc-regiones small{display:block;color:var(--epc-texto2);font-weight:400}

/* Anuncios */
.epc-ad{margin:20px 0;text-align:center;min-height:100px;overflow:hidden}
.epc-ad::before{content:"Publicidad";display:block;font-size:11px;color:#9A9AA2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.epc-grid .epc-ad{grid-column:1/-1;margin:2px 0;min-height:250px}
.epc-lateral .epc-ad{margin:0;min-height:250px}
.epc-ad-guia{display:flex;flex-direction:column}
.epc-ad-guia>div{flex:1;display:grid;place-items:center;text-align:center;border:2px dashed #D0D0D6;border-radius:12px;background:#FAFAFB;color:#77777F;padding:14px;font-size:14px;min-height:90px}
.epc-grid .epc-ad-guia>div{min-height:220px}
.epc-lateral .epc-ad-guia>div{min-height:300px}

/* Responsive según el ancho real del contenido (funciona aunque tu tema tenga barra lateral) */
@container epc (max-width:900px){
  .epc-layout{grid-template-columns:minmax(0,1fr)}
  .epc-lateral-ad{position:static}
  .epc-filtros,.epc-filtros.epc-sin-region{grid-template-columns:1fr 1fr}
  .epc-filtros .epc-q{grid-column:1/-1}
}
@container epc (max-width:560px){
  .epc-filtros,.epc-filtros.epc-sin-region{grid-template-columns:1fr}
  .epc-btn-buscar{width:100%}
  .epc-grid{grid-template-columns:1fr}
  .epc-stats{gap:6px 20px}
  .epc-stats b{font-size:20px}
  .epc-card{padding:16px}
}
