:root{--green:#07563e;--lime:#dff4e8;--navy:#14233b;--ink:#13251e;--muted:#687971;--line:#dce5e1;--bg:#f3f6f5;--red:#b42318}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px Inter,Segoe UI,system-ui,sans-serif}.top{height:74px;padding:0 max(20px,calc((100vw - 1420px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;gap:11px;align-items:center;color:inherit;text-decoration:none}.brand>span{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:950;font-size:17px}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{color:var(--muted);margin-top:2px}.cart-button,.primary,.toolbar button,.pagination button{border:0;border-radius:10px;background:var(--green);color:#fff;padding:11px 15px;font-weight:850;cursor:pointer}.cart-button b{background:#fff;color:var(--green);padding:3px 7px;border-radius:999px;margin-left:7px}main{max-width:1420px;margin:auto;padding:22px}.hero{min-height:320px;border-radius:24px;padding:45px;display:grid;grid-template-columns:1.5fr .7fr;gap:30px;align-items:center;color:#fff;background:radial-gradient(circle at 85% 20%,#16835f 0,#07563e 45%,#043f2e 100%);overflow:hidden}.eyebrow{font-weight:900;letter-spacing:1.6px;color:#b7f2d8}.hero h1{font-size:clamp(36px,6vw,70px);line-height:.98;margin:12px 0 20px;letter-spacing:-2px}.hero p{max-width:650px;font-size:17px;line-height:1.6;color:#def2e9}.hero-card{background:#ffffff14;border:1px solid #ffffff2b;border-radius:18px;padding:25px;display:grid;gap:7px;backdrop-filter:blur(8px)}.hero-card strong{font-size:17px;margin-top:8px}.hero-card span{color:#dceee7}.toolbar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:18px 0}.toolbar form{display:grid;grid-template-columns:minmax(300px,2fr) 1fr 1fr 1fr;gap:10px}.search{border:1px solid #b7c8c0;border-radius:10px;display:flex;align-items:center;padding-left:12px}.search input{border:0;outline:0;padding:12px;width:100%;font:inherit}.search button{border-radius:8px;margin:3px}.toolbar select{width:100%;border:1px solid #b7c8c0;border-radius:10px;padding:11px;background:#fff}.result-meta{display:flex;justify-content:space-between;color:var(--muted);margin-top:12px}.link{background:transparent!important;color:var(--green)!important;padding:0!important}.products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.product-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.picture{height:190px;background:#f8faf9;display:grid;place-items:center;position:relative}.picture img{width:100%;height:100%;object-fit:contain}.no-image{color:#9aa8a1;font-weight:800}.stock{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:999px;background:#e4f6eb;color:var(--green);font-size:11px;font-weight:850}.stock.empty{background:#feeceb;color:var(--red)}.product-body{padding:14px;display:flex;flex-direction:column;flex:1}.category{font-size:11px;color:var(--muted);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-body h3{font-size:15px;line-height:1.3;margin:7px 0;min-height:39px}.code{font-size:11px;color:var(--muted)}.unit{font-weight:850;color:var(--green);margin:10px 0 3px}.price{font-size:20px;font-weight:950;margin-bottom:12px}.add{margin-top:auto;width:100%;border:0;border-radius:9px;background:var(--navy);color:#fff;padding:11px;font-weight:850;cursor:pointer}.add:disabled{background:#c6ceca}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;padding:25px}.pagination button:disabled{opacity:.4}.drawer{position:fixed;right:0;top:0;z-index:40;width:min(460px,100%);height:100vh;background:#fff;box-shadow:-12px 0 35px #12291f35;transform:translateX(105%);transition:.22s;display:flex;flex-direction:column}.drawer.open{transform:none}.backdrop{position:fixed;inset:0;background:#101c1780;z-index:30;display:none}.backdrop.open{display:block}.drawer-head,.drawer-foot{padding:18px;border-bottom:1px solid var(--line)}.drawer-head{display:flex;justify-content:space-between}.drawer-head h2{margin:0}.close{border:0;background:#edf3f0;color:var(--ink);border-radius:9px;width:38px;height:38px;font-size:25px;cursor:pointer}.cart-items{padding:10px 18px;overflow:auto;flex:1}.cart-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px 0;border-bottom:1px solid var(--line)}.cart-row strong,.cart-row small{display:block}.cart-row small{color:var(--muted);margin-top:4px}.qty{display:flex;align-items:center;gap:8px}.qty button{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer}.remove{color:var(--red);border:0;background:none;cursor:pointer;padding:4px}.drawer-foot{border-top:1px solid var(--line);border-bottom:0}.total{display:flex;justify-content:space-between;align-items:center}.total strong{font-size:23px}.drawer-foot small{display:block;color:var(--muted);margin:7px 0 13px}.primary{width:100%;font-size:15px}dialog{width:min(680px,calc(100% - 24px));border:0;border-radius:18px;padding:0;box-shadow:0 20px 60px #0004}dialog::backdrop{background:#101c1790}dialog form{padding:22px}.modal-head{display:flex;justify-content:space-between}.modal-head h2,.modal-head p{margin:0 0 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.form-grid label{font-weight:750}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #b7c8c0;border-radius:9px;font:inherit}.form-grid textarea{min-height:75px}.wide{grid-column:1/-1}.modal-total{padding:18px 0}.trap{position:absolute;left:-9999px}.success{background:#e4f6eb;color:var(--green);padding:11px;border-radius:9px}.error{background:#feeceb;color:var(--red);padding:11px;border-radius:9px}footer{max-width:1420px;margin:20px auto;padding:25px;display:flex;justify-content:space-between;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:1150px){.products{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.hero{grid-template-columns:1fr;padding:30px}.hero-card{display:none}.toolbar form{grid-template-columns:1fr 1fr}.products{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){main{padding:10px}.top{height:65px;padding:0 11px}.hero{min-height:260px;padding:25px 20px;border-radius:17px}.hero h1{letter-spacing:-1px}.toolbar form{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.picture{height:145px}.product-body{padding:11px}.product-body h3{font-size:13px}.price{font-size:17px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}footer{display:grid;gap:6px;padding:18px}.brand small{display:none}}
/* Fixed media box prevents intrinsic portrait dimensions from overflowing grid tracks. */
.cart-unit-label{display:block;font-size:12px;margin-top:8px;color:var(--muted)}.cart-unit-label select{display:block;width:100%;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit;color:var(--ink);margin-top:4px}.cart-row>div{min-width:0}#cartUnitNotice[hidden]{display:none!important}
.stock{max-width:calc(100% - 20px);white-space:normal;overflow-wrap:anywhere}
.picture{height:190px;min-height:190px;flex:0 0 190px;overflow:hidden;display:block}.picture img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.picture .no-image{position:absolute;inset:0;display:grid;place-items:center}.stock{z-index:1}.stock.low{background:#fff1cd;color:#875b00}.product-body{min-width:0}.product-body h3{overflow-wrap:anywhere}.hero h1,.hero p,.hero-card{overflow-wrap:anywhere;white-space:pre-line}
/* Native centered cart modal, including keyboard focus and Escape support. */
dialog.drawer{inset:0;margin:auto;transform:none;width:min(600px,calc(100% - 24px));height:auto;max-height:85vh;max-height:85dvh;padding:0;border:0;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px #0004;display:none}dialog.drawer[open]{display:flex}dialog.drawer::backdrop{background:#101c1780}.drawer-head,.drawer-foot{flex-shrink:0}.cart-items{min-height:0;overflow:auto}.cart-row{min-width:0}.cart-row strong{overflow-wrap:anywhere}.drawer-head small{display:block}body:has(dialog[open]){overflow:hidden}
@media(max-width:620px){.picture{height:145px;min-height:145px;flex-basis:145px}.cart-row{grid-template-columns:minmax(0,1fr) auto}.hero>div{min-width:0}}
