@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root { --ink:#17372d; --muted:#6d8178; --paper:#f7f8f3; --white:#fff; --line:#dde8df; --green:#1d7453; --deep:#145b42; --pale:#e5f1e4; --lime:#d7e9a5; --coral:#e97858; --shadow:0 18px 48px rgba(19,67,49,.09); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--paper); font-family:'DM Sans','Trebuchet MS',sans-serif; }
button,input,select { font:inherit; } button { cursor:pointer; }
.app-shell { width:min(1180px,calc(100% - 48px)); margin:auto; padding:24px 0 34px; }
.site-header,.brand,.header-nav,.store-status,.section-heading,.subfilter-row,.pagination,.site-footer { display:flex; align-items:center; }
.site-header { justify-content:space-between; gap:20px; }
.brand { gap:11px; color:var(--ink); text-decoration:none; }
.brand-symbol { display:grid; width:44px; height:44px; place-items:center; border-radius:14px 14px 14px 3px; color:white; background:var(--coral); font-family:'Space Grotesk',sans-serif; font-size:14px; font-weight:700; }
.brand-copy strong,.brand-copy small { display:block; }.brand-copy strong { font-family:'Space Grotesk',sans-serif; font-size:15px; }.brand-copy small { margin-top:2px; color:var(--muted); font-size:11px; }
.header-nav { gap:24px; }.header-nav a { color:var(--muted); font-size:13px; font-weight:700; text-decoration:none; }.header-nav a.active { color:var(--deep); }
.store-status { gap:8px; border:0; color:var(--green); background:transparent; font-size:12px; font-weight:700; }.store-status i { width:8px; height:8px; border-radius:50%; background:#45aa71; box-shadow:0 0 0 4px var(--pale); }
.hero { position:relative; display:flex; min-height:330px; align-items:center; justify-content:space-between; overflow:hidden; margin-top:34px; padding:48px 64px; border-radius:12px; background:var(--deep); color:white; }.hero::after { position:absolute; right:-80px; bottom:-130px; width:380px; height:380px; border:1px solid rgba(215,233,165,.3); border-radius:50%; box-shadow:0 0 0 38px rgba(215,233,165,.05),0 0 0 76px rgba(215,233,165,.04); content:''; }.hero-copy { position:relative; z-index:1; max-width:640px; }.hero .eyebrow { color:var(--lime); }.eyebrow { margin:0 0 10px; color:var(--coral); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:'Space Grotesk',sans-serif; letter-spacing:0; } h1 { font-size:clamp(44px,6vw,72px); line-height:.98; } h1 em { color:var(--lime); font-style:normal; }.hero-text { max-width:430px; margin:20px 0 0; color:#c9ddd1; font-size:16px; line-height:1.5; }
.hero-stamp { position:relative; z-index:1; display:grid; width:146px; height:146px; align-content:center; justify-items:center; border:1px solid rgba(215,233,165,.65); border-radius:50%; color:var(--lime); transform:rotate(8deg); }.hero-stamp span { font-family:'Space Grotesk',sans-serif; font-size:42px; font-weight:700; line-height:.85; }.hero-stamp small { margin-top:11px; color:#c9ddd1; font-size:10px; letter-spacing:.15em; text-align:center; text-transform:uppercase; }
.search-panel { position:relative; z-index:2; margin:-28px 9% 0; }.searchbar { display:flex; align-items:center; max-width:720px; margin:auto; padding:7px 7px 7px 18px; gap:12px; border:1px solid var(--line); border-radius:8px; background:var(--white); box-shadow:var(--shadow); }.search-icon { color:var(--coral); font-size:26px; line-height:1; }.searchbar input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); background:transparent; font-size:15px; }.searchbar input::placeholder { color:#98aaa0; }.searchbar button,.page-button-primary { border:0; border-radius:6px; padding:13px 20px; color:white; background:var(--deep); font-weight:700; }.searchbar button:hover,.page-button-primary:hover { background:var(--green); }
.category-section,.catalog-section { padding-top:58px; }.section-heading { justify-content:space-between; gap:18px; } h2 { font-size:29px; }.text-button,.clear-button { border:0; color:var(--green); background:transparent; font-size:13px; font-weight:700; }.text-button span { margin-left:7px; color:var(--coral); font-size:17px; }
.category-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-top:20px; }.category-button { min-height:112px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:15px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--white); text-align:left; box-shadow:0 7px 18px rgba(19,67,49,.035); transition:transform .18s ease,border-color .18s ease,background .18s ease; }.category-button:hover,.category-button.selected { border-color:var(--green); background:var(--pale); transform:translateY(-3px); }.category-icon { display:grid; width:33px; height:33px; place-items:center; border-radius:10px; color:var(--deep); background:var(--lime); font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:700; }.category-name { margin-top:12px; font-size:13px; font-weight:700; }.category-count { color:var(--muted); font-size:11px; }
.catalog-heading { padding-bottom:17px; border-bottom:1px solid var(--line); }.result-count { color:var(--muted); font-size:13px; }.subfilter-row { justify-content:flex-end; gap:10px; padding:17px 0 8px; }.subfilter-label { color:var(--muted); font-size:12px; }.subfilter-row select { min-width:230px; border:1px solid var(--line); border-radius:6px; padding:9px 11px; color:var(--ink); background:var(--white); outline:0; font-size:13px; }.subfilter-row select:focus { border-color:var(--green); }
.feedback { min-height:27px; padding:11px 0 2px; color:var(--muted); font-size:14px; }.feedback.error { color:#b4422d; }.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }.product-card { min-height:224px; display:flex; flex-direction:column; justify-content:space-between; padding:17px; border:1px solid var(--line); border-radius:8px; background:var(--white); box-shadow:0 7px 18px rgba(19,67,49,.035); animation:rise .35s ease both; }.product-card:hover { border-color:#a7cbb2; transform:translateY(-2px); transition:transform .18s ease,border-color .18s ease; }.product-art { display:grid; width:43px; height:43px; place-items:center; margin-bottom:18px; border-radius:12px; color:var(--green); background:var(--pale); font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; }.product-code { margin:0 0 8px; color:var(--muted); font-size:10px; letter-spacing:.06em; }.product-name { min-height:42px; font-size:17px; line-height:1.18; }.product-meta { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:22px; }.price-label,.stock-label { display:block; margin-bottom:4px; color:var(--muted); font-size:10px; }.price { color:var(--green); font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; }.stock { text-align:right; font-size:13px; font-weight:700; }.stock.warning { color:#b36b24; }.stock.negative { color:var(--coral); }.empty { grid-column:1/-1; padding:44px 20px; border:1px dashed #b9cbbf; border-radius:8px; color:var(--muted); text-align:center; }
.pagination { justify-content:center; gap:16px; padding-top:28px; color:var(--muted); font-size:13px; }.page-button { border:1px solid var(--line); border-radius:6px; padding:10px 14px; color:var(--ink); background:var(--white); font-weight:700; }.page-button:disabled { cursor:not-allowed; opacity:.42; }.site-footer { flex-wrap:wrap; gap:12px; margin-top:72px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }.site-footer strong { color:var(--ink); }.footer-dot { color:var(--coral); font-size:8px; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:450px) { .hero { display:block; }.hero-stamp { display:none; }.searchbar { align-items:stretch; flex-wrap:wrap; padding:12px; }.search-icon { display:none; }.searchbar input { flex-basis:100%; padding:3px 0 9px; }.searchbar button { width:100%; }.category-list,.product-grid { grid-template-columns:1fr 1fr; gap:9px; }.category-button { min-height:105px; padding:12px; }.subfilter-row { align-items:stretch; flex-wrap:wrap; justify-content:flex-start; }.subfilter-row select { min-width:0; flex:1; }.product-card { padding:14px; }.product-name { font-size:15px; }.price { font-size:19px; } }
.cart-button { display:flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:6px; padding:9px 12px; color:var(--deep); background:var(--white); font-size:12px; font-weight:700; }.cart-button b { display:grid; min-width:20px; height:20px; place-items:center; border-radius:50%; color:white; background:var(--coral); font-size:11px; }
.product-art { position:relative; display:grid; width:100%; height:156px; place-items:center; overflow:hidden; margin-bottom:16px; border-radius:8px; background:var(--pale); }.product-art img { position:absolute; inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); object-fit:contain; }
.add-cart-button { width:100%; margin-top:16px; border:1px solid var(--green); border-radius:6px; padding:10px 12px; color:var(--green); background:transparent; font-size:12px; font-weight:700; }.add-cart-button:hover { color:white; background:var(--green); }
.cart-panel { margin-top:58px; padding:26px; border:1px solid var(--line); border-radius:10px; background:var(--white); box-shadow:var(--shadow); }.cart-heading { padding-bottom:17px; border-bottom:1px solid var(--line); }.cart-items { display:grid; gap:10px; padding:18px 0; }.cart-item { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #edf2ed; }.cart-item strong,.cart-item small { display:block; }.cart-item strong { font-size:14px; }.cart-item small { margin-top:4px; color:var(--muted); font-size:11px; }.cart-empty { padding:18px 0; color:var(--muted); font-size:14px; }.quantity-control { display:flex; align-items:center; gap:12px; }.quantity-control button { width:28px; height:28px; border:1px solid var(--line); border-radius:5px; color:var(--green); background:var(--paper); font-weight:700; }.cart-summary { display:flex; justify-content:space-between; padding:16px 0; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }.cart-summary strong { color:var(--green); font-family:'Space Grotesk',sans-serif; font-size:22px; }.checkout-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:30px; margin-top:18px; padding-top:24px; border-top:1px solid var(--line); }.checkout-grid h3 { font-size:20px; }.checkout-fields { display:grid; gap:12px; margin-top:18px; }.checkout-fields label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:700; }.checkout-fields input,.checkout-fields textarea { width:100%; border:1px solid var(--line); border-radius:6px; padding:10px 11px; color:var(--ink); background:var(--paper); outline:0; resize:vertical; }.payment-options { display:grid; align-content:start; gap:12px; margin:0; border:0; padding:0; }.payment-options legend { margin-bottom:7px; color:var(--ink); font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:700; }.payment-options label { display:flex; align-items:center; gap:9px; color:var(--ink); font-size:13px; }.payment-options input { accent-color:var(--green); }.cart-actions { display:flex; align-items:center; gap:14px; margin-top:24px; }.copy-feedback { color:var(--green); font-size:13px; }
@media (max-width:680px) { .header-nav a,.store-status { display:none; }.checkout-grid { grid-template-columns:1fr; gap:22px; }.cart-panel { padding:20px 16px; } }
.product-art { height:clamp(150px,18vw,190px); }
@media (max-width:450px) { .product-art { height:135px; } }
.subcategory-cards { display:flex; flex-wrap:wrap; gap:9px; padding:18px 0 4px; }
.subcategory-card { display:grid; gap:4px; min-width:122px; border:1px solid var(--line); border-radius:8px; padding:11px 14px; color:var(--ink); background:var(--white); text-align:left; box-shadow:0 5px 14px rgba(19,67,49,.035); transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.subcategory-card:hover,.subcategory-card.selected { border-color:var(--green); background:var(--pale); transform:translateY(-2px); }
.subcategory-card strong { color:var(--deep); font-family:'Space Grotesk',sans-serif; font-size:13px; }
.subcategory-card span { color:var(--muted); font-size:11px; }
@media (max-width:450px) { .subcategory-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.subcategory-card { min-width:0; } }

:root { --ink:#173c2b; --muted:#708073; --paper:#fbfaf2; --white:#fffefa; --line:#e5e8d8; --green:#287344; --deep:#155b38; --pale:#edf5d7; --lime:#d9ed76; --coral:#ef7659; --sun:#f4c84d; --shadow:0 18px 45px rgba(35,73,35,.1); }
body { background:var(--paper); font-family:'DM Sans','Trebuchet MS',sans-serif; }
.app-shell { width:min(1240px,calc(100% - 56px)); padding-top:22px; }
.site-header { padding:0 4px 18px; border-bottom:1px solid var(--line); }
.brand-symbol { width:48px; height:48px; border-radius:16px 16px 16px 4px; color:var(--deep); background:var(--sun); font-size:15px; }
.brand-copy strong { color:var(--deep); font-size:16px; }.brand-copy small { color:#7c8d7d; }
.header-nav { gap:22px; }.header-nav a { color:var(--muted); }.header-nav a.active { color:var(--deep); }
.store-status { color:var(--deep); }.store-status i { background:#61b56d; box-shadow:0 0 0 4px #e6f2c9; }
.hero { min-height:360px; margin-top:28px; padding:56px 72px; border-radius:24px 24px 24px 5px; background:#eaf3cf; color:var(--deep); }
.hero::before { position:absolute; right:9%; top:26px; width:230px; height:230px; border:2px solid rgba(40,115,68,.16); border-radius:48% 52% 42% 58%; transform:rotate(22deg); content:''; }
.hero::after { right:-72px; bottom:-160px; width:450px; height:450px; border-color:rgba(40,115,68,.16); box-shadow:0 0 0 42px rgba(244,200,77,.18),0 0 0 84px rgba(239,118,89,.08); }
.hero-copy { max-width:600px; }.hero .eyebrow { color:var(--green); }.eyebrow { color:var(--coral); letter-spacing:.09em; }
h1 { color:var(--deep); font-size:clamp(48px,6.5vw,84px); letter-spacing:-.03em; } h1 em { color:var(--green); }.hero-text { color:#54705b; font-size:17px; }
.hero-stamp { border-color:var(--green); color:var(--green); transform:rotate(7deg); }.hero-stamp small { color:#5f7b64; }
.search-panel { margin-top:-30px; }.searchbar { max-width:780px; padding:9px 9px 9px 20px; border-radius:14px; box-shadow:0 15px 36px rgba(35,73,35,.13); }.search-icon { color:var(--coral); }.searchbar button,.page-button-primary { border-radius:10px; background:var(--coral); }.searchbar button:hover,.page-button-primary:hover { background:#d85e45; }
.category-section,.catalog-section { padding-top:64px; }.section-heading { align-items:end; }.section-heading h2 { color:var(--deep); font-size:32px; letter-spacing:-.02em; }.category-list { grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; margin-top:24px; }
.category-button { min-height:136px; padding:17px; border-radius:14px 14px 14px 3px; box-shadow:0 8px 20px rgba(35,73,35,.045); }.category-button:hover,.category-button.selected { border-color:var(--green); background:#f0f7d9; }.category-icon { width:42px; height:42px; border-radius:13px; color:var(--deep); background:var(--sun); }.category-name { font-size:14px; }.category-count { color:#819080; }
.catalog-heading { padding-bottom:19px; }.subfilter-row { padding:17px 0 10px; }.subfilter-row select { border-radius:10px; background:var(--white); }.subcategory-card { border-radius:12px 12px 12px 3px; }.subcategory-card strong { color:var(--green); }.subcategory-card:hover,.subcategory-card.selected { background:#f0f7d9; }
.product-grid { gap:16px; }.product-card { min-height:410px; padding:14px; border-radius:15px 15px 15px 4px; box-shadow:0 9px 24px rgba(35,73,35,.055); }.product-card:hover { border-color:#9ac486; }.product-art { height:205px; margin-bottom:17px; border-radius:11px 11px 11px 3px; background:#f3f6e8; }.product-code { color:#89958b; }.product-name { color:var(--deep); font-size:18px; }.price { color:var(--coral); }.add-cart-button { border-color:var(--green); border-radius:9px; background:#f7faee; }.add-cart-button:hover { background:var(--green); }
.pagination { padding-top:34px; }.page-button { border-radius:9px; }.site-footer { margin-top:88px; }
.cart-button { border-radius:10px; }.cart-panel { border-radius:18px 18px 18px 5px; }.cart-heading h2 { color:var(--deep); }
@media (max-width:900px) { .category-list { grid-template-columns:repeat(4,minmax(0,1fr)); }.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) { .app-shell { width:min(100% - 28px,560px); }.hero { min-height:330px; margin-top:22px; padding:42px 30px; border-radius:20px 20px 20px 4px; }.hero::before { right:-30px; top:20px; width:170px; height:170px; }.hero-stamp { width:105px; height:105px; }.category-list,.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.category-section,.catalog-section { padding-top:48px; }.product-card { min-height:390px; }.product-art { height:175px; } }
@media (max-width:450px) { .site-header { align-items:flex-start; }.hero { padding:36px 24px; }.hero h1 { font-size:48px; }.category-list,.product-grid { gap:10px; }.category-button { min-height:112px; padding:13px; }.product-card { min-height:355px; padding:12px; }.product-art { height:145px; }.product-name { font-size:15px; }.price { font-size:19px; } }
.cep-row { display:flex; align-items:end; gap:10px; }.cep-row label { flex:1; }.cep-button { border:1px solid var(--green); border-radius:6px; padding:10px 12px; color:var(--green); background:var(--white); font-size:12px; font-weight:700; }.cep-button:disabled { cursor:wait; opacity:.55; }.address-feedback { min-height:18px; margin:0; color:var(--muted); font-size:12px; }.address-feedback.error { color:#b4422d; }.address-feedback.success { color:var(--green); }
@media (max-width:450px) { .cep-row { align-items:stretch; flex-wrap:wrap; }.cep-button { width:100%; } }
