summaryrefslogtreecommitdiffstats
path: root/src/objects/_card.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/objects/_card.scss')
-rw-r--r--src/objects/_card.scss48
1 files changed, 45 insertions, 3 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss
index e6f266d..c87e676 100644
--- a/src/objects/_card.scss
+++ b/src/objects/_card.scss
@@ -55,11 +55,13 @@
55 } 55 }
56 56
57 @include bem.elem('image') { 57 @include bem.elem('image') {
58 position: relative;
58 display: block; 59 display: block;
59 flex: 0 0 auto; 60 flex: 0 0 auto;
60 inline-size: 100%; 61 inline-size: 100%;
62 overflow: hidden;
61 object-fit: cover; 63 object-fit: cover;
62 transition: transform .2s, opacity .2s; 64 transition: background-color .2s, transform .2s, opacity .2s;
63 65
64 &:first-child { 66 &:first-child {
65 border-start-start-radius: props.get(vars.$rounding); 67 border-start-start-radius: props.get(vars.$rounding);
@@ -76,6 +78,21 @@
76 } 78 }
77 } 79 }
78 80
81 @include bem.elem('image-img') {
82 display: block;
83 inline-size: 100%;
84 object-fit: cover;
85 }
86
87 @include bem.elem('image-overlay') {
88 position: absolute;
89 inset-block-end: 0;
90 inset-inline: 0;
91 z-index: 5;
92 padding-block: props.get(vars.$image-overlay--pad-b);
93 padding-inline: props.get(vars.$image-overlay--pad-i);
94 }
95
79 @include bem.elem('body') { 96 @include bem.elem('body') {
80 flex: 1 0 auto; 97 flex: 1 0 auto;
81 padding-block: props.get(vars.$pad-b); 98 padding-block: props.get(vars.$pad-b);
@@ -128,8 +145,7 @@
128 } 145 }
129 146
130 @include bem.modifier('quiet') { 147 @include bem.modifier('quiet') {
131 position: relative; 148 margin-inline: 0;
132 margin: 0;
133 background-color: transparent; 149 background-color: transparent;
134 border: 0; 150 border: 0;
135 151
@@ -144,6 +160,12 @@
144 opacity: .75; 160 opacity: .75;
145 transform: translateY(props.get(vars.$hover--offset-b)); 161 transform: translateY(props.get(vars.$hover--offset-b));
146 } 162 }
163
164 @include bem.elem('body') {
165 @include bem.modifier('hidden') {
166 transform: translateY(props.get(vars.$hover--offset-b));
167 }
168 }
147 } 169 }
148 170
149 &:focus-visible { 171 &:focus-visible {
@@ -176,6 +198,11 @@
176 @include bem.elem('body') { 198 @include bem.elem('body') {
177 padding: 0; 199 padding: 0;
178 padding-block-start: props.get(vars.$spacing); 200 padding-block-start: props.get(vars.$spacing);
201
202 @include bem.modifier('hidden') {
203 padding-block: props.get(vars.$pad-b);
204 padding-inline: props.get(vars.$pad-i);
205 }
179 } 206 }
180 207
181 @include bem.elem('footer') { 208 @include bem.elem('footer') {
@@ -187,6 +214,21 @@
187 flex-direction: row; 214 flex-direction: row;
188 align-items: center; 215 align-items: center;
189 216
217 @include bem.elem('image') {
218 align-self: stretch;
219 inline-size: auto;
220
221 &:first-child {
222 border-start-end-radius: 0;
223 border-end-start-radius: props.get(vars.$rounding);
224 }
225
226 &:last-child {
227 border-start-end-radius: props.get(vars.$rounding);
228 border-end-start-radius: 0;
229 }
230 }
231
190 @include bem.elem('body') { 232 @include bem.elem('body') {
191 flex: 0 0 auto; 233 flex: 0 0 auto;
192 234