:root{
  --ifs-rec-red:#e31b23;
  --ifs-rec-red2:#b01217;
  --ifs-rec-text:#101828;
  --ifs-rec-muted:#475467;
  --ifs-rec-border:rgba(16,24,40,0.10);
  --ifs-rec-soft:rgba(16,24,40,0.06);
  --ifs-rec-shadow: 0 14px 40px rgba(16,24,40,0.10);
  --ifs-rec-shadow2: 0 10px 24px rgba(16,24,40,0.08);
  --ifs-rec-radius: 18px;
}

.ifs-rec-wrap{ width:100%; }

.ifs-rec-grid-outer{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1024px){ .ifs-rec-grid-outer{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){ .ifs-rec-grid-outer{ grid-template-columns: 1fr; } }

.ifs-rec-card{
  background:#fff;
  border: 1px solid var(--ifs-rec-border);
  border-radius: var(--ifs-rec-radius);
  box-shadow: var(--ifs-rec-shadow2);
  padding: 16px 16px 14px;
  position: relative;
  overflow:hidden;
  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ifs-rec-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(900px 180px at 0% 0%, rgba(227,27,35,0.18), transparent 55%),
    radial-gradient(700px 180px at 100% 0%, rgba(227,27,35,0.10), transparent 60%);
  pointer-events:none;
  opacity:.9;
}

.ifs-rec-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--ifs-rec-shadow);
  border-color: rgba(227,27,35,0.22);
}

.ifs-rec-head{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  position:relative;
}

.ifs-rec-logo{
  width: 56px; height: 56px;
  border-radius: 16px;
  border: 1px solid var(--ifs-rec-soft);
  background: #fff;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  flex: 0 0 auto;
  box-shadow: 0 8px 18px rgba(16,24,40,0.06);
}

.ifs-rec-logo img{ width:100%; height:100%; object-fit:contain; padding:7px; }
.ifs-rec-logo-fallback{ font-weight:900; letter-spacing:.04em; font-size:12px; color: var(--ifs-rec-red); }

.ifs-rec-title{ min-width:0; }

.ifs-rec-fair{
  font-weight: 900;
  font-size: 16px;
  color: var(--ifs-rec-text);
  line-height:1.2;
  letter-spacing: -0.01em;
}

.ifs-rec-edition{
  font-size: 13px;
  color: var(--ifs-rec-muted);
  margin-top: 3px;
}

.ifs-rec-company{
  margin-top: 8px;
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(227,27,35,0.10);
  color: var(--ifs-rec-red2);
  font-weight: 800;
  font-size: 12px;
  max-width: 100%;
}

.ifs-rec-feedback{
  position:relative;
  margin-top: 12px;
  font-size: 14px;
  color: var(--ifs-rec-text);
  line-height: 1.5;
}

.ifs-rec-byline{
  position:relative;
  margin-top: 12px;
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  align-items:center;
  color: var(--ifs-rec-muted);
  font-size: 12px;
}

.ifs-rec-initials{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(16,24,40,0.06);
  color: var(--ifs-rec-text);
  font-weight: 900;
}

.ifs-rec-role{
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(16,24,40,0.03);
  border: 1px solid rgba(16,24,40,0.06);
}

.ifs-rec-notice{
  padding: 12px 14px;
  border: 1px solid rgba(16,24,40,0.10);
  border-radius: 16px;
  background: #fff;
  color: var(--ifs-rec-muted);
  box-shadow: 0 10px 24px rgba(16,24,40,0.06);
}
