/* ChildFund Media Fácil 1.9.0 - estilos del frontend */
.cfmedia-wrap,.cfmedia-wrap *,.cfmedia-modal,.cfmedia-modal *{box-sizing:border-box}
.cfmedia-wrap,.cfmedia-modal{--cf-green:#008653;--cf-light:#82c341;--cf-mint:#3eb97a;--cf-yellow:#eeb84e;--cf-lime:#d3df4d;--cf-blue:#20b0e7;--cf-orange:#ef6c30;--cf-ink:#14352a}
.cfmedia-wrap{clear:both;width:100%;max-width:100%;position:relative}

/* Grilla */
.cfmedia-grid{display:grid;gap:24px;width:100%;margin:0;padding:0;align-items:stretch}
.cfmedia-cols-1{grid-template-columns:minmax(0,1fr)}
.cfmedia-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cfmedia-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cfmedia-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.cfmedia-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.cfmedia-cols-3,.cfmedia-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cfmedia-cols-2,.cfmedia-cols-3,.cfmedia-cols-4{grid-template-columns:minmax(0,1fr)}.cfmedia-grid{gap:18px}}

/* Tarjeta */
.cfmedia-wrap .cfmedia-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 28px rgba(0,0,0,.07);display:flex;flex-direction:column;min-width:0;height:100%;margin:0;padding:0;transition:transform .2s ease,box-shadow .2s ease}
.cfmedia-wrap .cfmedia-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(0,0,0,.11)}
.cfmedia-wrap .cfmedia-img{position:relative;width:100%;height:190px;flex:0 0 auto;background:#eef6ef;overflow:hidden;margin:0;padding:0}
.cfmedia-wrap .cfmedia-img img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;margin:0!important;border-radius:0!important;box-shadow:none!important}
.cfmedia-wrap .cfmedia-file-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--cf-green);background:linear-gradient(135deg,#eef8ef,#f8fbf8);text-align:center;padding:12px}
.cfmedia-wrap .cfmedia-file-placeholder strong{font-size:30px;line-height:1;letter-spacing:.04em;font-weight:900;color:var(--cf-green)}
.cfmedia-wrap .cfmedia-file-placeholder span{font-size:13px;font-weight:700;color:#52665d}
.cfmedia-wrap .cfmedia-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;padding:20px}

/* Etiquetas */
.cfmedia-wrap .cfmedia-badges,.cfmedia-modal .cfmedia-badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:0}
.cfmedia-wrap .cfmedia-badge,.cfmedia-modal .cfmedia-badge{display:inline-block;font-size:12px;line-height:1.2;font-weight:700;border-radius:999px;padding:6px 10px;background:rgba(130,195,65,.16);color:var(--cf-green)}
.cfmedia-badge.format{background:rgba(32,176,231,.14)!important;color:#087ea8!important}
.cfmedia-badge.project{background:rgba(238,184,78,.20)!important;color:#8a5a00!important}
.cfmedia-badge.program{background:rgba(0,134,83,.13)!important;color:#006b42!important}

/* Textos (a prueba de estilos del tema / Elementor) */
.cfmedia-wrap h3.cfmedia-title{font-size:20px;line-height:1.25;font-weight:700;margin:0 0 10px;padding:0;color:var(--cf-ink);text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.cfmedia-wrap .cfmedia-excerpt{font-size:15px;color:#556;line-height:1.55;margin:0 0 16px;padding:0}
.cfmedia-wrap .cfmedia-meta,.cfmedia-modal .cfmedia-meta{font-size:13px;color:#52665d;line-height:1.55;margin:0 0 12px}
.cfmedia-meta strong{color:var(--cf-ink);font-weight:700}
.cfmedia-download-count{font-size:13px;font-weight:700;color:var(--cf-green);margin-top:10px}

/* Botones */
.cfmedia-wrap .cfmedia-actions,.cfmedia-modal .cfmedia-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:auto 0 0;padding:0}
.cfmedia-wrap .cfmedia-btn,.cfmedia-modal .cfmedia-btn{display:inline-block;text-decoration:none!important;border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px;line-height:1.2;border:0;cursor:pointer;text-align:center;transition:filter .15s ease,transform .15s ease}
.cfmedia-btn.primary{background:var(--cf-green)!important;color:#fff!important}
.cfmedia-btn.secondary{background:rgba(130,195,65,.18)!important;color:var(--cf-green)!important}
.cfmedia-btn:hover{filter:brightness(.94)}
.cfmedia-btn:focus-visible,.cfmedia-modal-close:focus-visible{outline:3px solid var(--cf-blue);outline-offset:2px}
.cfmedia-wrap .cfmedia-empty{padding:30px;text-align:center;border:1px dashed rgba(0,134,83,.3);border-radius:16px;color:#566;background:#fbfffb}
.cfmedia-hidden,.cfmedia-detail-data{display:none!important}

/* Modal (se inserta en <body> con JS para evitar recortes por contenedores con transform) */
html.cfmedia-lock,html.cfmedia-lock body{overflow:hidden!important}
.cfmedia-modal{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.62);clear:none}
.cfmedia-modal.is-open{display:flex}
.cfmedia-modal .cfmedia-modal-card{position:relative;width:min(920px,100%);max-height:90vh;max-height:90dvh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);outline:0;-webkit-overflow-scrolling:touch}
.cfmedia-modal .cfmedia-modal-close{position:absolute;right:14px;top:12px;z-index:3;width:38px;height:38px;min-height:0;padding:0;border-radius:50%;border:0;background:var(--cf-green);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cfmedia-modal .cfmedia-modal-hero{height:280px;background:#eef6ef;overflow:hidden}
.cfmedia-modal .cfmedia-modal-hero:empty{display:none}
.cfmedia-modal .cfmedia-modal-hero img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;margin:0!important}
.cfmedia-modal .cfmedia-modal-body{padding:28px}
.cfmedia-modal h2.cfmedia-modal-title{margin:0 44px 12px 0;padding:0;color:var(--cf-ink);font-size:30px;line-height:1.15;font-weight:700;text-transform:none;letter-spacing:0}
.cfmedia-modal .cfmedia-modal-content{color:#334;line-height:1.65;font-size:16px;overflow-wrap:anywhere}
.cfmedia-modal .cfmedia-modal-content img,.cfmedia-modal .cfmedia-modal-content iframe,.cfmedia-modal .cfmedia-modal-content video{max-width:100%;height:auto}
.cfmedia-modal .cfmedia-modal-content iframe{aspect-ratio:16/9;width:100%;height:auto;border:0}
.cfmedia-modal .cfmedia-modal-content p{margin:0 0 1em}
.cfmedia-modal .cfmedia-modal-actions{margin-top:22px}
@media(max-width:640px){
  .cfmedia-wrap .cfmedia-img{height:170px}
  .cfmedia-modal{padding:12px}
  .cfmedia-modal .cfmedia-modal-card{border-radius:18px;max-height:94vh;max-height:94dvh}
  .cfmedia-modal .cfmedia-modal-hero{height:190px}
  .cfmedia-modal .cfmedia-modal-body{padding:20px}
  .cfmedia-modal h2.cfmedia-modal-title{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.cfmedia-card,.cfmedia-btn{transition:none!important}.cfmedia-card:hover{transform:none}}
