.shop-intro{background:#e6f6ef;padding:52px 0 42px}.shop-intro h1{font:400 clamp(39px,4.5vw,64px)/1.1 Georgia,'Noto Sans Thai',serif;letter-spacing:-1.4px;margin:4px 0 12px}.shop-intro p{margin:0;max-width:780px}.shop-layout{padding:38px 0 90px}.shop-controls{display:grid;grid-template-columns:1.5fr 1fr auto;gap:13px;align-items:end;margin-bottom:16px}.shop-controls label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}.shop-controls input,.shop-controls select{width:100%;height:49px;background:#fff;border:1px solid #bad6c8;border-radius:8px;padding:0 15px;color:var(--ink);font:inherit}.basket-button{height:49px;background:#ffcc50;border:0;border-radius:8px;padding:0 20px;color:#204234;font-weight:700;cursor:pointer;white-space:nowrap}.basket-button:hover{background:#ffe084}.shop-meta{color:#537466;font-size:14px;margin:0 0 20px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product{background:#fff;border:1px solid #d8e5dc;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.product-image{height:235px;background:#f7f8f3;display:flex;align-items:center;justify-content:center;padding:16px}.product-image img{max-width:100%;max-height:100%;object-fit:contain}.product-body{padding:18px;display:flex;flex:1;flex-direction:column}.product-name{font-size:16px;font-weight:700;line-height:1.35;margin:0 0 10px}.product-price{font-size:20px;font-weight:700;color:#0d6f59;margin-top:auto}.product-status{font-size:12px;color:#a34f27;margin:5px 0}.product button{margin-top:14px;width:100%;padding:11px 12px;border:0;border-radius:7px;background:#0f745e;color:white;font:700 14px 'DM Sans','Noto Sans Thai',sans-serif;cursor:pointer}.product button:hover{background:#0b5b49}.product button:disabled{background:#d8ddd8;color:#52635a;cursor:not-allowed}.empty{padding:40px 20px;border:1px dashed #b9d5c8;border-radius:12px;text-align:center}.basket-overlay[hidden],.basket-panel[hidden]{display:none}.basket-overlay{position:fixed;inset:0;background:#0d2927aa;z-index:8}.basket-panel{position:fixed;z-index:9;right:0;top:0;bottom:0;width:min(100%,480px);background:#fffdf8;box-shadow:-12px 0 35px #082b2533;display:flex;flex-direction:column;padding:23px;overflow:auto}.basket-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.basket-top h2{font:400 36px Georgia,'Noto Sans Thai',serif;margin:0}.icon-button{border:0;background:#e8f3ee;color:#164c3b;border-radius:50%;width:38px;height:38px;font-size:23px;cursor:pointer}.basket-items{flex:1;margin:23px 0}.basket-row{display:grid;grid-template-columns:1fr auto;gap:6px 15px;border-bottom:1px solid #dde6df;padding:12px 0}.basket-row strong{font-size:15px;line-height:1.35}.basket-row small{display:block;color:#63796c}.basket-row .qty{display:flex;align-items:center;gap:10px}.qty button{border:1px solid #bad6c8;background:#fff;border-radius:6px;min-width:30px;min-height:30px;cursor:pointer}.basket-total{display:flex;justify-content:space-between;font-weight:700;font-size:18px;border-top:2px solid #bfdace;padding-top:16px}.basket-note{font-size:13px;color:#536b5d}.basket-actions{display:grid;gap:10px}.basket-actions a,.basket-actions button{display:block;text-align:center;padding:13px;border-radius:8px;font:700 15px 'DM Sans','Noto Sans Thai',sans-serif;text-decoration:none;cursor:pointer}.send-order{background:#ffcc50;color:#203f32;border:0}.copy-order{background:#fff;border:1px solid #0f745e;color:#0f745e}.basket-actions a[aria-disabled=true]{opacity:.5;pointer-events:none}.shop-footer-note{font-size:14px;color:#62766c;margin-top:25px}
@media(max-width:950px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.shop-intro{padding:39px 0 30px}.shop-layout{padding-top:25px}.shop-controls{grid-template-columns:1fr 1fr}.shop-controls .search-field{grid-column:1/-1}.basket-button{grid-column:1/-1}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-image{height:160px;padding:9px}.product-body{padding:12px}.product-name{font-size:14px}.product-price{font-size:17px}.product button{font-size:13px}}
@media(max-width:370px){.product-grid{grid-template-columns:1fr}.product-image{height:205px}}

.show-more{display:block;margin:28px auto 0;padding:12px 22px;border:1px solid #0f745e;border-radius:100px;background:#fff;color:#0f745e;font:700 15px 'DM Sans','Noto Sans Thai',sans-serif;cursor:pointer}.show-more[hidden]{display:none}.show-more:hover{background:#e7f6ee}

/* Carry the Thai market palette through the catalogue. */
.shop-intro{background:#f7e9c9;background-image:repeating-linear-gradient(135deg,transparent 0 30px,rgba(159,85,34,.05) 30px 32px);border-bottom:5px solid #e3b344}
.shop-intro h1{color:#174e3a}
.shop-controls input,.shop-controls select{border-color:#d4c49a;background:#fffdf7}
.basket-button,.send-order{background:#f3c34d;color:#173e2e}

/* Short product-to-basket cue after an add button is pressed. */
.basket-flyer{position:fixed;z-index:22;object-fit:contain;background:#fff;border:2px solid #f3c34d;border-radius:14px;box-shadow:0 8px 22px #103e2e45;pointer-events:none}
.basket-arrival-target{position:fixed;top:14px;right:14px;width:54px;height:54px;display:grid;place-items:center;background:#f3c34d;border:2px solid #196d57;border-radius:50%;box-shadow:0 5px 18px #103e2e40;font-size:25px;line-height:1;z-index:21;pointer-events:none}
.basket-arrived{animation:basket-pop .42s ease-out}
@keyframes basket-pop{50%{transform:scale(1.16)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.basket-arrived{animation:none}}
.product{border-color:#e0d1ab;border-radius:8px}
.product-image{background:#fcf8ec}
.product-price{color:#176048}
.product-status{color:#9b452b}
.product button{background:#155a43}
.product button:hover{background:#103e34}
.show-more{border-color:#155a43;color:#155a43;background:#fff9ed}
.show-more:hover{background:#f7edcf}
.basket-panel{background:#fff9ed}
