превью относительно готово

This commit is contained in:
Alisa
2026-06-05 19:24:57 +03:00
parent c08519263c
commit 98987b5355
5 changed files with 227 additions and 47 deletions
+124 -35
View File
@@ -247,6 +247,15 @@ body {
flex: 0 0 auto;
}
.mega-item::after {
position: absolute;
top: 100%;
right: -12px;
left: -12px;
height: 14px;
content: "";
}
.mega-root {
display: inline-flex;
align-items: center;
@@ -274,30 +283,31 @@ body {
.mega-submenu {
position: absolute;
top: 100%;
top: calc(100% + 8px);
left: 0;
z-index: 30;
width: 300px;
max-height: 72vh;
width: min(760px, calc(100vw - 32px));
max-height: min(74vh, 680px);
margin: 0;
padding: 12px 10px 10px;
padding: 14px;
border: 1px solid var(--line);
border-radius: 8px;
border-radius: 10px;
list-style: none;
background: var(--paper);
box-shadow: 0 22px 60px rgba(23, 61, 44, 0.14);
overflow: visible;
box-shadow: 0 26px 70px rgba(23, 61, 44, 0.18);
overflow: auto;
opacity: 0;
visibility: hidden;
transform: translateY(6px);
pointer-events: none;
transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.mega-item:hover > .mega-submenu,
.mega-item:focus-within > .mega-submenu {
display: grid;
gap: 4px;
display: block;
columns: 3 190px;
column-gap: 14px;
opacity: 1;
visibility: visible;
transform: translateY(0);
@@ -306,11 +316,16 @@ body {
.mega-submenu li {
position: relative;
break-inside: avoid;
margin: 0 0 4px;
border-bottom: 1px solid #edf1e9;
padding-bottom: 4px;
}
.mega-submenu a {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 32px;
border-radius: 7px;
padding: 7px 9px;
@@ -327,11 +342,29 @@ body {
.mega-submenu.depth-2,
.mega-submenu.depth-3 {
top: -10px;
top: 0;
left: calc(100% + 8px);
width: min(620px, calc(100vw - 32px));
max-height: min(70vh, 560px);
overflow: auto;
columns: 2 180px;
transform: translateX(8px);
}
.mega-submenu li:has(> .mega-submenu) > a::after {
flex: 0 0 auto;
margin-left: 10px;
color: #9aa894;
content: "";
}
.mega-submenu li:has(> .mega-submenu)::after {
position: absolute;
top: -8px;
bottom: -8px;
left: 100%;
max-height: min(70vh, 520px);
overflow: visible;
transform: translateX(6px);
width: 14px;
content: "";
}
.mega-item:nth-last-child(-n+3) > .mega-submenu {
@@ -348,8 +381,7 @@ body {
.mega-submenu li:hover > .mega-submenu,
.mega-submenu li:focus-within > .mega-submenu {
display: grid;
gap: 4px;
display: block;
opacity: 1;
visibility: visible;
transform: translateX(0);
@@ -1081,21 +1113,23 @@ a:hover {
}
.product-card .product-category {
display: flex;
align-items: flex-start;
display: -webkit-box;
overflow: hidden;
height: 32px;
margin-bottom: 8px;
font-size: 12px;
line-height: 1.2;
font-weight: 700;
text-transform: uppercase;
color: #7a856f;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.product-card h3 {
display: -webkit-box;
overflow: hidden;
min-height: 50px;
height: 58px;
margin-bottom: 12px;
line-height: 1.22;
-webkit-line-clamp: 3;
@@ -1103,31 +1137,51 @@ a:hover {
}
.price-line {
display: flex;
flex-wrap: wrap;
gap: 4px 6px;
align-items: baseline;
min-height: 22px;
margin-bottom: 6px;
font-size: 14px;
color: #2d372f;
}
.package-price-line {
position: relative;
display: grid;
grid-template-columns: minmax(0, 1fr) auto 22px;
gap: 6px;
align-items: center;
min-height: 30px;
margin-bottom: 6px;
font-size: 14px;
color: #2d372f;
}
.price-unit-label {
overflow: hidden;
min-width: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
.price-unit-values {
display: inline-flex;
gap: 6px;
align-items: baseline;
justify-content: flex-end;
min-width: 0;
color: var(--brand-green);
white-space: nowrap;
}
.package-price-line {
position: relative;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 6px;
align-items: center;
min-height: 36px;
border-top: 1px solid #e3e8de;
padding-top: 10px;
font-size: 14px;
}
.package-price-label {
overflow: hidden;
min-width: 0;
color: #2d372f;
text-overflow: ellipsis;
white-space: nowrap;
}
.package-price-values {
@@ -1160,9 +1214,10 @@ a:hover {
.variant-choice {
display: grid;
grid-template-rows: auto 34px;
align-self: start;
gap: 7px;
min-height: 76px;
height: 76px;
margin: 0 0 12px;
border-top: 0;
border-bottom: 1px solid #edf1e9;
@@ -1177,14 +1232,19 @@ a:hover {
.variant-choice-list {
display: flex;
flex-wrap: wrap;
flex-wrap: nowrap;
gap: 6px;
align-items: flex-start;
min-height: 32px;
min-width: 0;
min-height: 34px;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: thin;
}
.variant-choice-button {
appearance: none;
flex: 0 0 auto;
max-width: 100%;
box-sizing: border-box;
min-height: 30px;
@@ -1230,6 +1290,13 @@ a:hover {
background: #102f21;
}
.add-to-cart-button.is-added {
color: #102f21;
background: #dcebd3;
box-shadow: inset 0 0 0 2px var(--brand-green), 0 0 0 4px rgba(23, 61, 44, 0.12);
transform: translateY(-1px);
}
.product-card-actions {
display: grid;
grid-template-columns: minmax(96px, 0.44fr) minmax(0, 1fr);
@@ -1334,7 +1401,7 @@ body[data-payment-mode="cash"] .price-tier-trigger {
transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}
body[data-payment-mode="cash"] .package-price-line:has(.price-tier-trigger:hover) + .price-tier-popover,
body[data-payment-mode="cash"] .price-line:has(.price-tier-trigger:hover) ~ .price-tier-popover,
body[data-payment-mode="cash"] .price-tier-popover:hover {
opacity: 1;
visibility: visible;
@@ -1628,6 +1695,26 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
font-size: 18px;
}
.cart-summary-saving {
border: 1px solid rgba(23, 61, 44, 0.16);
border-radius: 8px;
padding: 12px;
color: var(--brand-green);
background: #eef6e9;
}
.cart-summary-saving dt {
font-size: 16px;
font-weight: 900;
color: var(--brand-green);
}
.cart-summary-saving dd {
font-size: 26px;
line-height: 1;
color: var(--brand-red);
}
.cart-summary p {
font-size: 14px;
color: var(--muted);
@@ -2381,6 +2468,7 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
.mega-submenu {
width: min(320px, calc(100vw - 32px));
columns: 1;
}
.mega-submenu.depth-2,
@@ -2389,6 +2477,7 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
width: 100%;
max-height: none;
margin-top: 4px;
columns: 1;
box-shadow: none;
}