/* Public styles — white + light blue aesthetic */
.fdc-card {
  --fdc-primary: #3182ce;
  --fdc-bg: #ffffff;
  --fdc-soft: #eaf3ff;
  --fdc-text: #1a202c;
  background: var(--fdc-bg);
  border: 1px solid #e5edf7;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(49,130,206,.08);
  overflow: hidden;
  margin: 16px 0;
}
.fdc-card .fdc-title { margin: 0 0 8px; font-size: 1.1rem; color: var(--fdc-text); }
.fdc-card .fdc-desc { color: #4a5568; margin: 8px 0 14px; }
.fdc-card .fdc-meta { display:flex; gap:12px; align-items:center; color:#2d3748; font-size:.92rem; margin-bottom: 12px; }
.fdc-card .fdc-size { background: var(--fdc-soft); padding: 4px 8px; border-radius: 8px; }
.fdc-card .fdc-downloads { opacity:.9; }
.fdc-card .fdc-btn { display:inline-block; text-decoration:none; padding:10px 16px; border-radius:12px; background:var(--fdc-primary); color:#fff; font-weight:600; transition: transform .08s ease, box-shadow .2s ease; box-shadow: 0 8px 14px rgba(49,130,206,.25); }
.fdc-card .fdc-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 18px rgba(49,130,206,.35); }

/* Media */
.fdc-media{ width:200px; height:200px; overflow:hidden; background:#f7fbff; display:block; margin:0 auto 16px; border-radius:12px; }
.fdc-image{ width:100%; height:100%; object-fit:cover; display:block; }

/* Modern variant layout helpers */
.fdc-modern{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.fdc-modern .fdc-left{ flex:1; padding:16px; }
.fdc-modern .fdc-right{ padding:16px; }
.fdc-modern .fdc-media{ margin:0 0 16px 0; }

/* Mini strip */
.fdc-mini{ display:flex; gap:10px; align-items:center; justify-content:space-between; padding:12px 16px; }
.fdc-mini .fdc-title{ font-weight:600; }
.fdc-mini .fdc-btn{ padding:8px 12px; border-radius:10px; }
.fdc-mini .fdc-media{ width:60px; height:60px; margin:0; }

/* Additional links */
.fdc-additional-links{ margin-top:12px; padding-top:12px; border-top:1px solid #e5edf7; }
.fdc-additional-link{ display:inline-block; margin:4px 8px 4px 0; padding:6px 12px; background:var(--fdc-soft); color:var(--fdc-primary); text-decoration:none; border-radius:8px; font-size:.9rem; transition:all .2s ease; }
.fdc-additional-link:hover{ background:var(--fdc-primary); color:#fff; transform:translateY(-1px); }
.fdc-link-size{ opacity:.8; font-size:.85rem; }

/* SEO and Accessibility improvements */
.fdc-card{ position:relative; }
.fdc-card::before{ content:''; position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none; }
.fdc-image{ border:0; outline:0; }
.fdc-btn:focus, .fdc-additional-link:focus{ outline:2px solid var(--fdc-primary); outline-offset:2px; }