@use "@styles/abstracts/functions" as fun; @use "@styles/abstracts/placeholders"; .list { --items: 3; --items-size: 25ch; @extend %reset-list; display: grid; grid-template-columns: repeat( auto-fit, min(calc(100vw - (var(--spacing-md) * 2)), var(--items-size)) ); justify-content: center; gap: var(--spacing-sm); width: min( calc(100vw - (var(--spacing-md) * 2)), calc( (var(--items-size) * var(--items)) + (var(--spacing-sm) * (var(--items) - 1)) ) ); margin-bottom: var(--spacing-md); } .item { text-align: center; } .article { display: flex; flex-flow: column nowrap; height: 100%; padding: 0 0 var(--spacing-md); } .title { flex: 1; margin: var(--spacing-sm) 0; padding: 0 var(--spacing-md); text-decoration: underline solid transparent 0; transition: all 0.3s linear 0s; } .link { display: block; height: 100%; background: var(--color-bg); color: inherit; text-decoration: none; border: fun.convert-px(3) solid var(--color-primary); border-radius: fun.convert-px(5); box-shadow: fun.convert-px(1) fun.convert-px(1) fun.convert-px(1) var(--color-shadow), fun.convert-px(1) fun.convert-px(2) fun.convert-px(2) fun.convert-px(-2) var(--color-shadow), fun.convert-px(3) fun.convert-px(4) fun.convert-px(5) fun.convert-px(-4) var(--color-shadow); transition: all 0.3s ease-in-out 0s; &:hover, &:focus, &:active { color: inherit; } &:hover, &:focus { box-shadow: fun.convert-px(1) fun.convert-px(1) fun.convert-px(1) var(--color-shadow-light), fun.convert-px(1) fun.convert-px(2) fun.convert-px(2) fun.convert-px(-2) var(--color-shadow-light), fun.convert-px(3) fun.convert-px(4) fun.convert-px(5) fun.convert-px(-4) var(--color-shadow-light), fun.convert-px(7) fun.convert-px(10) fun.convert-px(12) fun.convert-px(-3) var(--color-shadow-light); transform: scale(1.05); } &:focus { .title { text-decoration: underline solid var(--color-primary) 0.3ex; } } &:active { box-shadow: 0 0 0 0 var(--color-shadow); transform: scale(0.95); .title { text-decoration: none; } } } .cover { width: 100%; height: clamp(fun.convert-px(100), 20vw, fun.convert-px(150)); position: relative; border: fun.convert-px(1) solid var(--color-border); } .meta { display: block; margin: 0; padding: 0 var(--spacing-md); font-size: var(--font-size-sm); }