.card { position: relative; margin-bottom: 1.5em; border: 1px solid var(--outline-color); border-radius: 8px; background-color: transparent; overflow: hidden; } .card-lift { transition: transform 0.3s, box-shadow 0.3s; } .card-lift:hover { transform: translateY(-3px); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } .card-gradient-border { position: relative; } .card-gradient-border::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient( 45deg, var(--primary-color), var(--highlight-color) ); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; opacity: 0; transition: opacity 0.3s; z-index: -1; } .card-gradient-border:hover::before { opacity: 1; } .card-content { padding: 1.5em; } .card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1em; } .card-title { margin: 0; font-size: 1.2em; font-weight: bold; color: var(--secondary-text-color); } .card-meta, .card-dates { font-size: 0.9em; color: var(--text-color); } .card-excerpt { margin: 0.5em 0 0; color: var(--secondary-text-color); line-height: 1.5; } @media (max-width: 600px) { .card { margin-bottom: 1em; border-radius: 4px; } .card-content { padding: 1em; } .card-title { font-size: 1em; } }