Files
2026-09-15 10:35:56 +08:00

388 lines
7.5 KiB
CSS

.esun-resin {
--resin-green: #12ad5c;
box-sizing: border-box;
margin: 76px auto 0;
max-width: 1360px;
padding: 0 20px;
position: relative;
}
.esun-resin *,
.esun-resin *::before,
.esun-resin *::after {
box-sizing: border-box;
}
.esun-resin__heading {
align-items: flex-start;
display: flex;
justify-content: space-between;
margin-bottom: 36px;
}
.esun-resin__heading h2 {
color: #303030;
font-size: 36px;
font-weight: 700;
letter-spacing: 5px;
margin: 0;
position: relative;
text-transform: uppercase;
}
.esun-resin__heading h2::after {
background: var(--resin-green);
bottom: -20px;
content: "";
height: 2px;
left: 0;
position: absolute;
width: 56px;
}
.esun-resin__explore {
align-items: center;
color: var(--resin-green);
display: inline-flex;
flex: 0 0 auto;
font-size: 14px;
font-weight: 700;
gap: 12px;
margin-top: 35px;
text-decoration: none;
}
.esun-resin__explore:hover,
.esun-resin__explore:focus {
color: #0c914c;
text-decoration: none;
}
.esun-resin__explore span {
font-size: 18px;
line-height: 1;
}
.esun-resin__banner {
background-color: #e3f7fb;
background-position: left center;
background-repeat: no-repeat;
background-size: auto 100%;
border-radius: 40px;
min-height: 445px;
overflow: hidden;
padding: 42px 42px 42px 42%;
}
.esun-resin__products {
display: grid;
gap: 16px;
grid-template-columns: repeat(2, minmax(330px, 1fr));
list-style: none;
margin: 0;
overflow-x: auto;
padding: 0 0 3px;
}
.esun-resin__card {
background: #fff;
border-radius: 24px;
display: grid;
grid-template-columns: 130px minmax(0, 1fr);
min-height: 174px;
overflow: hidden;
padding: 22px 22px 22px 28px;
}
.esun-resin__image {
align-self: center;
display: block;
height: 130px;
overflow: hidden;
border-radius: 10px;
position: relative;
}
.esun-resin__image .product-image-container,
.esun-resin__image .product-image-wrapper {
height: 100%;
width: 100% !important;
}
.esun-resin__image .product-image-wrapper {
padding-bottom: 0 !important;
}
.esun-resin__image .product-image-photo {
height: 100%;
inset: 0;
margin: auto;
max-height: none;
object-fit: cover;
position: absolute;
width: 100%;
}
.esun-resin__details {
display: flex;
flex-direction: column;
min-width: 0;
padding: 2px 0 0 22px;
}
.esun-resin__details h3 {
font-size: 18px;
font-weight: 600;
margin: 0 0 10px;
}
.esun-resin__details h3 a {
color: #333;
text-decoration: none;
}
.esun-resin__details h3 a:hover,
.esun-resin__details h3 a:focus {
color: var(--resin-green);
text-decoration: none;
}
.esun-resin__description {
color: #252525;
display: -webkit-box;
font-size: 13px;
line-height: 1.25;
margin: 0 0 8px;
overflow: hidden;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}
.esun-resin__price {
align-items: baseline;
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.esun-resin__final-price {
color: var(--resin-green);
font-size: 22px;
font-weight: 600;
}
.esun-resin__regular-price {
color: #98a5ae;
font-size: 14px;
text-decoration: line-through;
}
.esun-resin__footer {
align-items: center;
display: flex;
justify-content: space-between;
margin-top: auto;
min-height: 40px;
padding-top: 10px;
}
.esun-resin__swatches {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 8px;
min-width: 0;
}
.esun-resin__swatch {
background: #fff;
border: 1px solid #cfcfcf;
border-radius: 50%;
display: inline-flex;
height: 16px;
overflow: hidden;
padding: 1px;
width: 16px;
}
.esun-resin__swatch > span,
.esun-resin__swatch img {
border-radius: 50%;
height: 100%;
object-fit: cover;
width: 100%;
}
.esun-resin__swatch-more {
color: #a4a4a4;
font-size: 12px;
line-height: 16px;
}
.esun-resin__cart {
align-items: center;
background: var(--resin-green);
border-radius: 50%;
color: #fff !important;
display: inline-flex;
flex: 0 0 40px;
height: 40px;
justify-content: center;
margin-left: 12px;
text-decoration: none;
width: 40px;
}
.esun-resin__cart:hover,
.esun-resin__cart:focus {
background: #0c914c;
color: #fff;
text-decoration: none;
}
.esun-resin__cart svg {
fill: none;
height: 20px;
stroke: currentColor;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.7;
width: 20px;
}
.esun-resin__visually-hidden {
clip: rect(0, 0, 0, 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
@media (max-width: 1199px) {
.esun-resin__banner {
padding-left: 34%;
}
.esun-resin__products {
grid-template-columns: repeat(2, minmax(360px, 1fr));
}
}
@media (max-width: 899px) {
.esun-resin__banner {
padding-left: 28%;
}
}
@media (max-width: 992px) {
.esun-resin {
margin-top: 48px;
padding: 0 15px;
}
.esun-resin__heading {
align-items: center;
margin-bottom: 42px;
}
.esun-resin__heading h2 {
font-size: 28px;
letter-spacing: 3px;
}
.esun-resin__explore {
font-size: 13px;
gap: 7px;
margin-top: 0;
}
.esun-resin__banner {
background-position: center left;
background-size: cover;
border-radius: 28px;
min-height: 0;
padding: clamp(170px, 30vw, 205px) 0 28px 30px;
}
.esun-resin__products {
display: grid;
gap: 28px;
grid-auto-columns: min(466px, calc(100vw - 90px));
grid-auto-flow: column;
grid-template-columns: none;
grid-template-rows: repeat(2, minmax(0, 1fr));
overscroll-behavior-inline: contain;
padding-right: 30px;
scrollbar-width: none;
scroll-snap-type: x proximity;
-webkit-overflow-scrolling: touch;
}
.esun-resin__products::-webkit-scrollbar {
display: none;
}
.esun-resin__item {
min-width: 0;
scroll-snap-align: start;
}
.esun-resin__card {
grid-template-columns: clamp(105px, 24vw, 155px) minmax(0, 1fr);
height: 100%;
min-height: clamp(160px, 30vw, 205px);
padding: clamp(16px, 3vw, 22px);
}
.esun-resin__image {
height: clamp(115px, 23vw, 155px);
}
.esun-resin__details {
padding-left: clamp(14px, 3vw, 22px);
}
.esun-resin__details h3 {
font-size: clamp(18px, 3.6vw, 24px);
margin-bottom: 5px;
}
.esun-resin__description {
font-size: clamp(13px, 2.5vw, 17px);
margin-bottom: 6px;
}
.esun-resin__final-price {
font-size: clamp(20px, 3.6vw, 24px);
}
.esun-resin__regular-price {
font-size: clamp(12px, 2.3vw, 15px);
}
.esun-resin__footer {
padding-top: 7px;
}
.esun-resin__swatches {
flex-wrap: nowrap;
gap: clamp(6px, 1.6vw, 10px);
overflow: hidden;
}
.esun-resin__swatch {
flex: 0 0 clamp(18px, 4.5vw, 32px);
height: clamp(18px, 4.5vw, 32px);
width: clamp(18px, 4.5vw, 32px);
}
.esun-resin__cart {
flex-basis: clamp(40px, 7.5vw, 54px);
height: clamp(40px, 7.5vw, 54px);
margin-left: 8px;
width: clamp(40px, 7.5vw, 54px);
}
}