* { 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(190px, 260px) 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 { display: block; width: clamp(178px, 15vw, 238px); 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-bottom: 1px solid var(--line); background: rgba(255, 254, 250, 0.96); backdrop-filter: blur(14px); } .category-mega-inner { width: min(var(--page-max), calc(100% - (var(--page-gap) * 2))); display: flex; flex-wrap: wrap; gap: 7px; align-items: center; justify-content: center; margin: 0 auto; padding: 10px 0; overflow: visible; } .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: 104px; max-width: 220px; min-height: 42px; border-radius: 999px; padding: 8px 14px 8px 10px; font-size: 13px; line-height: 1.15; font-weight: 850; color: var(--brand-green); text-align: center; white-space: normal; } .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-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(980px, calc(100% - (var(--page-gap) * 2))); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; 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: wrap; gap: 8px; justify-content: center; } .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; } .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); white-space: nowrap; } .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: 128px; border: 1px solid var(--line); border-radius: 8px; padding: 20px 22px; background: var(--paper); box-shadow: var(--shadow-soft); } .arrival-card { color: #ffffff; background: linear-gradient(135deg, rgba(23, 61, 44, 0.96), rgba(39, 99, 74, 0.92)), 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 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(26px, 3vw, 40px); 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 { color: var(--brand-green); } .temperature-card strong { font-variant-numeric: tabular-nums; } .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-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); } .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; } .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 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-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-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.36fr); gap: 18px; align-items: start; margin-top: 18px; } .cart-items-panel, .cart-summary { padding: 20px; } .cart-empty { margin: 0; color: var(--muted); } .cart-items { display: grid; gap: 10px; } .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-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-main h2 { margin: 0 0 4px; font-size: 16px; } .cart-row-main p { margin: 0; font-size: 14px; color: var(--muted); } .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 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-summary-action { width: 100%; justify-content: center; margin-top: 10px; } .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-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 { display: block; width: 150px; 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)); } .storage-status { 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; } .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; } .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 { 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; } .brand-link { width: 100%; justify-content: flex-start; } .brand-link img { 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; } .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; } .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 { 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; } }