.card { background: var(--article-bg); display: flex; flex-direction: column; border-radius: 12px; cursor: pointer; overflow: hidden; position: relative; height: 250px; border: 1px solid rgba(255, 255, 255, 0.08); transition: all 0.25s ease; text-decoration: none; color: inherit; } .card:hover { border-color: var(--accent-color); } .background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: 0.15; transition: opacity 0.3s ease; } .card:hover .background { opacity: 0.2; } .content { padding: 1.75rem; display: flex; flex-direction: column; justify-content: space-between; height: calc(100% - 60px); } .logoWrapper { background: rgba(255, 255, 255, 0.05); width: 42px; height: 42px; border-radius: 8px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 1.25rem; } .logo { width: 24px; height: 24px; object-fit: contain; } .title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 1.35rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--accent-color); } .description { font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, 0.8); margin-bottom: 1rem; } .link { display: inline-flex; align-items: center; gap: 0.5rem; background: transparent; border: 1px solid var(--accent-color); color: var(--accent-color); padding: 0.5rem 0.9rem; border-radius: 6px; font-size: 0.8rem; font-weight: 500; text-decoration: none; transition: all 0.2s ease; width: fit-content; } .link:hover { background: var(--accent-color); color: var(--bg-color); } .tags { display: flex; flex-wrap: wrap; margin: 0.5rem 0 1rem; } .tags span { margin: 0.5rem 0.5rem 0 0; padding: 0.2rem 0.5rem; border-radius: 20px; font-size: 0.75rem; transition: all 0.2s; } .cta { display: flex; gap: 1rem; } .underline { padding: 0.2rem 0; font-size: 0.9rem; letter-spacing: 0; cursor: pointer; color: white; text-decoration: none; background-image: linear-gradient( 120deg, var(--accent-color) 100%, var(--accent-color) 100% ); background-repeat: no-repeat; background-size: 100% 0.2em; background-position: 0 88%; transition: background-size 0.25s ease-in; } .underline:hover { background-size: 100% 88%; } .footer { display: flex; gap: 0.75rem; flex-wrap: wrap; padding: 0 1.75rem 1.25rem; margin-top: auto; } /* Badge styling */ .date, .status, .skills { background: rgba(255, 255, 255, 0.08); padding: 0.3rem 0.75rem; border-radius: 20px; font-size: 0.75rem; white-space: nowrap; border: 1px solid rgba(255, 255, 255, 0.1); } .status[data-status="active"] { background: rgba(40, 167, 69, 0.15); color: #28a745; } .status[data-status="pending"] { background: rgba(255, 193, 7, 0.15); color: #ffc107; } .status[data-status="archived"] { background: rgba(108, 117, 125, 0.15); color: #6c757d; } .type { font-size: 0.8rem; color: rgba(255, 255, 255, 0.7); margin-left: auto; padding: 0.3rem 0.7rem; border-radius: 6px; background: rgba(255, 255, 255, 0.05); }