.nsfb-showcase{--nsfb-maroon:#720018;--nsfb-gold:#d0a14d;--nsfb-cream:#fff9f0;background:var(--nsfb-cream);padding:22px 12px 26px;color:#321917;box-sizing:border-box}
.nsfb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 16px}
.nsfb-head h2{font-family:Georgia,serif;font-size:clamp(21px,3vw,32px);color:var(--nsfb-maroon);margin:0;font-weight:700}
.nsfb-head>a{color:var(--nsfb-maroon);font-weight:700;font-size:13px;white-space:nowrap;text-decoration:none}
.nsfb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.nsfb-card{background:#fffdf8;border:1px solid #eadcc8;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #2a090510;min-width:0;display:flex;flex-direction:column}
.nsfb-card-photo-link{display:block;overflow:hidden;background:#f9f2e8;aspect-ratio:1 / 1}
.nsfb-card-photo{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .2s}
.nsfb-card-photo-link:hover .nsfb-card-photo{transform:scale(1.03)}
.nsfb-card-content{padding:8px 7px 10px;display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.nsfb-card h3{margin:0!important;font-size:11px;line-height:1.35;font-weight:700;min-height:2.7em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.nsfb-card h3 a{color:#381b20!important;text-decoration:none}
.nsfb-card-price{font-weight:700;font-size:12px;color:#720018;line-height:1.3}
.nsfb-card-price .amount{font-weight:700;color:#720018}
.nsfb-card-pack,.nsfb-archive-pack{color:#745b53;font-size:10px;line-height:1.25;margin:0}
.nsfb-card-cta{display:block!important;text-align:center;background:#720018!important;color:#fff!important;border-radius:5px!important;padding:8px 2px!important;font-size:10px!important;line-height:1.1;text-decoration:none!important;border:0!important;font-weight:700!important;margin-top:auto!important}
.nsfb-swatches{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:6px 0 10px}
.nsfb-swatch{width:44px;height:44px;border:2px solid #e8dec9;border-radius:7px;background:#fff;overflow:hidden;padding:2px;flex:0 0 auto;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.nsfb-swatch img{width:100%;height:100%;display:block;object-fit:cover;border-radius:4px}
.nsfb-swatch.is-active,.nsfb-swatch:focus-visible{border-color:#720018;box-shadow:0 0 0 1px #d0a14d;outline:none}
.nsfb-mini{gap:3px;margin:2px 0 8px}
.nsfb-mini .nsfb-swatch{width:25px;height:25px;border-radius:5px;padding:1px}
.nsfb-mini .nsfb-colour-name{width:100%;font-size:10px;line-height:1.2;color:#720018;font-weight:600}
.nsfb-single-wrap{padding:11px 0 6px;border-bottom:1px solid #f0e3d5}
.nsfb-single-wrap>b{font-size:15px;color:#720018}
.nsfb-single{max-width:520px;margin:9px 0 12px}
.nsfb-single .nsfb-colour-name{font-size:13px;font-weight:700;color:#720018;min-width:64px;margin-left:4px}
.nsfb-pack-note{display:flex;flex-wrap:wrap;gap:4px 12px;margin:10px 0 12px;border:1px solid #ead7b7;background:#fff9f0;border-radius:7px;padding:9px 12px;font-size:13px}
.nsfb-pack-note strong{color:#720018}.nsfb-pack-note span{color:#6f5148}
.woocommerce ul.products li.product .nsfb-mini{margin-top:7px}
.woocommerce ul.products li.product .nsfb-archive-pack{margin:5px 0}
@media(min-width:650px){.nsfb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nsfb-card-content{padding:12px}.nsfb-card h3{font-size:14px}.nsfb-card-price{font-size:16px}.nsfb-card-pack{font-size:12px}.nsfb-card-cta{font-size:13px!important;padding:11px 8px!important}.nsfb-mini .nsfb-swatch{width:33px;height:33px}.nsfb-mini .nsfb-colour-name{font-size:12px}}
@media(min-width:1025px){.nsfb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.nsfb-showcase{padding:30px 22px 40px}}
@media(max-width:360px){.nsfb-grid{gap:6px}.nsfb-card-content{padding:7px 5px}.nsfb-card h3{font-size:10px}.nsfb-mini .nsfb-swatch{width:21px;height:21px}}
/* v1.1: fixed packet units, visible variation thumbnails, and accessible colour prompt */
.nsfb-price-unit{display:inline;font-size:.86em;font-weight:600;color:#755148;white-space:normal}
.nsfb-choose-label{display:block;font-weight:700;font-size:11px;color:#720018;margin:7px 0 4px}
.nsfb-attention{color:#bd192f;text-decoration:underline}
.nsfb-card .nsfb-chooser,.woocommerce ul.products li.product .nsfb-chooser{margin-top:3px}
.nsfb-card .nsfb-mini{display:flex;align-items:center;gap:4px;margin-bottom:4px}
.nsfb-card .nsfb-choose-label{margin:2px 0 4px}
.nsfb-card-cta.nsfb-add-variable,.woocommerce ul.products li.product button.nsfb-add-variable{display:block!important;width:100%;cursor:pointer;min-height:31px;background:#720018!important;border:0!important;color:white!important;letter-spacing:0;padding:8px 5px!important;border-radius:5px!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;text-align:center;margin:4px 0 0!important}
.nsfb-card-notice{display:block;min-height:1.15em;font-size:10px;line-height:1.2;color:#087144;font-weight:700;margin-top:2px}
.nsfb-card-notice.is-warning{color:#aa1d3b}
.nsfb-card-content .nsfb-mini .nsfb-colour-name{width:100%}
.woocommerce ul.products li.product .nsfb-choose-label{font-size:12px}
.woocommerce ul.products li.product .nsfb-card-notice{display:block}
.woocommerce ul.products li.product .nsfb-mini .nsfb-swatch{width:30px;height:30px}
.nsfb-single-wrap{margin-bottom:10px}
.nsfb-single-wrap .nsfb-choose-label{font-size:15px}
.nsfb-flower-product .nsfb-single-prompt{display:none;background:#720018;color:#fff;border:0;border-radius:6px;padding:12px 20px;font-size:14px;font-weight:700;cursor:pointer}
.nsfb-flower-product.nsfb-colour-unselected .nsfb-single-prompt{display:inline-block}
.nsfb-flower-product.nsfb-colour-unselected .summary .single_add_to_cart_button{display:none!important}
.nsfb-single-notice{display:inline-block;margin-left:8px;color:#ab1233;font-weight:700;font-size:13px}
.nsfb-loading{opacity:.7;cursor:wait!important}
@media(max-width:649px){.nsfb-mini .nsfb-swatch{width:28px;height:28px}.nsfb-card .nsfb-mini .nsfb-colour-name{font-size:10px}.nsfb-card-price{font-size:11px}.nsfb-card-cta.nsfb-add-variable{font-size:10px!important}}
