/* Commerce refresh. These selectors deliberately exclude the site's header, footer and general headings. */
:is(.bsm-cm,.bsm-cm-intro,.bsm-cm-carousel,.bsm-cm-category-pills,.bsm-slider,.bsm-archive,.bsm-related){--cm-ink:#12264a;--cm-muted:#61738e;--cm-blue:#0074d5;--cm-pink:#ce237d;--cm-yellow:#f2c733;--cm-green:#00866c;--cm-line:#e0e8f2;--cm-accent:#0074d5}
.bsm-cm-intro{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:44px;padding:48px 58px;border:1px solid #d9e8f9;border-radius:26px;background:linear-gradient(115deg,#eaf6ff 0%,#f7fbff 58%,#fff0f8 100%);overflow:hidden;color:var(--cm-ink)}
.bsm-cm-eyebrow{margin:0 0 14px;color:var(--cm-accent);font:700 13px/1.5 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.bsm-cm-intro-title{margin:0 0 22px;font:700 56px/1.08 'Outfit',sans-serif;letter-spacing:-.035em;color:var(--cm-ink);overflow-wrap:anywhere}
.bsm-cm-colour-bars{display:flex;gap:6px;margin-bottom:22px}.bsm-cm-colour-bars i{width:30px;height:5px;border-radius:4px;background:#008ee1}.bsm-cm-colour-bars i:nth-child(2){background:#ed389c}.bsm-cm-colour-bars i:nth-child(3){background:#f2c733}.bsm-cm-colour-bars i:nth-child(4){background:#21ad83}
.bsm-cm-intro-description{font:400 17px/1.65 'DM Sans',sans-serif;color:var(--cm-muted);max-width:650px}.bsm-cm-intro-description p{margin:0 0 14px}.bsm-cm-intro-note{font:600 13px/1.5 'DM Sans',sans-serif;color:#48617e;margin-top:16px}
.bsm-cm-intro-art{position:relative;max-width:330px;width:100%;justify-self:center;padding:12px}.bsm-cm-intro-art::before{content:'';position:absolute;inset:18px -10px -5px 10px;background:linear-gradient(140deg,#bdeaff,#f1dbf6);border-radius:48% 52% 42% 58%/57% 40% 60% 43%;transform:rotate(8deg)}
.bsm-cm-intro-photo{position:relative;aspect-ratio:1.2;background:#fff;border:1px solid #fff;border-radius:22px;padding:22px;box-shadow:0 15px 30px #12375e10;transform:rotate(-4deg);display:flex;align-items:center;justify-content:center}.bsm-cm-intro-photo img{display:block;height:230px;width:100%;object-fit:contain}.bsm-cm-art-label{position:relative;display:block;text-align:center;background:#fff5bb;border:1px solid #f0df87;padding:10px 14px;border-radius:8px;font:700 12px/1.4 'DM Sans',sans-serif;color:#54420d;transform:rotate(2deg);max-width:240px;margin:-10px auto 0}
.bsm-cm-intro:not(:has(.bsm-cm-intro-art)){grid-template-columns:1fr}
nav.bsm-cm-category-pills{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0;min-width:0}nav.bsm-cm-category-pills a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid #dce6f2;border-radius:99px;background:#fff;color:#405777;text-decoration:none;font:600 14px/1.4 'DM Sans',sans-serif;white-space:nowrap;transition:background .18s,border-color .18s}nav.bsm-cm-category-pills a:nth-child(3){--pill:#ce237d;--tint:#fff0f8}nav.bsm-cm-category-pills a:nth-child(4){--pill:#886500;--tint:#fff9dd}nav.bsm-cm-category-pills a:nth-child(5){--pill:#00866c;--tint:#eafaf4}nav.bsm-cm-category-pills a:is(:hover,.is-active){background:var(--tint,#eaf5ff);border-color:var(--pill,#0074d5);color:var(--pill,#0074d5)}
/* Shared cards: native WooCommerce archive output and the existing homepage sliders. */
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product{--card-accent:#0074d5;--card-tint:#edf7ff;--card-ink:#fff;background:linear-gradient(180deg,var(--card-tint),#fff 62%);border:1px solid #dde7f2;border-top:4px solid var(--card-accent);border-radius:18px;box-shadow:0 5px 18px #12375e06;overflow:hidden;text-align:inherit;transition:transform .2s,box-shadow .2s;min-width:0}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product:nth-child(4n+2){--card-accent:#ce237d;--card-tint:#fff1f8}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product:nth-child(4n+3){--card-accent:#f2c733;--card-tint:#fffae6;--card-ink:#12264a}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product:nth-child(4n+4){--card-accent:#00866c;--card-tint:#eafaf4}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product:hover{box-shadow:0 12px 26px #12375e12;transform:translateY(-3px)}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .woocommerce-loop-product__link{display:flex;flex-direction:column;flex:1;color:#12264a;text-decoration:none;min-width:0}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product img{object-fit:contain;background:transparent;mix-blend-mode:multiply;width:100%;height:235px;margin:0;padding:22px;box-sizing:border-box}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .woocommerce-loop-product__title{font-family:var(--bsm-product-font,'Outfit'),sans-serif;font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:#12264a;text-align:inherit;padding:18px 20px 12px;margin:0;min-height:86px;overflow-wrap:anywhere}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .price{display:block;color:#0074d5;font:700 17px/1.4 'DM Sans',sans-serif;text-align:inherit;padding:0 20px;margin:0}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product a.button{display:flex;align-items:center;justify-content:center;min-height:48px;margin:20px 20px 0;padding:13px 14px;background:var(--card-accent);border:1px solid var(--card-accent);border-radius:10px;color:var(--card-ink);font:700 14px/1.4 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;white-space:normal;text-align:center;box-shadow:0 4px 10px color-mix(in srgb,var(--card-accent) 18%,transparent)}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product a.button:hover{background:#12264a;border-color:#12264a;color:#fff}
.bsm-cm-carousel{position:relative;min-width:0}.bsm-cm-carousel-heading{max-width:calc(100% - 120px);margin-bottom:28px}.bsm-cm-carousel-title{font:700 38px/1.15 'Outfit',sans-serif;letter-spacing:-.025em;color:#12264a;margin:0 0 12px}.bsm-cm-carousel-description{font:400 16px/1.6 'DM Sans',sans-serif;color:#61738e;margin:0}.bsm-cm-carousel .bsm-slider{position:static}
.bsm-slider .bsm-slider-controls button{height:44px;width:44px;border:1px solid #cae2f7;background:#fff;color:#0074d5;box-shadow:none}.bsm-slider .bsm-slider-controls button:hover{background:#0074d5;color:#fff}.bsm-slider .bsm-slider-controls button:disabled{opacity:.35;cursor:default;background:#fff;color:#61738e}
.bsm-cm-carousel .bsm-slider-controls{position:absolute;right:0;top:20px;margin:0}
.bsm-slider.woocommerce ul.products.bsm-track{scrollbar-color:#a9cce8 #edf4fa;scrollbar-width:thin;padding-bottom:18px!important}
.bsm-cm-grid .woocommerce-result-count{color:#61738e;font-size:14px;margin-bottom:26px}.bsm-cm-grid .woocommerce-ordering select{background:#f6faff;border:1px solid #d8e5f2;border-radius:10px;padding:12px 16px;color:#12264a;min-height:46px;max-width:100%}.bsm-cm-grid nav.woocommerce-pagination{margin-top:32px}
/* Single product buying area. Native gallery, variations, payment hooks and personalisers remain intact. */
.bsm-cm-single .bsm-product-gallery{padding:0;background:linear-gradient(135deg,#ecf7ff,#f9f3fd);border:1px solid #deebf7;border-top:4px solid #0074d5;border-radius:24px;align-self:flex-start}
.bsm-cm-single .bsm-product-gallery>.elementor-widget-wrap{align-content:flex-start}.bsm-cm-single .woocommerce-product-gallery{margin:0!important;float:none!important;width:100%!important}.bsm-cm-single .woocommerce-product-gallery__image{background:#fff;border-radius:16px;overflow:hidden}.bsm-cm-single .woocommerce-product-gallery__image img{max-height:510px;object-fit:contain;width:100%;height:auto}.bsm-cm-single .flex-control-thumbs{gap:10px;padding:0}.bsm-cm-single .flex-control-thumbs li{border-radius:10px;background:#fff}
.bsm-cm-single .bsm-product-summary>.elementor-widget-wrap{border:1px solid #e0e8f2;border-top:4px solid #0074d5;background:#fff;border-radius:22px;padding:28px!important;box-shadow:0 10px 30px #12375e07;align-content:flex-start}
.bsm-cm-single .elementor-widget-woocommerce-product-price{background:#edf7ff;border:1px solid #d8ecff;border-radius:10px;padding:12px 16px;width:auto;max-width:100%;margin-bottom:16px}.bsm-cm-single .elementor-widget-woocommerce-product-price p.price{margin:0}.bsm-cm-single .elementor-widget-woocommerce-product-short-description p{margin:0 0 12px}
.bsm-cm-single .bsm-product-summary .variations{margin:12px 0}.bsm-cm-single .bsm-product-summary .variations tr{padding-top:16px;margin-top:6px}.bsm-cm-single .bsm-product-summary .variations label{font-size:14px}.bsm-cm-single .bsm-product-summary button.bsm-variation-option{border:1px solid #d8e5f2;background:#f7fbff;box-shadow:none;color:#264363;font-size:14px;padding:12px 14px;min-height:46px}.bsm-cm-single .bsm-product-summary button.bsm-variation-option[aria-pressed=true]{background:#e5f4ff;border-color:#0074d5;color:#0065b9;box-shadow:0 0 0 1px #0074d5}.bsm-cm-single .bsm-product-summary button.bsm-variation-option:disabled{opacity:.35}
.bsm-cm-single .bsm-product-summary .single_add_to_cart_button{background:#0074d5;border:1px solid #0074d5;border-radius:10px;min-height:52px;font-weight:700;box-shadow:0 5px 12px #0074d520}.bsm-cm-single .bsm-product-summary .single_add_to_cart_button:hover{background:#005cae;border-color:#005cae}.bsm-cm-single .bsm-product-summary .single_add_to_cart_button.disabled{opacity:.5}.bsm-cm-single .bsm-product-summary .quantity .qty{border-radius:10px;border-color:#d5e4f2;min-height:52px}.bsm-cm-single .bsm-product-summary form.cart:not(.variations_form){display:block}.bsm-cm-single .bsm-product-summary form.cart:not(.variations_form)>.quantity{display:inline-block;margin-right:12px;vertical-align:middle}.bsm-cm-single .bsm-product-summary form.cart:not(.variations_form)>button.single_add_to_cart_button{display:inline-block;vertical-align:middle}
.bsm-cm-single .product_meta{border-top:1px solid #e4edf6;padding-top:16px;font:400 13px/1.7 'DM Sans',sans-serif;color:#61738e}.bsm-cm-single .product_meta>span{display:block;margin:3px 0}.bsm-cm-single .product_meta a{color:#0074d5}.bsm-cm-single .product_meta .sku{margin-left:6px}.bsm-cm-single .woocommerce-variation-price .price{color:#0074d5}.bsm-cm-single .stock{color:#00866c}
.bsm-cm-details .woocommerce-tabs ul.tabs{gap:10px;border:0;padding:0}.bsm-cm-details .woocommerce-tabs ul.tabs::before{display:none}.bsm-cm-details .woocommerce-tabs ul.tabs li{background:#f2f7fc;border:1px solid #dfebf6;border-radius:10px;margin:0;padding:0 18px}.bsm-cm-details .woocommerce-tabs ul.tabs li.active{background:#0074d5;border-color:#0074d5}.bsm-cm-details .woocommerce-tabs ul.tabs li a{font:600 14px/1.5 'DM Sans',sans-serif;color:#405777}.bsm-cm-details .woocommerce-tabs ul.tabs li.active a{color:#fff}.bsm-cm-details .woocommerce-tabs .panel{padding:24px 28px;border:1px solid #e0e8f2;border-radius:16px;background:#fbfdff;color:#61738e}.bsm-cm-details .woocommerce-tabs .panel h2{font-size:26px;color:#12264a}.bsm-cm-details table{max-width:100%}
.bsm-cm-benefit .elementor-icon-box-wrapper{display:flex;align-items:center;gap:14px;text-align:left}.bsm-cm-benefit .elementor-icon-box-icon{margin:0!important}.bsm-cm-benefit .elementor-icon-box-title{margin:0 0 5px}.bsm-cm-benefit .elementor-icon-box-description{margin:0}
.bsm-cm-mini-card>.elementor-widget-wrap{height:100%;transition:transform .18s}.bsm-cm-mini-card:hover>.elementor-widget-wrap{transform:translateY(-3px)}.bsm-cm-mini-card .elementor-widget-image img{height:150px;width:100%;object-fit:contain;mix-blend-mode:multiply}
:is(.bsm-cm,.bsm-cm-intro,.bsm-cm-carousel,.bsm-cm-category-pills,.bsm-slider) :is(a,button,[tabindex]):focus-visible{outline:3px solid #0074d5;outline-offset:3px}
@media(max-width:1024px){.bsm-cm-intro{gap:24px;padding:36px}.bsm-cm-intro-title{font-size:44px}.bsm-cm-intro-photo img{height:190px}.bsm-cm-carousel-title{font-size:34px}.bsm-cm-single .bsm-product-summary>.elementor-widget-wrap{padding:22px!important}}
@media(max-width:767px){
 .bsm-cm-intro{grid-template-columns:1fr;gap:24px;padding:28px 24px;border-radius:18px}.bsm-cm-intro-title{font-size:30px;line-height:1.14;margin-bottom:18px}.bsm-cm-intro-description{font-size:16px}.bsm-cm-eyebrow{font-size:12px;letter-spacing:.1em}.bsm-cm-intro-art{display:none;max-width:250px}.bsm-cm-intro.bsm-cm-mobile-image .bsm-cm-intro-art{display:block}.bsm-cm-intro-photo img{height:170px}.bsm-cm-intro-note{font-size:12px}
 nav.bsm-cm-category-pills{flex-wrap:nowrap;overflow:auto;padding-bottom:8px;scrollbar-width:thin}nav.bsm-cm-category-pills a{min-height:44px;padding:11px 16px;font-size:13px}
 .bsm-cm-carousel-heading{max-width:100%;padding-right:0;margin-bottom:22px}.bsm-cm-carousel-title{font-size:30px}.bsm-cm-carousel-description{font-size:15px}.bsm-cm-carousel .bsm-slider-controls{position:static;margin-bottom:18px}
 :is(.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product img{height:165px;padding:14px}:is(.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .woocommerce-loop-product__title{font-size:16px;line-height:1.3;min-height:90px;padding:14px 14px 10px}:is(.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .price{font-size:14px;padding:0 14px}:is(.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product a.button{font-size:12px;min-height:44px;margin:16px 12px 0;padding:11px 8px}
 .bsm-cm-single .bsm-product-gallery{padding:0;border-radius:18px}.bsm-cm-single .woocommerce-product-gallery__image img{max-height:350px}.bsm-cm-single .bsm-product-summary>.elementor-widget-wrap{padding:20px!important;border-radius:18px}.bsm-cm-single .bsm-product-summary .woocommerce-variation-add-to-cart{gap:10px}.bsm-cm-single .bsm-product-summary .quantity .qty{width:65px}.bsm-cm-details .woocommerce-tabs .panel{padding:20px}.bsm-cm-mini-card .elementor-widget-image img{height:125px}
}
@media(prefers-reduced-motion:reduce){:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product,.bsm-cm-mini-card>.elementor-widget-wrap{transition:none;transform:none}}

/* 1.1.1: Elementor owns alignment, typography and colours; the skin supplies defaults. */
.bsm-slider{text-align:var(--bsm-card-align,center)}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .woocommerce-loop-product__title,
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .price{text-align:inherit}
:where(.bsm-slider,.bsm-archive,.bsm-related,.bsm-cm-grid) ul.products li.product .price :is(.woocommerce-Price-amount,ins,del){color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}
