* { box-sizing: border-box; } html, body { max-width: 100%; overflow-x: hidden; } img, iframe { max-width: 100%; } :root { --page-max: 1440px; --page-gap: 24px; --panel-radius: 8px; --brand-green: #173d2c; --brand-green-2: #27634a; --brand-red: #c43d31; --brand-red-soft: #fff2ef; --ink: #17211c; --muted: #657469; --line: #dfe5da; --paper: #fffefa; --wash: #f4f6ef; --shadow-soft: 0 12px 30px rgba(23, 61, 44, 0.06); } body { margin: 0; min-height: 100vh; font-family: "Segoe UI", Arial, sans-serif; color: var(--ink); background: linear-gradient(180deg, #ffffff 0, var(--wash) 360px), var(--wash); } .site-topbar { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(255, 254, 250, 0.96); box-shadow: 0 10px 30px rgba(23, 61, 44, 0.06); backdrop-filter: blur(14px); } .site-topbar-inner { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); display: grid; grid-template-columns: minmax(230px, 340px) minmax(360px, 1fr) minmax(260px, 340px); gap: 24px; align-items: center; margin: 0 auto; padding: 10px 0; } .brand-link { display: inline-flex; align-items: center; width: fit-content; font-size: 22px; font-weight: 800; color: var(--ink); } .brand-link:hover { text-decoration: none; } .brand-link img, .brand-link svg { display: block; width: clamp(220px, 20vw, 330px); height: auto; } .brand-link small { max-width: 190px; font-size: 11px; font-weight: 700; line-height: 1.25; color: var(--brand-green); } .brand-link > span > span { color: var(--brand-red); } .main-nav { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; font-size: 14px; font-weight: 700; } .main-nav a { display: inline-flex; align-items: center; min-height: 34px; border-radius: 999px; padding: 8px 13px; color: #243229; } .main-nav a:hover { background: #eef4ea; color: var(--brand-green); text-decoration: none; } .topbar-contacts { display: grid; gap: 4px; justify-items: end; font-size: 12px; line-height: 1.35; color: var(--muted); } .topbar-contacts a { font-size: 17px; font-weight: 800; color: var(--brand-green); } .smart-search-bar { border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgba(23, 61, 44, 0.05), rgba(196, 61, 49, 0.05)), var(--paper); } .smart-search-inner { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); margin: 0 auto; padding: 14px 0; } .smart-search-form { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 16px; align-items: center; } .smart-search-label { font-size: 18px; font-weight: 900; color: var(--brand-green); } .smart-search-control { display: grid; grid-template-columns: minmax(0, 1fr) 76px auto; gap: 8px; align-items: center; border: 1px solid #cdd8c7; border-radius: 8px; padding: 7px; background: #ffffff; box-shadow: 0 14px 34px rgba(23, 61, 44, 0.08); } .smart-search-control input { width: 100%; min-height: 46px; border: 0; padding: 0 10px; font: inherit; font-size: 17px; outline: none; background: transparent; } .voice-search-button, .smart-search-submit { min-height: 46px; border: 0; border-radius: 8px; font: inherit; font-weight: 900; cursor: pointer; } .voice-search-button { padding: 0 12px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; background: #f2f6ee; } .voice-search-button:hover { background: #e7efe2; } .voice-search-button.is-listening { color: #ffffff; background: var(--brand-red); } .smart-search-submit { padding: 0 20px; color: #ffffff; background: var(--brand-green); } .smart-search-submit:hover { background: #102f21; } .smart-search-form p { grid-column: 2; margin: 0; font-size: 13px; color: var(--muted); } .category-mega-bar { position: relative; z-index: 19; border-top: 1px solid rgba(48, 110, 132, 0.12); border-bottom: 1px solid rgba(48, 110, 132, 0.18); background: radial-gradient(circle at 10% 0, rgba(92, 154, 176, 0.18), transparent 34%), linear-gradient(135deg, rgba(227, 241, 245, 0.96), rgba(250, 252, 247, 0.98) 42%, rgba(234, 244, 239, 0.96)); backdrop-filter: blur(14px); box-shadow: inset 0 1px rgba(255, 255, 255, 0.76), 0 12px 34px rgba(28, 76, 88, 0.06); } .category-mega-inner { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; margin: 0 auto; padding: 9px 0; overflow: visible; } @media (min-width: 1200px) { .category-mega-inner { flex-wrap: nowrap; } } .mega-item { position: relative; 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; justify-content: center; gap: 7px; width: auto; min-width: 94px; max-width: 205px; min-height: 38px; border-radius: 999px; border: 1px solid rgba(48, 110, 132, 0.13); padding: 7px 11px 7px 8px; font-size: 11px; line-height: 1.15; font-weight: 850; color: var(--brand-green); text-align: center; white-space: normal; background: rgba(255, 255, 255, 0.72); box-shadow: 0 8px 22px rgba(28, 76, 88, 0.05); } .mega-root > span:last-child { min-width: 0; } .mega-root:hover, .mega-item:focus-within .mega-root, .mega-item:hover .mega-root { background: #edf4ea; text-decoration: none; } .mega-all-link, .mega-virtual-link { min-width: 0; padding: 8px 12px; border: 1px solid rgba(48, 110, 132, 0.18); background: rgba(255, 255, 255, 0.86); } .mega-all-link { color: #fff; background: var(--brand-green); } .mega-virtual-link.is-promo { color: #fff; border-color: var(--brand-red); background: var(--brand-red); } .mega-virtual-link.is-new { color: var(--brand-green); background: #eaf4e7; } .mega-submenu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; width: min(760px, calc(100vw - 32px)); max-height: min(74vh, 680px); margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; list-style: none; background: var(--paper); 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.2s ease, transform 0.2s ease, visibility 0.2s ease; } .mega-item:hover > .mega-submenu, .mega-item:focus-within > .mega-submenu { display: block; columns: 3 190px; column-gap: 14px; opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; } .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; font-size: 13px; font-weight: 750; color: var(--ink); } .mega-submenu a:hover { background: #f2f6ee; color: var(--brand-green); text-decoration: none; } .mega-submenu.depth-2, .mega-submenu.depth-3 { 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%; width: 14px; content: ""; } .mega-item:nth-last-child(-n+3) > .mega-submenu { right: 0; left: auto; } .mega-item:nth-last-child(-n+3) .mega-submenu.depth-2, .mega-item:nth-last-child(-n+3) .mega-submenu.depth-3 { right: 100%; left: auto; transform: translateX(-6px); } .mega-submenu li:hover > .mega-submenu, .mega-submenu li:focus-within > .mega-submenu { display: block; opacity: 1; visibility: visible; transform: translateX(0); pointer-events: auto; } .site-utility { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); display: flex; gap: 14px; align-items: center; margin: 18px auto 0; } .back-button { appearance: none; border: 1px solid #cfd8c9; border-radius: 8px; padding: 10px 12px; font: inherit; font-size: 14px; font-weight: 700; color: var(--brand-green); background: #ffffff; cursor: pointer; } .back-button:hover { border-color: #9fb194; background: #f5f8f1; } .breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; min-width: 0; font-size: 14px; color: var(--muted); } .breadcrumbs a { color: var(--brand-green); } .breadcrumbs-separator { color: #a3ad9d; } .price-mode-bar { border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgba(25, 91, 63, 0.08), rgba(207, 56, 45, 0.05)), rgba(244, 246, 239, 0.96); } .price-mode-inner { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 10px 18px; align-items: center; margin: 0 auto; padding: 12px 0; } .price-mode-inner > span { font-size: 14px; font-weight: 900; color: var(--brand-green); } .price-mode-options { display: flex; flex-wrap: nowrap; gap: 8px; align-items: center; justify-content: center; max-width: 100%; } .price-mode-button { appearance: none; display: inline-flex; gap: 8px; align-items: center; justify-content: center; min-height: 36px; border: 1px solid #cfd8c9; border-radius: 999px; padding: 8px 14px; font: inherit; font-size: 13px; font-weight: 850; color: var(--brand-green); background: #ffffff; cursor: pointer; white-space: nowrap; } .price-mode-button b { display: inline-flex; align-items: center; min-height: 22px; border-radius: 999px; padding: 3px 8px; font-size: 11px; line-height: 1; color: #ffffff; background: var(--brand-red); text-align: center; white-space: nowrap; } .price-mode-button-qr b { max-width: none; line-height: 1; background: var(--brand-green-2); } .price-mode-button-cash { border-color: rgba(25, 91, 63, 0.35); box-shadow: 0 8px 26px rgba(25, 91, 63, 0.10); } .price-mode-button:hover, .price-mode-button.is-active { border-color: var(--brand-green); color: #ffffff; background: var(--brand-green); } .price-mode-button.is-active b { color: var(--brand-red); background: #ffffff; } .page { min-height: 100vh; padding: var(--page-gap) var(--page-gap) 56px; } .primary-link { font-weight: 700; } .start-screen { width: min(var(--page-max), 100%); margin: 0 auto; padding: 32px; border: 1px solid #d9dfd3; border-radius: 8px; background: var(--paper); } .start-screen.wide { width: min(var(--page-max), 100%); margin: 0 auto; border: 0; padding: 0; background: transparent; } .eyebrow { margin: 0 0 8px; font-size: 14px; color: var(--muted); } h1 { margin: 0 0 16px; font-size: 40px; font-weight: 850; line-height: 1.1; } p { font-size: 18px; line-height: 1.55; } h2 { margin: 0 0 16px; font-size: 22px; font-weight: 800; } h3 { margin: 0 0 8px; font-size: 17px; } a { color: var(--brand-green); text-decoration: none; } a:hover { text-decoration: underline; } .status-box { display: flex; gap: 8px; align-items: center; margin-top: 24px; padding: 14px 16px; border-radius: 8px; background: #eef4ea; } .status-box.success { background: #e8f5ec; color: #145a2a; } .status-box.danger { background: #fff0ee; color: #8a1f11; } .primary-button { appearance: none; border: 0; border-radius: 8px; padding: 14px 18px; margin-top: 18px; font-size: 16px; font-weight: 700; color: #ffffff; background: var(--brand-green); cursor: pointer; box-shadow: 0 10px 22px rgba(22, 60, 43, 0.16); } .primary-button:hover { background: #0f2f20; } .secondary-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #b9c6b1; border-radius: 8px; padding: 13px 16px; font-size: 16px; font-weight: 800; color: var(--brand-green); background: var(--paper); } .secondary-button:hover { background: #f5f8f1; text-decoration: none; } .home-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.46fr); gap: 40px; align-items: center; min-height: 340px; padding: 46px 54px; border-radius: 8px; color: var(--ink); border: 1px solid var(--line); background: linear-gradient(90deg, rgba(255, 254, 250, 0.98), rgba(255, 254, 250, 0.92)), var(--paper); box-shadow: 0 22px 60px rgba(23, 61, 44, 0.1); } .hero-copy { min-width: 0; } .hero-media { display: grid; place-items: center; align-self: stretch; min-height: 280px; border: 1px solid #d7dfd1; border-radius: 8px; background: linear-gradient(180deg, rgba(244, 246, 239, 0.86), rgba(255, 254, 250, 1)), var(--wash); } .hero-media img { display: block; width: min(100%, 520px); height: auto; } .storage-status { display: grid; grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(220px, 0.7fr)); gap: 16px; margin-top: 18px; } .arrival-card, .temperature-card { position: relative; overflow: hidden; min-height: 168px; border: 1px solid var(--line); border-radius: 8px; padding: 22px 24px; background: var(--paper); box-shadow: var(--shadow-soft); } .arrival-card { color: #ffffff; background: linear-gradient(90deg, rgba(12, 50, 33, 0.96), rgba(12, 50, 33, 0.72) 58%, rgba(12, 50, 33, 0.42)), var(--home-warehouse-main) center / cover no-repeat, var(--brand-green); } .arrival-card::after, .temperature-card::after { content: ""; position: absolute; right: 18px; bottom: 16px; width: 86px; height: 86px; border-radius: 50%; background: rgba(255, 255, 255, 0.13); } .arrival-card::before { content: "Приемка 04:00-07:00"; position: absolute; right: 18px; top: 18px; z-index: 1; padding: 8px 10px; border: 1px solid rgba(255, 255, 255, 0.26); border-radius: 999px; background: rgba(255, 255, 255, 0.14); font-size: 12px; font-weight: 900; color: #ffffff; backdrop-filter: blur(10px); } .arrival-card span, .temperature-card span { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 850; color: inherit; opacity: 0.78; text-transform: uppercase; letter-spacing: 0.08em; } .arrival-card strong, .temperature-card strong { display: block; font-size: clamp(34px, 4vw, 58px); line-height: 1; } .arrival-card p, .temperature-card p { position: relative; z-index: 1; max-width: 520px; margin: 12px 0 0; color: inherit; opacity: 0.82; } .temperature-card { display: grid; align-content: space-between; color: var(--brand-green); background: radial-gradient(circle at 82% 20%, rgba(30, 95, 132, 0.1), transparent 32%), linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 245, 0.96)); } .temperature-card strong { font-variant-numeric: tabular-nums; } .temperature-card strong span { display: inline; margin: 0; font-size: inherit; font-weight: inherit; opacity: 1; letter-spacing: 0; text-transform: none; } .temperature-card.freezer strong { color: #1e5f84; } .temperature-card.chiller strong { color: var(--brand-green); } .home-hero::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 5px; margin-bottom: 0; border-radius: 999px; background: linear-gradient(90deg, var(--brand-green) 0 64%, var(--brand-red) 64% 100%); } .home-hero h1 { margin-bottom: 12px; color: var(--brand-green); font-size: clamp(46px, 5vw, 74px); letter-spacing: -0.02em; } .home-hero .eyebrow { color: var(--brand-red); font-weight: 800; } .hero-lead { max-width: 820px; margin: 0; font-size: clamp(24px, 2.3vw, 36px); line-height: 1.25; font-weight: 700; } .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; } .hero-points { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; } .hero-points span { display: inline-flex; align-items: center; min-height: 34px; border: 1px solid #d7dfd1; border-radius: 999px; padding: 7px 12px; font-size: 14px; font-weight: 800; color: var(--brand-green); background: #f8faf5; } .hero-button { display: inline-flex; margin-top: 0; background: var(--brand-green); color: #ffffff; } .hero-button:hover { background: #102f21; } .home-value-system, .audience-system { position: relative; overflow: hidden; border: 1px solid rgba(23, 61, 44, 0.12); border-radius: 10px; background: radial-gradient(circle at 88% 8%, rgba(196, 61, 49, 0.08), transparent 28%), linear-gradient(135deg, #fffefa 0%, #f4f7ef 100%); box-shadow: 0 24px 70px rgba(23, 61, 44, 0.12); } .home-value-system { display: grid; grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr); gap: clamp(14px, 2vw, 22px); padding: clamp(18px, 2.7vw, 34px); } .home-value-head { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(10px, 1.8vw, 22px); } .home-value-head .eyebrow, .audience-heading .eyebrow { color: var(--brand-red); font-weight: 900; } .home-value-head h1 { margin: 0 0 16px; color: var(--brand-green); font-size: clamp(50px, 7vw, 92px); line-height: 0.92; letter-spacing: -1px; } .home-value-head > p { max-width: 640px; margin: 0; color: #173d2c; font-size: clamp(19px, 2.1vw, 30px); line-height: 1.25; font-weight: 850; } .home-benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; } .home-benefit-card, .audience-card { position: relative; overflow: hidden; min-width: 0; border-radius: 10px; background-position: center; background-size: cover; box-shadow: 0 16px 38px rgba(23, 61, 44, 0.12); isolation: isolate; } .home-benefit-card { display: flex; align-items: end; min-height: 252px; padding: clamp(18px, 2.2vw, 28px); background-image: var(--benefit-image); color: #ffffff; } .home-benefit-card.is-wide { grid-row: span 2; min-height: 100%; } .home-benefit-card::before, .audience-card::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--benefit-image, var(--audience-image)) center / cover no-repeat; transform: scale(1.02); } .home-benefit-card::after, .audience-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 26, 18, 0.05), rgba(7, 26, 18, 0.78)), linear-gradient(90deg, rgba(7, 26, 18, 0.72), rgba(7, 26, 18, 0.12)); } .home-benefit-card > div, .audience-card { min-width: 0; } .home-benefit-card span, .audience-card span { display: inline-flex; align-items: center; min-height: 30px; margin-bottom: 10px; border-radius: 999px; padding: 6px 10px; background: rgba(255, 254, 250, 0.92); color: var(--brand-green); font-size: 12px; font-weight: 900; } .home-benefit-card h2 { max-width: 620px; margin: 0 0 10px; color: #ffffff; font-size: clamp(24px, 2.6vw, 42px); line-height: 1.02; text-shadow: 0 3px 22px rgba(0, 0, 0, 0.22); } .home-benefit-card p { max-width: 560px; margin: 0; color: rgba(255, 255, 255, 0.92); font-size: clamp(15px, 1.25vw, 18px); line-height: 1.45; font-weight: 650; } .audience-system { display: grid; grid-template-columns: minmax(270px, 0.74fr) minmax(0, 1.26fr); gap: clamp(14px, 2vw, 22px); margin-top: 18px; padding: clamp(18px, 2.7vw, 34px); } .audience-heading { align-self: center; min-width: 0; } .audience-heading h2 { max-width: 600px; margin: 0 0 12px; color: var(--brand-green); font-size: clamp(30px, 3.9vw, 58px); line-height: 1.02; } .audience-heading p:last-child { max-width: 560px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.48; } .audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; min-width: 0; } .audience-card { display: flex; min-height: 360px; padding: 20px; color: #ffffff; flex-direction: column; justify-content: end; background-image: var(--audience-image); } .audience-card h3 { margin: 0 0 10px; color: #ffffff; font-size: clamp(20px, 1.7vw, 28px); line-height: 1.08; text-shadow: 0 3px 18px rgba(0, 0, 0, 0.22); } .audience-card p { margin: 0; color: rgba(255, 255, 255, 0.92); font-size: 15px; line-height: 1.45; font-weight: 650; } .home-carousel { position: relative; overflow: hidden; min-height: clamp(390px, 42vw, 560px); border: 1px solid rgba(23, 61, 44, 0.12); border-radius: 8px; background: var(--brand-green); box-shadow: 0 24px 70px rgba(23, 61, 44, 0.16); isolation: isolate; } .home-carousel::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, rgba(255, 254, 250, 0.08), transparent 34%), linear-gradient(90deg, rgba(10, 30, 21, 0.78), rgba(10, 30, 21, 0.38) 52%, rgba(10, 30, 21, 0.06)); } .home-carousel-slide { position: absolute; inset: 0; z-index: 1; display: grid; align-items: center; padding: clamp(30px, 5vw, 74px); background-image: var(--slide-image); background-position: center; background-size: cover; opacity: 0; animation: homeCarouselFade 18s infinite; } .home-carousel-slide::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(10, 30, 21, 0.7), rgba(10, 30, 21, 0.32) 54%, rgba(10, 30, 21, 0.08)); } .home-carousel-slide:nth-child(2) { animation-delay: 6s; } .home-carousel-slide:nth-child(3) { animation-delay: 12s; } .home-carousel-copy { position: relative; z-index: 2; max-width: min(760px, 72vw); color: #ffffff; text-shadow: 0 2px 18px rgba(0, 0, 0, 0.22); } .home-carousel-copy .eyebrow { margin-bottom: 12px; color: #ffd9cf; font-size: 13px; font-weight: 900; } .home-carousel-copy h1, .home-carousel-copy h2 { max-width: 820px; margin-bottom: 16px; color: #ffffff; font-size: clamp(40px, 5.6vw, 78px); line-height: 0.95; } .home-carousel-copy h2 { font-size: clamp(34px, 4.6vw, 64px); } .home-carousel-copy p { max-width: 680px; margin: 0; color: rgba(255, 255, 255, 0.92); font-size: clamp(18px, 2vw, 28px); line-height: 1.28; font-weight: 750; } .home-carousel .hero-actions { margin-top: 28px; } .home-carousel .secondary-button { color: #ffffff; border-color: rgba(255, 255, 255, 0.34); background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(8px); } .home-carousel-dots { position: absolute; left: clamp(30px, 5vw, 74px); bottom: 28px; z-index: 3; display: flex; gap: 8px; } .home-carousel-dots span { width: 34px; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.34); } .home-carousel-dots span:first-child { background: var(--brand-red); } @keyframes homeCarouselFade { 0%, 30% { opacity: 1; } 36%, 100% { opacity: 0; } } .warehouse-showcase { display: grid; grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr); gap: 18px; align-items: start; margin-top: 18px; } .warehouse-copy, .warehouse-photo-grid { min-width: 0; } .warehouse-copy { min-height: 100%; padding: 28px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(180deg, rgba(255, 254, 250, 0.96), rgba(247, 249, 244, 0.96)), var(--paper); box-shadow: var(--shadow-soft); } .warehouse-copy h2 { max-width: 680px; margin-bottom: 12px; color: var(--brand-green); font-size: clamp(26px, 3vw, 42px); line-height: 1.05; } .warehouse-copy p:last-child { margin-bottom: 0; color: var(--muted); font-size: 17px; } .warehouse-showcase .storage-status { grid-column: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; } .warehouse-showcase .arrival-card { grid-column: 1 / -1; } .warehouse-photo-grid { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(280px, 1.1fr) repeat(2, minmax(220px, 0.95fr)); gap: 12px; } .warehouse-photo-card { position: relative; overflow: hidden; min-height: 210px; margin: 0; border: 1px solid rgba(23, 61, 44, 0.14); border-radius: 8px; background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.44)), var(--warehouse-image) center / cover no-repeat; box-shadow: var(--shadow-soft); } .warehouse-photo-card.large { grid-row: span 1; min-height: 260px; } .warehouse-photo-card figcaption { position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 1; display: grid; gap: 5px; color: #ffffff; } .warehouse-photo-card span { font-size: 12px; font-weight: 900; opacity: 0.76; text-transform: uppercase; letter-spacing: 0.08em; } .warehouse-photo-card strong { max-width: 320px; font-size: clamp(18px, 2vw, 26px); line-height: 1.08; } .home-banners, .promo-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; } .home-banner, .promo-strip div, .price-request-panel { padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: none; } .home-banner { display: grid; grid-template-rows: 96px auto auto; gap: 9px; min-height: 232px; overflow: hidden; padding-top: 0; } .home-banner::before { content: ""; display: block; margin: 0 -18px 8px; border-bottom: 1px solid var(--line); background-color: var(--wash); background-position: center; background-size: cover; } .delivery-image::before { background-image: url("/assets/images/brand-delivery.svg"); } .region-image::before { background-image: url("/assets/images/brand-hero-products.svg"); } .day-image::before, .payment-image::before { background-image: url("/assets/images/brand-price.svg"); } .home-banner strong, .promo-strip strong { color: var(--ink); } .home-banner span, .promo-strip span, .promo-strip small { color: var(--muted); } .home-banner { border-top: 3px solid transparent; } .home-banner:hover, .promo-strip div:hover { border-color: #cdd8c7; box-shadow: var(--shadow-soft); } .home-banner:first-child { border-top-color: var(--brand-red); } .promo-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); } .promo-strip div { display: grid; gap: 5px; } .promo-strip strong { font-size: 22px; } .price-request-panel { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-top: 18px; background: var(--paper); } .price-request-image { min-height: 104px; border: 1px solid var(--line); border-radius: 8px; background: url("/assets/images/brand-price.svg") center / cover no-repeat var(--wash); } .price-request-panel { position: relative; display: block; min-height: 560px; overflow: hidden; padding: clamp(20px, 3vw, 44px); border: 0; border-radius: 12px; background: linear-gradient(90deg, rgba(9, 42, 28, 0.94) 0%, rgba(9, 42, 28, 0.78) 42%, rgba(9, 42, 28, 0.35) 100%), var(--home-warehouse-main) center / cover no-repeat, #0d2f20; box-shadow: 0 28px 80px rgba(13, 45, 30, 0.2); } .price-request-panel::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 10px; pointer-events: none; } .price-request-cover { position: absolute; inset: auto clamp(18px, 3vw, 36px) clamp(18px, 3vw, 36px) auto; z-index: 1; display: grid; max-width: 360px; min-height: 0; background: none; } .price-request-cover::after { content: none; } .price-request-cover span { display: inline-flex; width: fit-content; max-width: 100%; padding: 10px 14px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; background: rgba(255, 255, 255, 0.14); color: #fff; font-size: 13px; font-weight: 800; line-height: 1.25; backdrop-filter: blur(12px); } .price-request-content { position: relative; z-index: 2; display: grid; max-width: 860px; gap: 18px; padding: clamp(18px, 2.7vw, 34px); border: 1px solid rgba(255, 255, 255, 0.66); border-radius: 10px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 246, 240, 0.94)); box-shadow: 0 22px 60px rgba(3, 22, 14, 0.28); } .price-request-copy { display: grid; gap: 10px; max-width: 760px; } .price-request-copy .eyebrow { color: var(--brand-red); font-weight: 900; } .price-request-copy h2 { font-size: clamp(30px, 4.5vw, 52px); line-height: 0.96; letter-spacing: 0; } .price-request-copy p:not(.eyebrow) { max-width: 720px; color: #435448; font-size: 17px; line-height: 1.5; } .business-only-badge { width: fit-content; max-width: 100%; padding: 8px 12px; border: 1px solid rgba(196, 57, 47, 0.22); border-radius: 8px; background: #fff4ef; color: var(--brand-red); font-size: 14px; font-weight: 900; } .price-request-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .price-request-form label, .price-request-form fieldset { display: grid; gap: 7px; min-width: 0; } .price-request-form label span, .price-request-form legend { color: var(--brand-green); font-size: 12px; font-weight: 900; text-transform: uppercase; } .price-request-form input, .price-request-form textarea { width: 100%; min-height: 46px; padding: 12px 13px; border: 1px solid #d6dfd3; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8); } .price-request-form textarea { min-height: 116px; resize: vertical; } .price-request-form input:focus, .price-request-form textarea:focus { outline: 3px solid rgba(19, 66, 45, 0.14); border-color: var(--brand-green); } .price-request-form .wide { grid-column: 1 / -1; } .price-request-form fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; padding: 0; border: 0; } .price-request-form legend { grid-column: 1 / -1; padding: 0; } .choice-pill { position: relative; } .choice-pill input { position: absolute; opacity: 0; pointer-events: none; } .choice-pill span { display: flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 14px; border: 1px solid #d6dfd3; border-radius: 8px; background: #fff; color: var(--brand-green); font-weight: 900; } .choice-pill input:checked + span { border-color: var(--brand-green); background: var(--brand-green); color: #fff; box-shadow: 0 12px 22px rgba(19, 66, 45, 0.18); } .file-field { padding: 14px; border: 1px dashed rgba(19, 66, 45, 0.32); border-radius: 8px; background: rgba(19, 66, 45, 0.04); } .file-field small { color: var(--muted); } .price-request-form .primary-button { min-height: 50px; justify-content: center; border-radius: 8px; font-size: 16px; } .home-catalog-showcase { display: grid; gap: 18px; margin-top: 26px; } .home-catalog-heading, .home-product-section-head { display: flex; gap: 16px; align-items: center; justify-content: space-between; } .home-catalog-heading h2 { font-size: clamp(26px, 3vw, 40px); } .home-product-section { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, 0.78); box-shadow: 0 12px 30px rgba(22, 60, 43, 0.055); } .home-product-section.is-promo { border-color: rgba(196, 57, 47, 0.28); background: linear-gradient(135deg, rgba(196, 57, 47, 0.12), rgba(255, 255, 255, 0.9) 44%), #fff; } .home-product-section.is-new { border-color: rgba(19, 66, 45, 0.26); background: linear-gradient(135deg, rgba(19, 66, 45, 0.12), rgba(255, 255, 255, 0.92) 46%), #fff; } .home-product-section-head h3 { margin: 0; font-size: clamp(20px, 1.9vw, 29px); } .home-product-section-actions { display: inline-flex; flex: 0 0 auto; gap: 10px; align-items: center; justify-content: flex-end; } .home-product-section-head a { flex: 0 0 auto; color: var(--brand-green); font-size: 14px; font-weight: 900; text-decoration: none; } .home-strip-controls { display: inline-flex; gap: 6px; align-items: center; } .home-strip-controls button { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid rgba(19, 66, 45, 0.12); border-radius: 999px; color: var(--brand-green); font-size: 15px; font-weight: 900; line-height: 1; background: #fff; box-shadow: 0 8px 18px rgba(19, 66, 45, 0.08); cursor: pointer; transition: transform 0.18s ease, color 0.18s ease, background 0.18s ease; } .home-strip-controls button:hover, .home-strip-controls button:focus-visible { color: #fff; background: var(--brand-green); transform: translateY(-1px); } .home-products-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, calc((100% - 42px) / 4)); gap: 14px; overflow-x: auto; overflow-y: visible; padding: 2px 2px 4px; scroll-snap-type: x proximity; scrollbar-width: none; } .home-products-strip::-webkit-scrollbar { display: none; } .home-products-strip .product-card { min-width: 0; scroll-snap-align: start; } .home-delivery-separator { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr); gap: 18px; align-items: center; padding: clamp(20px, 3vw, 34px); border-radius: 14px; background: linear-gradient(135deg, rgba(9, 42, 28, 0.96), rgba(19, 66, 45, 0.86)), var(--home-warehouse-main) center / cover no-repeat; color: #fff; box-shadow: 0 22px 56px rgba(10, 38, 25, 0.2); } .home-delivery-separator .eyebrow, .home-delivery-separator p { color: rgba(255, 255, 255, 0.82); } .home-delivery-separator h3 { max-width: 720px; margin: 0 0 10px; color: #fff; font-size: clamp(24px, 3vw, 42px); line-height: 1.04; } .home-delivery-mini { display: grid; gap: 12px; padding: 16px; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 10px; background: rgba(255, 255, 255, 0.14); backdrop-filter: blur(12px); } .home-delivery-mini label { display: grid; gap: 6px; } .home-delivery-mini span { color: rgba(255, 255, 255, 0.82); font-size: 12px; font-weight: 900; text-transform: uppercase; } .home-delivery-mini input, .home-delivery-mini select { width: 100%; min-height: 42px; border: 0; border-radius: 8px; padding: 10px 12px; color: var(--ink); font: inherit; background: #fff; } .wishlist-request-panel { display: grid; grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr); gap: 22px; align-items: stretch; margin-top: 26px; padding: clamp(20px, 3vw, 36px); border-radius: 14px; background: radial-gradient(circle at 13% 20%, rgba(196, 57, 47, 0.16), transparent 28%), linear-gradient(135deg, #fffaf4, #edf4ea); box-shadow: 0 20px 54px rgba(21, 54, 39, 0.12); } .wishlist-request-copy { display: grid; align-content: center; gap: 12px; } .wishlist-request-copy h2 { max-width: 540px; font-size: clamp(32px, 4.4vw, 58px); line-height: 0.96; } .wishlist-request-copy p { max-width: 560px; color: #526257; font-size: 18px; line-height: 1.5; } .wishlist-request-copy span { width: fit-content; padding: 8px 12px; border-radius: 999px; color: var(--brand-red); font-size: 13px; font-weight: 900; background: rgba(196, 57, 47, 0.1); } .wishlist-request-card { display: grid; gap: 14px; padding: 18px; border: 1px solid rgba(19, 66, 45, 0.14); border-radius: 12px; background: rgba(255, 255, 255, 0.88); } .wishlist-request-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .wishlist-request-form label { display: grid; gap: 7px; } .wishlist-request-form label span { color: var(--brand-green); font-size: 12px; font-weight: 900; text-transform: uppercase; } .wishlist-request-form input, .wishlist-request-form textarea { width: 100%; min-height: 46px; border: 1px solid #d6dfd3; border-radius: 8px; padding: 12px 13px; color: var(--ink); font: inherit; background: #fff; } .wishlist-request-form textarea { min-height: 126px; resize: vertical; } .wishlist-request-form .wide { grid-column: 1 / -1; } .form-hint { margin: 0; color: var(--muted); font-size: 13px; } .content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; } .panel { padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: var(--shadow-soft); } .products-panel { margin-top: 18px; } .section-heading { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; } .section-heading .eyebrow, .section-heading h2 { margin-bottom: 0; } .subtle-link { flex: 0 0 auto; font-size: 15px; font-weight: 700; } .subtle-button { appearance: none; flex: 0 0 auto; border: 1px solid rgba(198, 57, 45, 0.24); border-radius: 8px; padding: 8px 12px; font: inherit; font-size: 14px; font-weight: 900; color: var(--brand-red); background: #fff7f4; cursor: pointer; } .subtle-button:hover { border-color: rgba(198, 57, 45, 0.44); background: #fff0eb; } .muted { margin: 0; font-size: 15px; color: var(--muted); } .category-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; } .category-list .category-list { display: grid; gap: 1px; margin: 3px 0 6px; padding: 0; list-style: none; } .category-list li { min-width: 0; font-size: 14px; font-weight: 760; } .category-list.depth-0 > .category-special-link > a { display: flex; min-height: 38px; align-items: center; justify-content: center; border: 1px solid #dbe5d6; padding: 8px 10px; text-align: center; } .category-list.depth-0 > .category-special-link.is-all > a { color: #fff; border-color: var(--brand-green); background: var(--brand-green); } .category-list.depth-0 > .category-special-link:not(.is-all) > a { color: var(--brand-green); background: #fff; } .category-list a, .category-details summary { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) 18px; gap: 8px; align-items: center; width: 100%; min-width: 0; min-height: 36px; border-radius: 8px; padding: 7px 10px; color: var(--ink); } .category-list a { overflow: hidden; text-decoration: none; } .category-list.depth-0 > li > a, .category-list.depth-0 > li > .category-details > summary { grid-template-columns: 30px minmax(0, 1fr) 18px; padding-left: 8px; } .category-list.depth-0 > li > a .category-icon, .category-list.depth-0 > li > .category-details > summary .category-icon { grid-column: 1; } .category-list.depth-0 > li > a span:last-child, .category-list.depth-0 > li > .category-details > summary a { grid-column: 2; } .category-list a span:last-child, .category-details summary a { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; } .category-list.depth-0 > li { border-bottom: 1px solid #edf1e9; padding-bottom: 4px; } .category-list.depth-0 > li:last-child { border-bottom: 0; } .category-list.depth-1 li { font-size: 13px; font-weight: 680; } .category-list.depth-1 > li > a, .category-list.depth-1 > li > .category-details > summary { padding-left: 46px; } .category-list.depth-2 li { font-size: 12px; font-weight: 560; } .category-list.depth-2 > li > a, .category-list.depth-2 > li > .category-details > summary { padding-left: 58px; } .category-list.depth-3 > li > a, .category-list.depth-3 > li > .category-details > summary { padding-left: 70px; } .category-list li.is-current > a, .category-list li.is-current > .category-details > summary { color: #ffffff; background: var(--brand-green); } .category-list a.is-current-link { color: inherit; background: transparent; } .category-list li.is-current > a .category-icon, .category-list li.is-current > .category-details > summary .category-icon { color: #ffffff; background: rgba(255, 255, 255, 0.14); } .category-list a:hover, .category-details summary:hover { color: var(--brand-green); background: #eef4ea; } .category-list li.is-current > a:hover, .category-list li.is-current > .category-details > summary:hover { color: #ffffff; background: var(--brand-green); } .category-details summary { position: relative; cursor: pointer; list-style: none; } .category-details summary::-webkit-details-marker { display: none; } .category-details summary::after { grid-column: 2; justify-self: center; color: #8a9587; content: ">"; transition: transform 0.16s ease; } .category-list.depth-0 > li > .category-details > summary::after { grid-column: 3; } .category-details[open] > summary::after { transform: rotate(90deg); } .category-icon { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; line-height: 1; color: var(--brand-green); background: #edf4ea; } .category-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; } .category-icon.is-caviar svg circle, .category-icon.is-meat svg circle, .category-icon.is-cheese svg circle { fill: currentColor; stroke-width: 0; } .mega-category-icon { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 9px; } .mega-category-icon svg { width: 17px; height: 17px; } .category-details summary a { min-width: 0; } .category-details summary::marker { color: #7a856f; } .settings-list { display: grid; gap: 12px; margin: 0; } .settings-list div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: baseline; } .settings-list dt { color: var(--muted); } .settings-list dd { margin: 0; font-weight: 700; } .product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; align-items: stretch; } .admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; } .product-card, .admin-tile { min-height: 96px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: 0 10px 24px rgba(22, 60, 43, 0.05); } .product-card { position: relative; display: flex; flex-direction: column; min-height: 0; } .product-card.is-unavailable { background: linear-gradient(180deg, rgba(245, 246, 242, 0.94), rgba(232, 236, 227, 0.94)); } .product-card.is-unavailable .product-card-image img, .product-card.is-unavailable .product-card-image-placeholder { filter: grayscale(0.9) blur(0.4px); opacity: 0.68; } .product-card.is-unavailable h3, .product-card.is-unavailable .price-line, .product-card.is-unavailable .package-price-line, .product-card.is-unavailable .variant-choice { opacity: 0.72; } .product-card-unavailable-note { display: grid; place-items: center start; min-height: 72px; border-top: 1px solid #d8ded2; margin: 6px 0 10px; padding-top: 10px; font-size: 13px; font-weight: 800; color: #687266; } .product-unavailable-badge { position: absolute; top: 12px; left: 12px; z-index: 2; border-radius: 999px; padding: 6px 9px; font-size: 11px; font-weight: 900; color: #ffffff; background: rgba(80, 89, 78, 0.9); box-shadow: 0 8px 20px rgba(24, 34, 24, 0.12); } .product-card-badge { position: absolute; top: 12px; left: 12px; z-index: 3; display: inline-flex; min-height: 28px; align-items: center; border-radius: 999px; padding: 6px 10px; color: #fff; font-size: 12px; line-height: 1; font-weight: 900; box-shadow: 0 10px 22px rgba(24, 34, 24, 0.14); } .product-card-badge.is-promo { background: var(--brand-red); } .product-card-badge.is-new { background: var(--brand-green); } .product-card-image { display: block; overflow: hidden; margin: -4px -4px 14px; border-radius: 8px; background: #eef4ea; } .product-card-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.18s ease; } .product-card-image:hover img { transform: scale(1.025); } .product-card-image-placeholder { display: grid; place-items: center; aspect-ratio: 4 / 3; color: var(--brand-green); font-weight: 900; background: linear-gradient(135deg, rgba(23, 61, 44, 0.08), rgba(196, 61, 49, 0.08)), #eef4ea; } .product-card-image-placeholder span { display: inline-flex; border-bottom: 2px solid var(--brand-red); padding-bottom: 3px; } .product-card p { margin: 0 0 10px; font-size: 14px; color: var(--muted); } .product-card .product-category { 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; height: 58px; margin-bottom: 12px; line-height: 1.22; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .price-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; min-height: 30px; margin-bottom: 6px; font-size: 14px; color: #2d372f; } .price-line.is-price-placeholder, .package-price-note.is-price-placeholder { visibility: hidden; pointer-events: none; } .price-unit-label { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; } .price-unit-values { display: inline-flex; gap: 5px; 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 { display: inline-flex; gap: 5px; align-items: baseline; justify-content: flex-end; min-width: 0; color: var(--brand-green); white-space: nowrap; } .package-price-note { display: block; min-height: 15px; margin: 3px 0 8px; font-size: 12px; line-height: 1.25; color: var(--muted); } .old-price { display: inline-block; margin-right: 0; font-size: 13px; font-weight: 400; color: #8b9485; text-decoration: line-through; white-space: nowrap; } .variant-choice { display: grid; grid-template-rows: auto 34px; align-self: start; gap: 7px; height: 76px; margin: 0 0 12px; border-top: 0; border-bottom: 1px solid #edf1e9; padding-bottom: 10px; } .variant-choice > span { font-size: 13px; font-weight: 800; color: var(--muted); } .variant-choice-list { display: flex; flex-wrap: nowrap; gap: 6px; align-items: flex-start; 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; border: 1px solid #cfd8c9; border-radius: 7px; padding: 6px 9px; font: inherit; font-size: 12px; line-height: 1.15; font-weight: 800; color: var(--brand-green); background: #ffffff; cursor: pointer; overflow-wrap: anywhere; transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease; } .variant-choice-button:hover, .variant-choice-button.is-active { border-color: var(--brand-green); color: #ffffff; background: var(--brand-green); } .add-to-cart-button { appearance: none; align-self: end; width: 100%; min-height: 40px; border: 0; border-radius: 8px; margin-top: 0; padding: 10px 12px; font: inherit; font-size: 14px; font-weight: 900; color: #ffffff; background: var(--brand-green); cursor: pointer; } .add-to-cart-button: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); gap: 8px; align-items: stretch; min-height: 40px; margin-top: auto; } .quantity-stepper { display: grid; grid-template-columns: 30px minmax(32px, 1fr) 30px; min-width: 0; overflow: hidden; border: 1px solid #cfd8c9; border-radius: 8px; background: #ffffff; } .quantity-stepper button, .quantity-stepper input { min-width: 0; border: 0; font: inherit; font-size: 14px; font-weight: 900; text-align: center; color: var(--brand-green); background: transparent; } .quantity-stepper button { cursor: pointer; } .quantity-stepper button:hover { color: #ffffff; background: var(--brand-green); } .quantity-stepper input { border-inline: 1px solid #e3e8de; padding: 0 3px; } .notify-arrival-button { appearance: none; grid-column: 1 / -1; width: 100%; min-height: 40px; border: 1px solid #c7d0c0; border-radius: 8px; padding: 10px 12px; font: inherit; font-size: 13px; font-weight: 900; color: #435044; background: #ffffff; cursor: pointer; } .notify-arrival-button:hover, .notify-arrival-button.is-sent { color: #ffffff; background: #5e6a5d; } .price-tier-trigger { appearance: none; display: none; place-items: center; justify-self: end; width: 20px; min-width: 20px; height: 20px; border: 1px solid #b9c6b1; border-radius: 50%; padding: 0; font: inherit; font-size: 12px; font-weight: 900; line-height: 1; color: var(--brand-green); background: #ffffff; cursor: help; } body[data-payment-mode="cash"] .price-tier-trigger { display: inline-grid; } .cart-link span { display: inline-grid; place-items: center; min-width: 20px; min-height: 20px; border-radius: 999px; margin-left: 5px; padding: 2px 6px; color: #ffffff; background: var(--brand-red); font-size: 12px; line-height: 1; } .price-tier-popover { position: absolute; right: 16px; bottom: 62px; left: 16px; z-index: 8; display: grid; gap: 9px; border: 1px solid #cfd8c9; border-radius: 8px; padding: 12px; color: var(--ink); background: #ffffff; box-shadow: 0 18px 44px rgba(23, 61, 44, 0.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px); transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease; } body[data-payment-mode="cash"] .price-line:has(.price-tier-trigger:hover) ~ .price-tier-popover, body[data-payment-mode="cash"] .package-price-line:has(.price-tier-trigger:hover) ~ .price-tier-popover, body[data-payment-mode="cash"] .price-tier-popover:hover { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; } .price-tier-popover strong { font-size: 14px; color: var(--brand-green); } .price-tier-popover dl { display: grid; gap: 7px; margin: 0; } .price-tier-popover div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: baseline; } .price-tier-popover dt { font-size: 12px; line-height: 1.25; color: var(--muted); white-space: nowrap; } .price-tier-popover dd { margin: 0; font-size: 13px; font-weight: 900; white-space: nowrap; } .price-tiers { display: grid; gap: 6px; margin: 12px 0 0; padding: 10px 0 0; border-top: 1px solid #e3e8de; list-style: none; } .price-tiers li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: baseline; font-size: 12px; } .price-tiers span { color: var(--muted); } .price-tiers strong { color: var(--brand-green); } .product-detail { width: min(var(--page-max), 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr); gap: 18px; align-items: start; } .product-gallery img { display: block; width: 100%; border-radius: 8px; object-fit: cover; } .product-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; margin-top: 12px; } .product-thumbs img { aspect-ratio: 1; } .product-image-placeholder { display: grid; place-items: center; min-height: 280px; border-radius: 8px; color: var(--brand-green); background: #eef4ea; font-size: 28px; font-weight: 900; } .product-detail-main h1 { margin-top: 0; } .product-lead { font-size: 17px; line-height: 1.55; color: var(--muted); } .variant-list { display: grid; gap: 10px; margin-top: 24px; } .variant-list h2 { margin-bottom: 2px; } .variant-row { 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); border-radius: 8px; padding: 12px; background: #f8faf5; } .variant-row .product-card-actions { 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 .add-to-cart-button { margin-top: 0; } .cart-page { width: min(var(--page-max), 100%); margin: 0 auto; } .cart-hero, .cart-items-panel, .cart-summary { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: var(--shadow-soft); } .cart-hero { padding: 28px 32px; } .cart-hero p { max-width: 920px; margin-bottom: 0; } .cart-weight-notice { max-width: 980px; border: 1px solid rgba(196, 61, 49, 0.24); border-left: 5px solid var(--brand-red); border-radius: 8px; margin-top: 18px; padding: 14px 16px; color: var(--brand-green); font-size: 15px; font-weight: 850; line-height: 1.45; background: #fff8f4; } .cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.36fr); gap: 18px; align-items: start; margin-top: 18px; } .cart-layout-checkout { grid-template-columns: minmax(0, 1fr) minmax(320px, 0.38fr); } .cart-items-panel, .cart-summary { padding: 20px; } .cart-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; } .cart-summary { position: sticky; top: 182px; } .cart-empty { margin: 0; color: var(--muted); } .cart-sync-note { margin: 0 0 14px; border: 1px solid rgba(198, 57, 45, 0.18); border-radius: 8px; padding: 11px 13px; color: var(--brand-green); font-size: 14px; font-weight: 800; background: #fffaf1; } .cart-items { display: grid; gap: 10px; margin-bottom: 18px; } .cart-row { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto auto auto; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 8px; padding: 10px; background: #f8faf5; } .cart-row.is-unavailable { border-color: rgba(93, 102, 89, 0.22); background: #eef0eb; opacity: 0.84; } .cart-row.has-price-drop { border-color: rgba(31, 122, 69, 0.34); background: #f3fbf1; } .cart-row.has-package-change { border-color: rgba(196, 117, 36, 0.34); background: #fffaf0; } .cart-row-image { overflow: hidden; display: grid; place-items: center; width: 84px; aspect-ratio: 1; border-radius: 8px; background: #eef4ea; } .cart-row-image img { width: 100%; height: 100%; object-fit: cover; } .cart-row.is-unavailable .cart-row-image img { filter: grayscale(1); opacity: 0.62; } .cart-row-main h2 { margin: 0 0 4px; font-size: 16px; } .cart-row-main p { margin: 0; font-size: 14px; color: var(--muted); } .cart-row-price-drop { color: #1f7a45; font-weight: 950; border-bottom: 1px dotted currentColor; cursor: help; } .cart-row-warning, .cart-row-package-change { margin: 6px 0 0; font-size: 13px; font-weight: 900; } .cart-row-warning { color: var(--brand-red); } .cart-row-package-change { grid-column: 2 / -1; border-radius: 8px; padding: 7px 10px; color: #7b471a; background: rgba(196, 117, 36, 0.12); cursor: help; } .cart-row-controls { display: grid; grid-template-columns: 32px 32px 32px; gap: 4px; align-items: center; } .cart-row-controls button, .cart-row-remove { appearance: none; min-height: 32px; border: 1px solid #cfd8c9; border-radius: 8px; font: inherit; font-weight: 900; color: var(--brand-green); background: #ffffff; cursor: pointer; } .cart-row-controls button:disabled { cursor: not-allowed; opacity: 0.48; } .cart-row-controls strong { text-align: center; } .cart-row-total { min-width: 96px; color: var(--brand-green); text-align: right; } .cart-row-remove { padding: 7px 10px; } .cart-summary dl { display: grid; gap: 12px; margin: 0 0 16px; } .cart-summary dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: baseline; } .cart-summary dt { color: var(--muted); } .cart-summary dd { margin: 0; font-weight: 900; text-align: right; } .cart-summary-total { border-top: 1px solid var(--line); padding-top: 12px; 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); } .cart-checkout-panel { display: grid; gap: 16px; border: 1px solid var(--line); border-radius: 8px; margin-top: 14px; padding: 18px; background: #fbfcf8; } .cart-payment-options, .cart-delivery-options { display: flex; flex-wrap: wrap; gap: 10px; } .cart-payment-trust { width: fit-content; border-radius: 999px; margin-bottom: -4px; padding: 7px 12px; color: #ffffff; font-size: 13px; font-weight: 950; letter-spacing: 0.01em; background: linear-gradient(135deg, var(--brand-green), var(--brand-green-2)); box-shadow: 0 8px 18px rgba(23, 61, 44, 0.12); } .cart-invoice-details { display: grid; gap: 12px; max-height: 0; overflow: hidden; border: 0 solid transparent; border-radius: 8px; padding: 0 14px; opacity: 0; background: #f7faf4; transition: max-height 0.28s ease, padding 0.28s ease, opacity 0.2s ease, border-color 0.2s ease; } body[data-payment-mode="invoice"] .cart-invoice-details { max-height: 520px; border-width: 1px; border-color: #dfe8dc; padding: 14px; opacity: 1; } .cart-invoice-details p { margin: 0; color: var(--muted); font-size: 14px; } .cart-invoice-details label { display: grid; gap: 7px; font-size: 14px; font-weight: 850; color: #394437; } .cart-delivery-options label { display: inline-flex; gap: 8px; align-items: center; min-height: 42px; border: 1px solid #cfd8c9; border-radius: 999px; padding: 9px 14px; font-weight: 900; color: var(--brand-green); background: #ffffff; cursor: pointer; user-select: none; transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, transform 0.16s ease; } .cart-delivery-options label:hover { border-color: var(--brand-green); background: #f2f7ef; transform: translateY(-1px); } .cart-delivery-options label:has(input:checked) { color: #ffffff; border-color: var(--brand-green); background: var(--brand-green); } .cart-delivery-options input { flex: 0 0 auto; } .cart-minimum-warning { border: 1px solid rgba(196, 61, 49, 0.24); border-radius: 8px; margin: 0; padding: 12px 14px; color: #7c2118; font-size: 15px; font-weight: 850; background: #fff1ee; } .cart-delivery-fields, .cart-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .cart-delivery-fields label, .cart-order-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 850; color: #394437; } .cart-address-status { display: block; min-height: 18px; color: #486050; font-size: 12px; font-weight: 750; line-height: 1.35; } .cart-address-status[hidden] { display: none; } .cart-lift-label { grid-template-columns: auto minmax(0, 1fr); align-items: center; align-self: end; min-height: 44px; border: 1px solid #cfd8c9; border-radius: 8px; padding: 12px; background: #ffffff; cursor: pointer; user-select: none; } .cart-lift-label input { width: auto; } .cart-lift-label:has(input:checked) { border-color: var(--brand-green); background: #eef6e9; } .cart-final-sum-label { grid-template-columns: auto minmax(0, 1fr); align-items: start; border: 1px solid #dfe8dc; border-radius: 8px; padding: 12px; background: #f7faf4; cursor: pointer; } .cart-final-sum-label input { width: auto; margin-top: 3px; } .cart-delivery-fields input, .cart-order-form input, .cart-order-form textarea, .cart-invoice-details textarea, .cart-invoice-details input { width: 100%; border: 1px solid #cfd8c9; border-radius: 8px; padding: 12px; font: inherit; background: #ffffff; } .cart-order-form { display: grid; gap: 12px; } .cart-confirm-button { width: fit-content; min-width: 220px; } .cart-form-note { margin: 0; color: var(--muted); font-size: 14px; } .cart-order-success { border: 1px solid rgba(23, 61, 44, 0.18); border-radius: 8px; margin-top: 14px; padding: 14px; color: var(--brand-green); background: #eef6e9; } .cart-order-success strong { display: block; margin-bottom: 6px; color: var(--brand-green); font-size: 18px; } .cart-order-success p { margin: 0; color: #394437; } .product-description { grid-column: 1 / -1; } .product-description img { max-width: min(100%, 760px); height: auto; border-radius: 8px; } .admin-tile { display: grid; place-items: center; min-height: 72px; font-weight: 700; text-align: center; } .catalog-layout, .admin-layout { width: min(var(--page-max), 100%); margin: 0 auto; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; } .catalog-sidebar, .catalog-content { min-width: 0; } .catalog-sidebar { position: sticky; top: 96px; align-self: start; max-height: calc(100vh - 108px); } .catalog-side-stack { display: grid; gap: 12px; max-height: inherit; } .catalog-menu-panel { display: grid; gap: 12px; min-height: 0; padding: 14px; overflow: hidden; } .catalog-menu-panel > .category-list { max-height: calc(100vh - 290px); padding-right: 4px; overflow: auto; scrollbar-width: thin; } .catalog-side-heading { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 10px; } .catalog-side-heading span { font-size: 18px; font-weight: 900; color: var(--brand-green); } .catalog-side-heading small { color: var(--muted); font-size: 12px; font-weight: 800; } .catalog-mini-cart { display: grid; gap: 8px; padding: 14px; } .catalog-mini-cart div { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; } .catalog-mini-cart span { color: var(--muted); font-size: 13px; font-weight: 800; } .catalog-mini-cart strong { color: var(--brand-green); font-size: 18px; } .catalog-mini-cart p { margin: 0; color: var(--muted); font-size: 13px; } .catalog-mini-cart a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; border-radius: 8px; padding: 8px 12px; font-weight: 900; color: #ffffff; background: var(--brand-green); } .catalog-mini-cart a:hover { text-decoration: none; background: #102f21; } .sticky-panel { position: sticky; top: 98px; max-height: calc(100vh - 116px); overflow: auto; } .catalog-heading { padding: 24px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: var(--shadow-soft); } .catalog-heading h1 { margin-bottom: 0; } .payment-benefit-banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.38fr); gap: 22px; align-items: center; overflow: hidden; border: 1px solid rgba(25, 91, 63, 0.16); border-radius: 8px; margin-bottom: 18px; padding: 24px; background: radial-gradient(circle at 94% 16%, rgba(207, 56, 45, 0.12), transparent 26%), linear-gradient(135deg, #fffdf8 0%, #eef5ea 100%); box-shadow: var(--shadow-soft); } .qr-benefit-banner, .invoice-benefit-banner { display: none; } body[data-payment-mode="qr"] .cash-benefit-banner, body[data-payment-mode="invoice"] .cash-benefit-banner { display: none; } body[data-payment-mode="qr"] .qr-benefit-banner, body[data-payment-mode="invoice"] .invoice-benefit-banner { display: grid; } .qr-benefit-banner { background: radial-gradient(circle at 92% 18%, rgba(25, 91, 63, 0.14), transparent 28%), linear-gradient(135deg, #fffdf8 0%, #eef6f4 100%); } .invoice-benefit-banner { background: radial-gradient(circle at 92% 18%, rgba(23, 61, 44, 0.12), transparent 28%), linear-gradient(135deg, #fffdf8 0%, #f4f1ea 100%); } .cash-benefit-copy h2 { max-width: 720px; margin: 0 0 10px; color: var(--brand-green); font-size: clamp(24px, 3vw, 38px); } .cash-benefit-copy p:not(.eyebrow) { max-width: 660px; margin: 0; color: var(--muted); font-size: 16px; } .cash-receipt { position: relative; display: grid; gap: 14px; border: 1px solid #e2dfd2; border-radius: 8px; padding: 18px; background: #ffffff; box-shadow: 0 18px 44px rgba(22, 60, 43, 0.13); } .cash-receipt::before, .cash-receipt::after { position: absolute; right: 18px; left: 18px; height: 1px; background-image: linear-gradient(90deg, #d7ded2 50%, transparent 0); background-size: 10px 1px; content: ""; } .cash-receipt::before { top: 54px; } .cash-receipt::after { bottom: 44px; } .cash-receipt-top { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; padding-bottom: 10px; } .cash-receipt-top span, .cash-receipt small { color: var(--muted); font-size: 12px; font-weight: 800; } .cash-receipt-top strong { color: var(--brand-green); font-size: 18px; } .cash-receipt dl { display: grid; gap: 9px; margin: 0; padding: 8px 0 10px; } .cash-receipt dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: baseline; } .cash-receipt dt { color: var(--ink); font-weight: 850; } .cash-receipt dd { margin: 0; border-radius: 999px; padding: 4px 10px; color: #ffffff; font-size: 16px; font-weight: 950; background: var(--brand-red); } .cash-receipt small { justify-self: center; padding-top: 8px; text-align: center; } .payment-benefit-card { display: grid; place-items: center; gap: 8px; min-height: 190px; border: 1px solid #e2dfd2; border-radius: 8px; padding: 20px; text-align: center; background: #ffffff; box-shadow: 0 18px 44px rgba(22, 60, 43, 0.13); } .payment-benefit-card span, .payment-benefit-card small { color: var(--muted); font-size: 12px; font-weight: 850; } .payment-benefit-card strong { color: var(--brand-green); font-size: clamp(46px, 6vw, 72px); line-height: 0.95; } .invoice-benefit-banner .payment-benefit-card strong { max-width: 220px; color: var(--brand-green); font-size: clamp(32px, 4vw, 48px); line-height: 1.02; } .payment-benefit-card p { margin: 0; color: var(--ink); font-weight: 900; } .catalog-seo-panel { margin-top: 26px; border: 1px solid var(--line); border-radius: 8px; padding: 20px 22px; color: #536055; background: rgba(255, 254, 250, 0.72); } .catalog-seo-panel h2 { margin-bottom: 10px; color: var(--brand-green); font-size: 22px; } .catalog-seo-content { display: grid; gap: 10px; font-size: 14px; line-height: 1.65; } .catalog-seo-content p, .catalog-seo-content ul, .catalog-seo-content ol { margin: 0; } .catalog-product-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } .catalog-count-panel { display: flex; gap: 12px; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 14px; padding: 12px 14px; color: var(--muted); background: var(--paper); box-shadow: var(--shadow-soft); } .catalog-count-panel span { font-weight: 800; } .catalog-count-panel a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; border-radius: 8px; padding: 8px 12px; font-weight: 900; color: #ffffff; background: var(--brand-green); } .catalog-count-panel a:hover { text-decoration: none; background: #102f21; } .catalog-search-result-panel { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 18px 20px; border: 1px solid rgba(23, 61, 44, 0.14); border-radius: 8px; background: linear-gradient(135deg, rgba(23, 61, 44, 0.08), rgba(196, 61, 49, 0.05)), #ffffff; box-shadow: 0 16px 36px rgba(23, 61, 44, 0.08); } .catalog-search-result-panel h2 { margin: 0; color: var(--brand-green); font-size: clamp(22px, 2.3vw, 32px); } .catalog-search-result-panel p:last-child { margin: 6px 0 0; color: var(--muted); } .catalog-search-result-panel a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border-radius: 8px; color: #ffffff; background: var(--brand-green); font-weight: 900; white-space: nowrap; } .catalog-search-result-panel a:hover { text-decoration: none; background: #102f21; } .catalog-pagination { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; margin-top: 18px; } .catalog-pagination a { display: inline-grid; place-items: center; min-width: 36px; min-height: 36px; border: 1px solid #cfd8c9; border-radius: 8px; padding: 6px 9px; font-weight: 900; color: var(--brand-green); background: #ffffff; } .catalog-pagination a:hover, .catalog-pagination a.is-current { color: #ffffff; text-decoration: none; background: var(--brand-green); } .text-page { width: min(var(--page-max), 100%); margin: 0 auto; } .info-page { width: min(var(--page-max), 100%); display: grid; gap: 18px; margin: 0 auto; } .info-hero { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; align-items: center; border-radius: 8px; padding: 38px; color: #ffffff; background: var(--brand-green); box-shadow: 0 18px 44px rgba(22, 60, 43, 0.16); } .info-hero h1 { margin-bottom: 14px; color: #ffffff; font-size: 48px; } .info-hero p { max-width: 760px; margin: 0; } .info-hero .eyebrow { color: #d8eadc; } .payment-hero { background: #263b55; } .contacts-hero { background: #4d392a; } .info-visual { display: grid; place-items: center; min-height: 210px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 8px; background: rgba(255, 255, 255, 0.08); text-align: center; } .info-visual span { display: block; width: 82px; height: 52px; border: 4px solid #ffffff; border-radius: 8px; box-shadow: 32px 36px 0 -18px #ffffff, -34px 34px 0 -20px #ffffff; } .info-visual strong { display: block; margin-top: 18px; font-size: 32px; line-height: 1; } .info-visual small { display: block; margin-top: 6px; color: #dfe8dc; } .info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .info-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .info-card { border: 1px solid var(--line); border-radius: 8px; padding: 24px; background: var(--paper); box-shadow: var(--shadow-soft); } .info-card.compact { min-height: 190px; } .info-card p { margin: 0 0 12px; font-size: 16px; } .info-card p:last-child { margin-bottom: 0; } .info-card-visual { height: 118px; margin-bottom: 18px; border-radius: 8px; background: #eef4ea; } .delivery-city { background: linear-gradient(90deg, rgba(29, 93, 59, 0.2), rgba(29, 93, 59, 0.04)), repeating-linear-gradient(90deg, #dfe8dc 0 22px, transparent 22px 44px); } .delivery-region { background: linear-gradient(135deg, rgba(38, 59, 85, 0.2), rgba(38, 59, 85, 0.04)), repeating-linear-gradient(135deg, #dfe8dc 0 20px, transparent 20px 46px); } .payment-cash { background: linear-gradient(90deg, rgba(29, 93, 59, 0.16), rgba(29, 93, 59, 0.04)), radial-gradient(circle at 22% 50%, var(--brand-green) 0 24px, transparent 25px); } .payment-scale { background: linear-gradient(90deg, rgba(77, 57, 42, 0.16), rgba(77, 57, 42, 0.04)), linear-gradient(#dfe8dc 0 0) center 68% / 58% 10px no-repeat; } .clean-list { display: grid; gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; } .clean-list li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.45; } .clean-list li::before { content: ""; position: absolute; top: 0.65em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-red); } .delivery-calculator { display: grid; gap: 18px; } .calculator-note { max-width: 260px; font-size: 13px; line-height: 1.45; color: #687466; text-align: right; } .calculator-form { display: grid; grid-template-columns: 1.4fr 0.75fr 1fr 0.6fr; gap: 14px; align-items: end; } .calculator-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 800; color: #394437; } .calculator-form input, .calculator-form select { width: 100%; border: 1px solid #cfd8c9; border-radius: 8px; padding: 12px; font: inherit; background: #ffffff; } .calculator-form .checkbox-label { align-self: center; margin-top: 24px; } .calculator-result { display: grid; gap: 5px; border-radius: 8px; padding: 18px; color: #ffffff; background: var(--brand-green); } .calculator-result strong { font-size: 22px; } .calculator-result span { line-height: 1.45; color: #d8eadc; } .contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .contact-card.wide { grid-column: 1 / -1; } .contact-list { display: grid; gap: 16px; margin: 0; } .contact-list div { display: grid; gap: 4px; } .contact-list dt { color: var(--muted); } .contact-list dd { margin: 0; font-size: 24px; font-weight: 800; } .route-card { display: grid; gap: 18px; } .route-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr); gap: 20px; align-items: stretch; } .map-frame { overflow: hidden; min-height: 360px; border: 1px solid var(--line); border-radius: 8px; background: #eef4ea; } .map-frame iframe { display: block; width: 100%; height: 100%; min-height: 360px; border: 0; } .route-steps { display: grid; align-content: start; gap: 16px; border-radius: 8px; padding: 22px; background: #f7f8f4; } .route-steps ol { display: grid; gap: 12px; margin: 0; padding-left: 20px; } .route-steps li { font-size: 16px; line-height: 1.45; } .text-page-header, .text-page-body { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: var(--shadow-soft); } .text-page-header { padding: 30px; margin-bottom: 18px; } .text-page-header h1 { margin-bottom: 12px; } .text-page-header p:last-child { max-width: 880px; margin-bottom: 0; } .text-page-body { display: grid; gap: 0; padding: 8px 30px 30px; } .text-page-body section, .text-page-body > p { max-width: 920px; } .text-page-body section { padding: 24px 0; border-bottom: 1px solid #e5eadf; } .text-page-body section:last-of-type { border-bottom: 0; } .text-page-body p { margin: 0 0 12px; font-size: 16px; } .text-page-body p:last-child { margin-bottom: 0; } .notice-panel { margin-top: 10px; border: 1px solid #ead8c4 !important; border-radius: 8px; padding: 22px !important; background: #fffaf2; } .thanks-text { margin: 22px 0 0 !important; font-weight: 800; color: var(--brand-green); } .admin-form { display: grid; gap: 14px; margin-top: 20px; } .admin-form label { display: grid; gap: 6px; font-size: 14px; font-weight: 700; color: #394437; } .admin-form input, .admin-form select, .admin-form textarea { width: 100%; border: 1px solid #cfd8c9; border-radius: 8px; padding: 11px 12px; font: inherit; font-size: 15px; background: var(--paper); } .admin-form textarea { resize: vertical; } .checkbox-label { display: flex !important; grid-template-columns: none; gap: 8px !important; align-items: center; } .checkbox-label input { width: auto; } .admin-list { display: grid; gap: 10px; } .admin-list div { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); } .admin-list span { font-size: 13px; color: var(--muted); } .site-footer { margin-top: 28px; color: #dfe8dc; background: linear-gradient(180deg, #17241c, #101a14); } .site-footer-inner { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); display: grid; grid-template-columns: 1.15fr 1.25fr 1fr 1.2fr; gap: 34px; margin: 0 auto; padding: 42px 0 34px; } .footer-logo { display: inline-flex; align-items: center; min-height: 42px; border-radius: 8px; padding: 8px 10px; background: var(--paper); } .footer-logo img, .footer-logo svg { display: block; width: 190px; height: auto; } .footer-logo span { font-size: 24px; font-weight: 800; color: #ffffff; } .footer-brand p, .footer-column p { margin: 12px 0 0; font-size: 14px; line-height: 1.55; color: #b8c5b5; } .footer-column h2 { margin: 0 0 14px; font-size: 15px; color: #ffffff; } .footer-contacts { display: grid; gap: 12px; margin: 0; } .footer-contacts div { display: grid; gap: 3px; } .footer-contacts dt { font-size: 12px; color: #91a08c; } .footer-contacts dd { margin: 0; font-size: 14px; line-height: 1.45; } .site-footer a { color: #ffffff; } .site-footer a:hover { color: #d8eadc; } .footer-links { display: grid; align-content: start; gap: 9px; } .footer-links a { font-size: 14px; } .footer-action { display: inline-flex; width: fit-content; margin-top: 18px; border: 1px solid #526457; border-radius: 8px; padding: 11px 14px; font-size: 14px; font-weight: 800; } .footer-action:hover { border-color: #d8eadc; text-decoration: none; } .site-footer-bottom { border-top: 1px solid #2b362f; padding: 16px 24px 18px; text-align: center; } .site-footer-bottom p { max-width: var(--page-max); margin: 6px auto 0; font-size: 12px; line-height: 1.5; color: #9eaa9a; } .site-footer-bottom p:first-child { margin-top: 0; color: #c7d2c3; } @media (max-width: 1180px) { .site-topbar-inner { grid-template-columns: minmax(190px, 250px) minmax(0, 1fr); } .topbar-contacts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 18px; justify-content: flex-end; } .home-banners { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-value-system, .audience-system { grid-template-columns: 1fr; } .home-value-head { padding: 6px; } .audience-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .warehouse-showcase { grid-template-columns: 1fr; } .warehouse-showcase .storage-status { grid-column: 1; } .storage-status { grid-template-columns: 1fr; } .warehouse-showcase .storage-status { grid-template-columns: 1fr; } .warehouse-photo-grid { grid-template-columns: 1fr; } .calculator-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 980px) { .catalog-layout, .admin-layout, .info-hero, .info-grid, .info-grid.three, .contact-grid, .route-layout, .product-detail, .cart-layout { grid-template-columns: 1fr; } .sticky-panel { position: static; max-height: none; } .cart-summary { position: static; } .catalog-sidebar { position: static; max-height: none; } .catalog-side-stack { max-height: none; } .catalog-menu-panel > .category-list { max-height: 420px; } .info-visual { min-height: 170px; } .home-hero { grid-template-columns: 1fr; } .home-benefit-grid { grid-template-columns: 1fr; } .home-benefit-card.is-wide { min-height: 360px; } .audience-grid { grid-template-columns: 1fr; } .audience-card { min-height: 320px; } .home-carousel-copy { max-width: 86vw; } .payment-benefit-banner { grid-template-columns: 1fr; } .hero-media { min-height: 240px; } } @media (max-width: 760px) { :root { --page-gap: 16px; } .site-utility { width: calc(100% - (var(--page-gap) * 2)); display: grid; margin-top: 12px; } .site-topbar-inner, .home-banners, .promo-strip, .price-request-panel, .home-value-system, .home-benefit-grid, .audience-system, .audience-grid, .warehouse-photo-grid, .home-delivery-separator, .wishlist-request-panel, .wishlist-request-form { grid-template-columns: 1fr; } .home-catalog-heading, .home-product-section-head { align-items: flex-start; flex-direction: column; } .home-product-section-actions { width: 100%; justify-content: space-between; } .home-products-strip { grid-auto-columns: minmax(210px, 78vw); } .price-request-cover { position: static; margin-top: 16px; max-width: none; min-height: 0; } .price-request-form { grid-template-columns: 1fr; } .price-request-form fieldset { grid-template-columns: 1fr; } .site-topbar-inner { width: calc(100% - (var(--page-gap) * 2)); justify-items: start; gap: 12px; } .price-mode-inner { grid-template-columns: 1fr; justify-items: stretch; } .price-mode-inner > span { justify-self: center; text-align: center; } .price-mode-options { justify-content: center; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; } .price-mode-options::-webkit-scrollbar { display: none; } .brand-link { width: 100%; justify-content: flex-start; } .brand-link img, .brand-link svg { width: 210px; } .smart-search-form, .smart-search-form p { grid-template-columns: 1fr; grid-column: 1; } .smart-search-control { grid-template-columns: minmax(0, 1fr) 76px; } .smart-search-submit { grid-column: 1 / -1; } .catalog-search-result-panel { display: grid; gap: 12px; } .catalog-search-result-panel a { width: 100%; } .category-mega-bar { position: relative; } .category-mega-inner { width: calc(100% - (var(--page-gap) * 2)); justify-content: flex-start; } .mega-root { min-width: 0; max-width: 180px; min-height: 36px; font-size: 12px; } .mega-submenu { width: min(320px, calc(100vw - 32px)); columns: 1; } .mega-submenu.depth-2, .mega-submenu.depth-3 { position: static; width: 100%; max-height: none; margin-top: 4px; columns: 1; box-shadow: none; } .main-nav { justify-content: flex-start; } .topbar-contacts { display: grid; justify-items: start; } .hero-lead { font-size: 20px; } .home-hero { padding: 28px; min-height: auto; } .home-value-system, .audience-system { padding: 18px; } .home-value-head { padding: 4px; } .home-value-head h1 { font-size: 42px; } .home-value-head > p { font-size: 20px; } .home-benefit-card, .home-benefit-card.is-wide, .audience-card { min-height: 300px; } .home-benefit-card h2, .audience-heading h2 { font-size: 30px; } .home-carousel { min-height: 520px; } .home-carousel-slide { align-items: end; padding: 28px 22px 74px; } .home-carousel-copy { max-width: 100%; } .home-carousel-copy h1, .home-carousel-copy h2 { font-size: 38px; line-height: 1; } .home-carousel-copy p { font-size: 18px; } .home-carousel-dots { left: 22px; bottom: 24px; } .warehouse-copy { padding: 22px; } .warehouse-photo-card.large { min-height: 260px; } .hero-media { min-height: 190px; } .home-banner { min-height: 212px; } .home-hero h1 { font-size: 40px; } .settings-list div { grid-template-columns: 1fr; gap: 2px; } .section-heading { display: grid; } .content-grid, .calculator-form, .cart-delivery-fields, .cart-form-grid { grid-template-columns: 1fr; } .info-hero { padding: 28px; } .info-hero h1 { font-size: 38px; } .info-visual { min-height: 160px; } .calculator-note { max-width: none; text-align: left; } .site-footer-inner { width: calc(100% - (var(--page-gap) * 2)); grid-template-columns: 1fr; gap: 26px; } .text-page-header, .text-page-body, .info-card, .catalog-heading, .panel { padding: 18px; } .cart-hero, .cart-items-panel, .cart-summary { padding: 18px; } .cart-row { grid-template-columns: 70px minmax(0, 1fr); } .variant-row { grid-template-columns: 1fr; } .product-card-actions { grid-template-columns: 1fr; } .variant-row b { text-align: left; } .cart-row-image { width: 70px; } .cart-row-controls, .cart-row-total, .cart-row-remove { grid-column: 2; justify-self: start; } .cart-row-package-change { grid-column: 1 / -1; } .cart-payment-options, .cart-delivery-options { display: grid; } .cart-confirm-button { width: 100%; } }