доставка в плавающем

This commit is contained in:
Alisa
2026-06-08 10:58:47 +03:00
parent 3a065b34d6
commit 256afcbb80
18 changed files with 1478 additions and 187 deletions
+517 -58
View File
@@ -1662,8 +1662,8 @@ a:hover {
.home-catalog-showcase {
display: grid;
gap: 16px;
margin-top: 24px;
gap: 18px;
margin-top: 28px;
}
.home-catalog-heading,
@@ -1675,18 +1675,18 @@ a:hover {
}
.home-catalog-heading {
border: 1px solid rgba(13, 93, 128, 0.12);
border-radius: 16px;
padding: clamp(16px, 2vw, 24px);
border: 1px solid rgba(13, 93, 128, 0.16);
border-radius: 12px;
padding: clamp(16px, 2vw, 22px);
background:
linear-gradient(135deg, rgba(13, 93, 128, 0.08), rgba(255, 255, 255, 0.78) 58%),
linear-gradient(135deg, rgba(13, 93, 128, 0.1), rgba(255, 255, 255, 0.82) 58%),
#fffefa;
box-shadow: 0 14px 36px rgba(22, 60, 43, 0.06);
box-shadow: 0 14px 34px rgba(22, 60, 43, 0.055);
}
.home-catalog-heading h2 {
margin: 0;
font-size: clamp(26px, 2.45vw, 36px);
font-size: clamp(24px, 2.2vw, 34px);
line-height: 1.05;
}
@@ -1717,15 +1717,15 @@ a:hover {
.home-product-section {
position: relative;
display: grid;
gap: 14px;
gap: 12px;
overflow: hidden;
padding: clamp(14px, 1.8vw, 22px);
padding: clamp(12px, 1.6vw, 18px);
border: 1px solid rgba(19, 66, 45, 0.12);
border-radius: 14px;
border-radius: 12px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 254, 250, 0.96)),
#fff;
box-shadow: 0 16px 44px rgba(22, 60, 43, 0.08);
box-shadow: 0 12px 34px rgba(22, 60, 43, 0.06);
}
.home-product-section::after {
@@ -1755,7 +1755,7 @@ a:hover {
.home-product-section-head h3 {
margin: 0;
font-size: clamp(22px, 2vw, 30px);
font-size: clamp(20px, 1.75vw, 28px);
line-height: 1.05;
}
@@ -1809,8 +1809,8 @@ a:hover {
.home-products-strip {
display: grid;
grid-auto-flow: column;
grid-auto-columns: clamp(250px, 18vw, 286px);
gap: 14px;
grid-auto-columns: clamp(218px, 15.5vw, 250px);
gap: 12px;
overflow-x: hidden;
overflow-y: visible;
margin-inline: -2px;
@@ -1828,9 +1828,9 @@ a:hover {
.home-products-strip .product-card {
min-width: 0;
padding: 12px;
padding: 10px;
border-color: rgba(19, 66, 45, 0.1);
box-shadow: 0 12px 26px rgba(22, 60, 43, 0.055);
box-shadow: 0 10px 22px rgba(22, 60, 43, 0.05);
scroll-snap-align: start;
}
@@ -1844,20 +1844,20 @@ a:hover {
}
.home-products-strip .product-card .product-category {
height: 26px;
height: 24px;
margin-bottom: 6px;
font-size: 10px;
font-size: 9px;
}
.home-products-strip .product-card h3 {
height: 54px;
height: 48px;
margin-bottom: 10px;
font-size: 15px;
line-height: 1.18;
font-size: 14px;
line-height: 1.15;
}
.home-products-strip .variant-choice {
height: 64px;
height: 58px;
grid-template-rows: auto 30px;
gap: 5px;
margin-bottom: 8px;
@@ -1867,7 +1867,7 @@ a:hover {
.home-products-strip .variant-choice > span,
.home-products-strip .price-line,
.home-products-strip .package-price-line {
font-size: 12px;
font-size: 11px;
}
.home-products-strip .package-price-note {
@@ -1875,18 +1875,18 @@ a:hover {
}
.home-products-strip .price-line {
grid-template-columns: 1fr;
gap: 2px;
align-items: start;
min-height: 42px;
grid-template-columns: minmax(0, 1fr) auto;
gap: 5px;
align-items: center;
min-height: 32px;
margin-bottom: 5px;
}
.home-products-strip .package-price-line {
grid-template-columns: 1fr;
gap: 2px;
align-items: start;
min-height: 50px;
grid-template-columns: minmax(0, 1fr) auto;
gap: 5px;
align-items: center;
min-height: 42px;
padding-top: 8px;
}
@@ -1896,14 +1896,14 @@ a:hover {
color: #546251;
font-size: 11px;
line-height: 1.2;
text-overflow: clip;
white-space: normal;
text-overflow: ellipsis;
white-space: nowrap;
}
.home-products-strip .price-unit-values,
.home-products-strip .package-price-values {
justify-content: flex-start;
font-size: 13px;
justify-content: flex-end;
font-size: 12px;
line-height: 1.2;
}
@@ -1930,7 +1930,7 @@ a:hover {
}
.home-products-strip .product-card-actions {
grid-template-columns: 84px minmax(104px, 1fr);
grid-template-columns: 84px minmax(92px, 1fr);
min-height: 38px;
}
@@ -2934,11 +2934,16 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
width: min(var(--page-max), 100%);
margin: 0 auto;
display: grid;
grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
gap: 18px;
grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
gap: 22px;
align-items: start;
}
.product-detail > .panel {
border-color: rgba(23, 61, 44, 0.12);
box-shadow: 0 18px 48px rgba(23, 61, 44, 0.08);
}
.product-gallery img {
display: block;
width: 100%;
@@ -2946,6 +2951,11 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
object-fit: cover;
}
.product-gallery > img {
aspect-ratio: 1 / 0.82;
background: #f4f6f1;
}
.product-thumbs {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
@@ -2969,7 +2979,11 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
}
.product-detail-main h1 {
margin-top: 0;
max-width: 820px;
margin: 0;
font-size: clamp(32px, 4vw, 58px);
line-height: 0.98;
letter-spacing: 0;
}
.product-lead {
@@ -2978,6 +2992,26 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
color: var(--muted);
}
.product-detail-notes {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
margin: 18px 0;
}
.product-detail-notes span {
display: flex;
align-items: center;
min-height: 48px;
padding: 10px 12px;
border: 1px solid #dbe6d7;
border-radius: 8px;
color: #143c2a;
background: linear-gradient(135deg, #f4f8ef 0%, #ffffff 100%);
font-size: 13px;
font-weight: 900;
}
.variant-list {
display: grid;
gap: 10px;
@@ -2985,41 +3019,124 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
}
.variant-list h2 {
margin-bottom: 2px;
margin: 0 0 2px;
}
.variant-row {
position: relative;
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(130px, 0.7fr) minmax(110px, 0.55fr) minmax(220px, 0.75fr);
gap: 12px;
align-items: center;
border: 1px solid var(--line);
grid-template-columns: minmax(130px, 0.55fr) minmax(260px, 1fr) minmax(220px, 0.68fr);
gap: 14px;
align-items: stretch;
border: 1px solid #dbe6d7;
border-radius: 8px;
padding: 12px;
background: #f8faf5;
padding: 14px;
background: #fbfcf7;
}
.variant-row-head {
display: grid;
align-content: start;
gap: 7px;
min-width: 0;
}
.variant-row-head span {
color: var(--muted);
font-size: 12px;
font-weight: 900;
}
.variant-row-head strong {
min-height: 32px;
color: var(--brand-green);
font-size: 18px;
line-height: 1.08;
}
.variant-row-prices {
position: relative;
display: grid;
align-content: start;
gap: 6px;
min-width: 0;
padding-top: 1px;
}
.variant-row .price-line,
.variant-row .package-price-line {
min-height: 32px;
margin: 0;
padding: 0;
border: 0;
}
.variant-row .package-price-note {
min-height: 16px;
}
.variant-row .price-unit-label,
.variant-row .package-price-label {
white-space: normal;
}
.variant-row .price-unit-values,
.variant-row .package-price-values {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 5px;
min-width: 118px;
}
.variant-row .product-card-actions {
align-self: end;
display: grid;
grid-template-columns: minmax(108px, 0.62fr) minmax(118px, 0.78fr);
gap: 10px;
margin-top: 0;
}
.variant-row b {
display: grid;
gap: 3px;
color: var(--brand-green);
text-align: right;
}
.variant-row b small {
font-size: 12px;
font-weight: 700;
color: var(--muted);
.variant-row .quantity-stepper button,
.variant-row .quantity-stepper input {
min-height: 42px;
}
.variant-row .add-to-cart-button {
min-height: 42px;
margin-top: 0;
}
.variant-row .price-tier-popover {
inset: auto 0 calc(100% + 10px) 0;
max-width: 430px;
margin-left: auto;
}
body[data-payment-mode="cash"] .variant-row .price-line:has(.price-tier-trigger:hover) ~ .price-tier-popover,
body[data-payment-mode="cash"] .variant-row .package-price-line:has(.price-tier-trigger:hover) ~ .price-tier-popover,
body[data-payment-mode="cash"] .variant-row .price-tier-popover:hover {
opacity: 1;
visibility: visible;
transform: translateY(0);
pointer-events: auto;
}
.product-detail-preorder {
margin: 18px 0 0;
padding: 12px 14px;
border-left: 4px solid var(--brand-red);
border-radius: 0 8px 8px 0;
color: #355141;
background: #f6f1e8;
font-size: 14px;
line-height: 1.45;
}
.product-detail-main .eyebrow {
margin-bottom: 10px;
}
.cart-page {
width: min(var(--page-max), 100%);
margin: 0 auto;
@@ -3057,6 +3174,14 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
background: #fff8f4;
}
.cart-live-notice {
border-color: rgba(23, 61, 44, 0.16);
border-left-color: var(--brand-green);
margin-top: 10px;
color: #486050;
background: #f6fbf3;
}
.cart-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(300px, 0.36fr);
@@ -3162,6 +3287,44 @@ body[data-payment-mode="cash"] .price-tier-popover:hover {
font-size: 16px;
}
.cart-row-states {
display: flex;
flex-wrap: wrap;
gap: 6px;
min-height: 24px;
margin-bottom: 4px;
}
.cart-row-states:empty {
display: none;
}
.cart-row-state {
display: inline-flex;
align-items: center;
min-height: 22px;
border-radius: 999px;
padding: 4px 8px;
font-size: 11px;
font-weight: 950;
line-height: 1;
}
.cart-row-state.is-price-drop {
color: #14623b;
background: #dff4dc;
}
.cart-row-state.is-package-change {
color: #7b471a;
background: #f9e4c6;
}
.cart-row-state.is-unavailable {
color: #6b2b23;
background: #f5d7d1;
}
.cart-row-main p {
margin: 0;
font-size: 14px;
@@ -3661,6 +3824,14 @@ body[data-payment-mode="invoice"] .cart-invoice-details {
margin-bottom: 0;
}
.catalog-heading-lead {
max-width: 820px;
margin: 10px 0 0;
color: var(--muted);
font-size: 15px;
line-height: 1.55;
}
.payment-benefit-banner {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(260px, 0.38fr);
@@ -4665,6 +4836,10 @@ body[data-payment-mode="invoice"] .invoice-benefit-banner {
grid-template-columns: 1fr;
}
.product-detail-notes {
grid-template-columns: 1fr;
}
.hero-media {
min-height: 240px;
}
@@ -4971,6 +5146,26 @@ body[data-payment-mode="invoice"] .invoice-benefit-banner {
.variant-row {
grid-template-columns: 1fr;
gap: 12px;
}
.variant-row-head strong {
min-height: 0;
}
.variant-row .price-unit-values,
.variant-row .package-price-values {
justify-content: flex-start;
min-width: 0;
}
.variant-row .price-tier-popover {
inset: auto 0 calc(100% + 8px) 0;
max-width: none;
}
.variant-row .product-card-actions {
grid-template-columns: 1fr;
}
.product-card-actions {
@@ -5005,3 +5200,267 @@ body[data-payment-mode="invoice"] .invoice-benefit-banner {
width: 100%;
}
}
/* Final overrides for the current step. Keep this block at the end of the file. */
.start-screen.wide {
display: flex;
flex-direction: column;
}
.start-screen.wide > .home-value-system { order: 1; }
.start-screen.wide > .home-catalog-showcase { order: 2; margin-top: clamp(18px, 2.4vw, 28px); }
.start-screen.wide > .audience-system { order: 3; }
.start-screen.wide > .price-request-panel { order: 4; }
.start-screen.wide > .warehouse-showcase { order: 5; }
.start-screen.wide > .wishlist-request-panel { order: 6; }
.start-screen.wide > .home-delivery-summary { order: 7; }
.start-screen.wide > .status-box { order: 8; }
.home-delivery-summary {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
gap: clamp(18px, 3vw, 34px);
align-items: center;
border: 1px solid rgba(13, 93, 128, 0.18);
border-radius: 14px;
padding: clamp(22px, 4vw, 42px);
background:
radial-gradient(circle at 86% 20%, rgba(13, 93, 128, 0.18), transparent 30%),
linear-gradient(135deg, #fffdf6 0%, #eef6f4 56%, #eaf3e8 100%);
box-shadow: 0 24px 60px rgba(22, 60, 43, 0.08);
}
.home-delivery-summary h2 {
max-width: 780px;
margin: 0 0 12px;
color: var(--brand-green);
font-size: clamp(26px, 3.1vw, 44px);
line-height: 1.02;
}
.home-delivery-summary p:not(.eyebrow) {
max-width: 720px;
margin: 0;
color: var(--muted);
font-size: clamp(15px, 1.35vw, 18px);
line-height: 1.55;
}
.home-delivery-benefits {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
.home-delivery-benefits article {
min-height: 142px;
border: 1px solid rgba(19, 66, 45, 0.12);
border-radius: 12px;
padding: 16px;
background: rgba(255, 255, 255, 0.72);
}
.home-delivery-benefits span {
display: block;
margin-bottom: 10px;
color: var(--muted);
font-size: 12px;
font-weight: 900;
text-transform: uppercase;
}
.home-delivery-benefits strong {
display: block;
margin-bottom: 8px;
color: var(--brand-red);
font-size: clamp(24px, 2.5vw, 34px);
line-height: 1;
}
.home-delivery-benefits p {
font-size: 13px !important;
line-height: 1.35 !important;
}
.home-delivery-summary > .primary-button {
justify-self: start;
}
.home-catalog-showcase .home-catalog-heading {
padding: clamp(12px, 1.5vw, 18px);
}
.home-catalog-showcase .home-catalog-heading h2 {
font-size: clamp(24px, 2.4vw, 38px);
}
.home-products-strip {
grid-auto-columns: clamp(252px, 18.5vw, 292px);
gap: 14px;
overflow-x: hidden;
scrollbar-width: none;
}
.home-products-strip .product-card {
min-height: 548px;
padding: 12px;
}
.home-products-strip .product-card h3 {
height: 58px;
font-size: 15px;
line-height: 1.2;
}
.home-products-strip .price-line,
.home-products-strip .package-price-line {
grid-template-columns: minmax(88px, 1fr) auto auto;
min-height: 30px;
overflow: visible;
font-size: 12px;
}
.home-products-strip .quantity-control {
grid-template-columns: 34px 34px 34px;
}
.home-products-strip .add-to-cart-button {
min-width: 84px;
}
.catalog-content {
display: flex;
flex-direction: column;
gap: 12px;
}
.catalog-content > .catalog-heading {
order: 1;
margin-bottom: 0;
padding: clamp(14px, 1.7vw, 20px);
}
.catalog-content > .catalog-heading h1 {
font-size: clamp(28px, 3vw, 42px);
}
.catalog-content > .catalog-search-result-panel {
order: 2;
margin-bottom: 0;
padding: 14px 16px;
}
.catalog-content > .catalog-search-result-panel h2 {
margin: 0 0 4px;
font-size: clamp(18px, 1.7vw, 24px);
}
.catalog-content > .catalog-search-result-panel p:not(.eyebrow) {
margin: 0;
font-size: 14px;
}
.catalog-content > .catalog-count-panel { order: 3; }
.catalog-content > .catalog-product-grid,
.catalog-content > .panel { order: 4; }
.catalog-content > .catalog-pagination { order: 5; }
.catalog-content > .payment-benefit-banner {
order: 6;
grid-template-columns: minmax(0, 1fr) minmax(210px, 0.28fr);
margin: 8px 0 0;
padding: clamp(16px, 2vw, 22px);
}
.catalog-content > .payment-benefit-banner .cash-benefit-copy h2 {
font-size: clamp(22px, 2.1vw, 30px);
}
.catalog-content > .payment-benefit-banner .cash-benefit-copy p:not(.eyebrow) {
font-size: 14px;
}
.catalog-content > .catalog-seo-panel { order: 7; }
.delivery-vehicle-visual {
display: block;
overflow: hidden;
border-radius: 12px;
margin: 0 0 18px;
background: #eaf4f0;
box-shadow: inset 0 0 0 1px rgba(19, 66, 45, 0.08);
}
.delivery-vehicle-visual img {
display: block;
width: 100%;
aspect-ratio: 16 / 8;
object-fit: cover;
}
.calculator-submit {
align-self: end;
min-height: 44px;
}
.route-actions {
display: inline-flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
justify-content: flex-end;
}
.cart-delivery-options label,
.cart-lift-label,
.checkbox-label {
cursor: pointer;
}
.cart-lift-label {
min-height: 48px;
align-content: center;
border: 1px solid #cfd8c9;
border-radius: 10px;
padding: 12px 14px;
background: #ffffff;
transition: border-color 0.16s ease, background 0.16s ease;
}
.cart-lift-label:hover,
.cart-lift-label:has(input:checked) {
border-color: var(--brand-green);
background: #f0f7ef;
}
@media (max-width: 1024px) {
.home-delivery-summary,
.catalog-content > .payment-benefit-banner {
grid-template-columns: 1fr;
}
.home-delivery-benefits {
grid-template-columns: repeat(3, minmax(160px, 1fr));
overflow-x: auto;
padding-bottom: 4px;
}
}
@media (max-width: 720px) {
.home-products-strip {
grid-auto-columns: minmax(248px, 82vw);
}
.home-product-section-head,
.home-catalog-heading {
align-items: flex-start;
}
.home-delivery-benefits {
grid-template-columns: 1fr;
}
.catalog-content > .catalog-heading {
padding: 14px;
}
}