@use "@styles/abstracts/functions" as fun; @use "@styles/abstracts/mixins" as mix; .wrapper { padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-md); border: fun.convert-px(1) solid var(--color-border); border-radius: fun.convert-px(3); box-shadow: fun.convert-px(1) fun.convert-px(1) 0 0 var(--color-shadow), fun.convert-px(1) fun.convert-px(1) fun.convert-px(3) 0 var(--color-shadow); transition: all 0.2s ease-in-out 0s, border 0s; &:hover, &:focus-within { box-shadow: fun.convert-px(2) fun.convert-px(2) 0 0 var(--color-shadow-light), fun.convert-px(3) fun.convert-px(3) fun.convert-px(3) 0 var(--color-shadow-light), fun.convert-px(3) fun.convert-px(3) fun.convert-px(5) fun.convert-px(1) var(--color-shadow-lighter); transform: scale(1.01); } } .cover { width: auto; height: fun.convert-px(100); margin: 0 auto var(--spacing-sm); position: relative; border: fun.convert-px(1) solid var(--color-border); } .read-more { display: block; width: max-content; margin: var(--spacing-md) auto var(--spacing-lg); padding: var(--spacing-2xs) var(--spacing-sm); background: var(--color-bg); border: fun.convert-px(3) solid var(--color-primary); border-radius: fun.convert-px(3); 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); color: var(--color-primary); font-weight: 600; text-decoration: none; transition: all 0.3s ease-in-out 0s; .icon { width: fun.convert-px(20); margin-left: var(--spacing-2xs); fill: var(--color-primary); transition: all 0.25s ease-in-out 0s; } &:hover, &:focus { text-decoration: underline var(--color-primary) fun.convert-px(2); .icon { margin-left: var(--spacing-xs); transform: scaleX(1.3); } } &:active { color: var(--color-primary-dark); text-decoration: none; .icon { margin-left: 0; transform: scaleX(0); width: 0; } } } @include mix.media("screen") { @include mix.dimensions("xs") { .read-more { font-size: var(--font-size-sm); } } @include mix.dimensions("sm") { .wrapper { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); grid-template-rows: repeat(3, max-content); column-gap: var(--spacing-md); } .cover { grid-column: 2; grid-row: 1; margin: 0 0 var(--spacing-sm); } .header { grid-column: 1; grid-row: 1; } .meta { grid-column: 2; grid-row: 2 / 4; } .body { grid-column: 1; grid-row: 2; } .footer { grid-column: 1; grid-row: 3; } .read-more { margin: 0; } } }