/* Small extensions to the original Kru Wee design. */
@font-face { font-family:KruWeeThai;src:url('NotoSansThai-variable.ttf') format('truetype');font-weight:100 900;font-display:swap; }
#kwn-shop { min-width:0; }
.kwn-product + .kwn-product { margin-top:28px; }
.kwn-sample-button { display:block;padding:0;border:0;background:transparent;width:100%;cursor:zoom-in; }
.kwn-cover-button { font:inherit;color:inherit;cursor:pointer;text-align:inherit;border:0; }
.kwn-catalogue-tools { display:flex;gap:16px;justify-content:space-between;margin:28px 0 16px; }
.kwn-catalogue-tools form { display:flex;flex:1;max-width:480px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffdf8; }
.kwn-catalogue-tools input,.kwn-catalogue-tools select { min-width:0;min-height:48px;padding:12px 15px;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#fffdf8; }
.kwn-catalogue-tools input { border:0;flex:1;width:100%; }
.kwn-catalogue-tools button { width:48px;border:0;background:transparent;font-size:24px;color:var(--ink);cursor:pointer; }
.kwn-categories { display:flex;gap:9px;flex-wrap:wrap;margin:0 0 25px; }
.kwn-categories button,.kwn-pagination button { font:700 13px/1.4 var(--body,Arial);border:1px solid var(--line);border-radius:100px;background:#fffdf8;color:var(--ink);padding:10px 17px;min-height:44px;cursor:pointer; }
.kwn-categories button[aria-pressed=true] { background:var(--ink);color:var(--paper); }
.kwn-pagination { display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px; }
.kwn-pagination button:disabled { opacity:.4;cursor:default; }
.kwn-empty { border:1px solid var(--line);border-radius:20px;padding:35px;background:#fffdf8; }
.kwn-material-dialog .shop-dialog-art { display:flex;flex-direction:column;gap:15px; }
.kwn-material-dialog .shop-dialog-art img { width:100%;height:auto;max-height:75vh;object-fit:contain;border-radius:10px; }
.kwn-material-dialog .shop-dialog-copy { position:sticky;top:0;align-self:start; }
.kwn-included { padding-left:20px;font-size:15px;line-height:1.7; }
.kwn-material-dialog .demo-pay-button { margin-top:15px; }
.shop-promo-art>img { width:100%;height:100%;object-fit:cover;border-radius:14px; }
.kwn-checkout [hidden] { display:none!important; }
.kwn-checkout .demo-payment-stage { min-width:0; }
.kwn-checkout h3 { margin:18px 0 12px; }
.kwn-checkout-field { display:flex;flex-direction:column;gap:7px;font:700 13px/1.5 var(--body,Arial);margin:17px 0;color:#263b4d; }
.kwn-checkout-field input { min-height:48px;border:1px solid #b8c9c4;border-radius:10px;padding:10px 13px;background:#fff;color:#263b4d;font:400 16px/1.5 var(--body,Arial);width:100%; }
.kwn-checkout .demo-pay-button { white-space:normal;text-align:center; }
.kwn-checkout .demo-label { line-height:1.6;white-space:normal; }
.kwn-checkout .demo-modal-qr img { object-fit:contain; }
.kwn-checkout .demo-ready-mark { font-size:38px; }
.kwn-order-number,.kwn-keep-link { font-size:12px;color:#52676d;overflow-wrap:anywhere;margin-top:18px; }
.kwn-receipt-link { display:inline-block;padding:16px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px; }
.kwn-wallet { display:grid;grid-template-columns:auto 1fr;gap:8px 15px;font:500 13px/1.5 var(--body,Arial);padding:15px 0;border-block:1px solid #d7ddd6; }
.kwn-wallet dt { color:#52676d; }.kwn-wallet dd { margin:0;font-weight:700;overflow-wrap:anywhere; }
.kwn-transfer-instructions { font-size:14px;line-height:1.7; }
.kwn-owner-note { font-size:13px;color:#52676d; }.kwn-live-option { display:flex;gap:8px;align-items:center;font-size:13px;margin-block:15px;min-height:44px; }
.kwn-checkout .demo-feedback { overflow-wrap:anywhere; }
.kwn-receipt-body { margin:0;padding:30px 16px;color:#263b4d;background:#fffaf0;font:400 16px/1.6 KruWeeThai,Arial,sans-serif; }
.kwn-receipt { max-width:700px;margin:auto;padding:clamp(24px,6vw,55px);border:1px solid #d3ded5;border-radius:24px;background:#fff; }
.kwn-receipt header { display:flex;gap:13px;align-items:center; }.kwn-receipt header img { width:52px;height:52px; }.kwn-receipt header strong { font-size:24px;line-height:1.1; }.kwn-receipt small { font-size:10px;letter-spacing:.15em; }
.kwn-receipt h1 { margin-top:36px;font-size:30px; }.kwn-receipt-line { display:flex;gap:25px;justify-content:space-between;padding:18px 0;border-block-end:1px solid #e3e7e2; }.kwn-receipt-line strong { white-space:nowrap; }
.kwn-receipt nav { display:flex;gap:22px;align-items:center;margin-top:30px;flex-wrap:wrap; }.kwn-receipt button { cursor:pointer;min-height:46px;border:0;border-radius:10px;padding:12px 18px;background:#263b4d;color:white;font:inherit; }.kwn-notice { background:#fff0c9;padding:12px;border-radius:8px; }
@media(max-width:700px) { .kwn-catalogue-tools { flex-wrap:wrap; }.kwn-catalogue-tools form { flex-basis:100%;max-width:none; }.kwn-catalogue-tools select { width:100%; }.kwn-material-dialog .shop-dialog-copy { position:static; }.kwn-checkout .demo-order-summary { padding:20px; }.kwn-checkout .demo-order-summary .demo-product-image { max-height:180px;object-fit:contain; }.kwn-checkout .demo-payment-stage { padding:24px; }.kwn-checkout .demo-order-summary h2 { font-size:26px; }.kwn-pagination { gap:12px; }.kwn-pagination button { padding-inline:12px; } }
@media print { .kwn-receipt-body { background:white;padding:0; }.kwn-receipt { border:0;max-width:none; }.kwn-receipt nav { display:none; } }
@media(prefers-reduced-motion:reduce) { .kwn-checkout *,.kwn-product * { scroll-behavior:auto!important;transition:none!important;animation:none!important; } }
