feat: implement responsive column-based styling for all thumbnail cards #9
@@ -387,6 +387,9 @@
|
|||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
position: relative;
|
position: relative;
|
||||||
transition: transform 0.2s, box-shadow 0.2s;
|
transition: transform 0.2s, box-shadow 0.2s;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-card:hover {
|
.recipe-card:hover {
|
||||||
@@ -396,32 +399,48 @@
|
|||||||
|
|
||||||
.recipe-card > div:first-child {
|
.recipe-card > div:first-child {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-image {
|
.recipe-image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
aspect-ratio: 16 / 9;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-image-placeholder {
|
.recipe-image-placeholder {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
aspect-ratio: 16 / 9;
|
||||||
background: linear-gradient(135deg, #ffb74d 0%, #ff9800 100%);
|
background: linear-gradient(135deg, #ffb74d 0%, #ff9800 100%);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 4rem;
|
font-size: 4rem;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-info {
|
.recipe-info {
|
||||||
padding: 1.25rem;
|
padding: 1.25rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-info h3 {
|
.recipe-info h3 {
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
color: #212121;
|
color: #212121;
|
||||||
margin: 0 0 0.5rem 0;
|
margin: 0 0 0.5rem 0;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-info .description {
|
.recipe-info .description {
|
||||||
@@ -429,6 +448,12 @@
|
|||||||
color: #666;
|
color: #666;
|
||||||
margin: 0 0 0.75rem 0;
|
margin: 0 0 0.75rem 0;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
flex: 0 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-meta {
|
.recipe-meta {
|
||||||
@@ -437,12 +462,14 @@
|
|||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
color: #757575;
|
color: #757575;
|
||||||
margin-bottom: 0.75rem;
|
margin-bottom: 0.75rem;
|
||||||
|
flex: 0 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-tags {
|
.recipe-tags {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-tags .tag {
|
.recipe-tags .tag {
|
||||||
|
|||||||
@@ -156,6 +156,9 @@
|
|||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: transform 0.2s, box-shadow 0.2s;
|
transition: transform 0.2s, box-shadow 0.2s;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cookbook-card:hover {
|
.cookbook-card:hover {
|
||||||
@@ -165,28 +168,40 @@
|
|||||||
|
|
||||||
.cookbook-cover {
|
.cookbook-cover {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
aspect-ratio: 16 / 9;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cookbook-cover-placeholder {
|
.cookbook-cover-placeholder {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
aspect-ratio: 16 / 9;
|
||||||
background: linear-gradient(135deg, #81c784 0%, #4caf50 100%);
|
background: linear-gradient(135deg, #81c784 0%, #4caf50 100%);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 4rem;
|
font-size: 4rem;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cookbook-info {
|
.cookbook-info {
|
||||||
padding: 1.25rem;
|
padding: 1.25rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cookbook-info h3 {
|
.cookbook-info h3 {
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
color: #212121;
|
color: #212121;
|
||||||
margin: 0 0 0.5rem 0;
|
margin: 0 0 0.5rem 0;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cookbook-info .description {
|
.cookbook-info .description {
|
||||||
@@ -194,6 +209,12 @@
|
|||||||
color: #666;
|
color: #666;
|
||||||
margin: 0 0 0.75rem 0;
|
margin: 0 0 0.75rem 0;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
flex: 0 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cookbook-info .recipe-count {
|
.cookbook-info .recipe-count {
|
||||||
@@ -201,6 +222,7 @@
|
|||||||
color: #2e7d32;
|
color: #2e7d32;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recent Recipes Section */
|
/* Recent Recipes Section */
|
||||||
@@ -234,6 +256,9 @@
|
|||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: transform 0.2s, box-shadow 0.2s;
|
transition: transform 0.2s, box-shadow 0.2s;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-card:hover {
|
.recipe-card:hover {
|
||||||
@@ -243,28 +268,40 @@
|
|||||||
|
|
||||||
.recipe-image {
|
.recipe-image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
aspect-ratio: 16 / 9;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-image-placeholder {
|
.recipe-image-placeholder {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
aspect-ratio: 16 / 9;
|
||||||
background: linear-gradient(135deg, #ffb74d 0%, #ff9800 100%);
|
background: linear-gradient(135deg, #ffb74d 0%, #ff9800 100%);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 4rem;
|
font-size: 4rem;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-info {
|
.recipe-info {
|
||||||
padding: 1.25rem;
|
padding: 1.25rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-info h3 {
|
.recipe-info h3 {
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
color: #212121;
|
color: #212121;
|
||||||
margin: 0 0 0.5rem 0;
|
margin: 0 0 0.5rem 0;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-info .description {
|
.recipe-info .description {
|
||||||
@@ -272,6 +309,12 @@
|
|||||||
color: #666;
|
color: #666;
|
||||||
margin: 0 0 0.75rem 0;
|
margin: 0 0 0.75rem 0;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
flex: 0 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-meta {
|
.recipe-meta {
|
||||||
@@ -279,6 +322,7 @@
|
|||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
color: #757575;
|
color: #757575;
|
||||||
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Empty State */
|
/* Empty State */
|
||||||
|
|||||||
@@ -266,9 +266,9 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background: var(--bg-primary, #ffffff);
|
background: var(--bg-primary, #ffffff);
|
||||||
transition: transform 0.2s, box-shadow 0.2s;
|
transition: transform 0.2s, box-shadow 0.2s;
|
||||||
aspect-ratio: 1 / 1;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recipe-grid-enhanced .recipe-card:hover {
|
.recipe-grid-enhanced .recipe-card:hover {
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
|
|
||||||
.recipe-grid-enhanced .recipe-card img {
|
.recipe-grid-enhanced .recipe-card img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 65%;
|
aspect-ratio: 16 / 9;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
display: block;
|
display: block;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user