.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;text-decoration:none;border:0;border-radius:999px;padding:13px 20px;cursor:pointer;font-weight:bold}.button:hover{background:#304b38}.button.secondary{background:transparent;color:var(--green);border:1px solid var(--green)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.card img{width:100%;height:210px;object-fit:cover;border-radius:10px;background:var(--lime)}.card h3{margin-bottom:8px}.price{font-weight:bold}.form{display:grid;gap:15px;max-width:600px}.field{display:grid;gap:6px}.field label{font-weight:bold;font-size:.9rem}.field input,.field select,.field textarea,.toolbar input,.toolbar select{border:1px solid #cbd5c8;border-radius:8px;background:white;padding:12px;color:var(--ink)}.notice{padding:12px 15px;border-radius:8px;background:#edf3e7}.notice.error{background:#fbe9e6;color:#8c2f26}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:var(--paper)}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.actions{display:flex;gap:8px;align-items:center}.quantity{width:72px}.summary{max-width:420px;margin:24px 0 0 auto}.summary p{display:flex;justify-content:space-between}.empty{padding:35px;text-align:center;color:var(--muted)}

/* Shared KAPE dropdown treatment. Keep native select behavior and keyboard access. */
select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;width:100%;min-height:46px;padding:11px 42px 11px 14px;border:1px solid #d6e0d1;border-radius:12px;background-color:rgba(250,252,247,.92);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23557064' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:#203b2e;font:inherit;line-height:1.35;cursor:pointer;box-shadow:0 2px 7px rgba(34,65,44,.035);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
select:not([multiple]):not([size]):hover:not(:disabled){border-color:#b7cbb0;background-color:#f5f8f1}
select:not([multiple]):not([size]):focus-visible{outline:3px solid rgba(141,183,122,.32);outline-offset:2px;border-color:#78966e;box-shadow:0 0 0 1px rgba(120,150,110,.12)}
select:not([multiple]):not([size]):disabled{color:#89958a;background-color:#eef1eb;border-color:#dfe4dc;cursor:not-allowed;opacity:.82}
select:not([multiple]):not([size])[aria-invalid="true"]{border-color:#bd796d;box-shadow:0 0 0 3px rgba(189,121,109,.12)}
select:not([multiple]):not([size]) option{background:#fffef9;color:#203b2e}
@media(prefers-reduced-motion:reduce){select:not([multiple]):not([size]){transition:none}}
.product-image-link{position:relative;display:block}
.stock-badge{position:absolute;top:12px;left:12px;z-index:1;padding:8px 12px;border-radius:999px;background:#f2f2e8;color:#294536;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 3px 12px #10251d20}
.stock-badge.is-sold-out{background:#294536;color:#fff}
.is-sold-out-card .product-image-link img,.product-detail.is-sold-out-card .product-detail-image img{filter:grayscale(.55) saturate(.6);opacity:.78}
.product-detail{max-width:760px;margin-inline:auto}
.product-detail-image{position:relative;margin-bottom:22px}
.product-detail-image img{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:12px;background:var(--lime)}
/* Shared interaction and accessibility details used across storefront pages. */
[hidden]{display:none!important}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(116,151,99,.46);outline-offset:3px}
:where(button,a.button){transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:where(button:disabled,a[aria-disabled="true"]){cursor:not-allowed}
:where(.price,[data-subtotal],[data-delivery-fee],[data-discount],[data-total],[data-order-total],[data-order-subtotal]){font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){:where(button,a.button){transition:none}}
