/* B storefront merchandising and the B-only selected-product campaign. */
.bm-storefront { --bm-navy:#203b43; --bm-orange:#c85b29; --bm-muted:#6e7776; color:var(--bm-navy); padding-bottom:32px; }
.bm-storefront a { text-decoration:none; }
.bm-announcement { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:18px 0 14px; padding:11px 18px; background:#203b43; color:#fff; border-radius:6px; font-size:12px; letter-spacing:.04em; }
.bm-announcement > span { font-weight:600; }
.bm-announcement a { color:#fff; font-size:11px; }
.bm-hero { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:14px; }
.bm-hero__main { position:relative; display:flex; min-height:390px; border-radius:10px; overflow:hidden; background:#ece5d7; }
.bm-hero__copy { position:relative; z-index:2; width:57%; padding:30px 0 45px 32px; }
.bm-eyebrow { margin:0 0 10px; font-size:10px; letter-spacing:.13em; font-weight:600; }
.bm-eyebrow span { display:block; margin-top:5px; letter-spacing:.12em; color:#6d756e; font-size:11px; }
.bm-hero h1 { margin:20px 0 14px; font-size:35px; line-height:1.4; font-weight:600; letter-spacing:-.04em; }
.bm-hero__description { margin:0 0 20px; color:#65716a; font-size:12px; line-height:1.9; }
.bm-hero__model { margin:0 0 5px; color:#465b52; font-size:11px; }
.bm-hero__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin:0 0 16px; }
.bm-hero__price > small { flex-basis:100%; color:#56695b; font-size:10px; }
.bm-hero__price strong { color:#a74b28; font-size:36px; font-weight:650; line-height:1.1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.bm-hero__price i { font-style:normal; font-size:18px; margin-right:3px; }
.bm-sticker { font-size:11px; border:1px solid #b45732; border-radius:3px; padding:2px 6px; color:#a74b28; }
.bm-button { display:inline-flex; justify-content:space-between; gap:23px; align-items:center; padding:12px 17px; border-radius:4px; color:#fff !important; background:#294b3c; font-size:12px; min-height:42px; }
.bm-button:hover { background:#17382b; }
.bm-hero__product { position:absolute; right:-6px; top:42px; bottom:45px; width:50%; display:grid; place-items:center; }
.bm-hero__disc { position:absolute; width:100%; aspect-ratio:1; border-radius:50%; background:#d5cbb4; box-shadow:0 0 0 20px #e1d9c6; }
.bm-hero__product img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 14px 10px #3a301d20); }
.bm-hero__seal { position:absolute; right:24px; bottom:-7px; z-index:2; display:flex; align-items:center; justify-content:center; width:64px; height:64px; border:1px solid #826347; border-radius:50%; background:#f2e5d1; color:#765c3e; text-align:center; font-size:10px; letter-spacing:.13em; line-height:1.7; transform:rotate(-12deg); }
.bm-hero__footnote { position:absolute; left:32px; bottom:16px; font-size:10px; color:#737a6e; letter-spacing:.05em; }
.bm-hero__side { display:grid; grid-template-rows:1fr 1fr; gap:14px; }
.bm-story { position:relative; display:flex; align-items:center; min-height:188px; padding:20px 18px; overflow:hidden; border-radius:10px; }
.bm-story--reading { background:#dbe9e7; }
.bm-story--gaming { background:#f0dfd7; }
.bm-story > div { position:relative; z-index:2; max-width:70%; }
.bm-story .bm-eyebrow { font-size:9px; color:#607470; margin-bottom:10px; }
.bm-story h2 { margin:0 0 10px; color:#263e3f; font-size:23px; line-height:1.4; font-weight:600; letter-spacing:-.04em; }
.bm-story p:not(.bm-eyebrow) { margin:0 0 10px; font-size:10px; color:#6b7773; }
.bm-story__link { font-size:11px; font-weight:600; }
.bm-story img { position:absolute; right:-8px; bottom:8px; width:45%; height:82%; object-fit:contain; mix-blend-mode:multiply; transform:rotate(8deg); }
.bm-story--gaming img { right:-11px; bottom:12px; transform:rotate(-8deg); }
.bm-quick-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:14px 0 34px; background:#fff; border:1px solid #e3e8e6; border-radius:8px; overflow:hidden; }
.bm-quick-nav a { position:relative; display:grid; gap:5px; padding:18px 12px; text-align:center; }
.bm-quick-nav a:not(:last-child)::after { content:''; position:absolute; right:0; top:22px; bottom:22px; width:1px; background:#e5e9e6; }
.bm-quick-nav span { font-size:14px; font-weight:600; }
.bm-quick-nav small { color:#7c8580; font-size:10px; }
.bm-quick-nav a:hover { background:#f6f7f1; }
.bm-section { margin:0 0 38px; scroll-margin-top:85px; }
.bm-section__head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:13px; }
.bm-section__head h2 { margin:0; color:#243b3e; font-size:23px; line-height:1.5; font-weight:600; letter-spacing:-.02em; }
.bm-section__head .bm-eyebrow { margin-bottom:5px; color:#858e82; }
.bm-section__head > a { font-size:12px; white-space:nowrap; padding-bottom:4px; }
.bm-section__intro { margin:0 0 20px; color:#6d7972; font-size:12px; line-height:1.8; }
.bm-picks-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.bm-pick { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border:1px solid #e2e8e4; border-radius:8px; }
.bm-pick__image { position:relative; display:block; aspect-ratio:1.5; margin:10px 10px 0; background:#f5f6f2; border-radius:5px; overflow:hidden; }
.bm-pick__image img { display:block; width:100%; height:100%; object-fit:contain; padding:18px; mix-blend-mode:multiply; transition:transform .25s; }
.bm-pick__image:hover img { transform:scale(1.04); }
.bm-pick__tag { position:absolute; top:9px; left:9px; z-index:1; padding:4px 7px; background:#fff9f2; color:#af542b; border:1px solid #e8d1b9; border-radius:3px; font-size:10px; }
.bm-pick__body { display:flex; flex:1; flex-direction:column; padding:16px; }
.bm-pick__reason { margin:0 0 7px; color:#8b7865; font-size:11px; }
.bm-pick h3 { margin:0 0 7px; font-size:16px; line-height:1.5; font-weight:600; }
.bm-pick__model { margin:0 0 14px; min-height:30px; color:#8b918a; font-size:10px; line-height:1.5; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
.bm-pick__bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:8px; margin-top:auto; }
.bm-price { display:flex; flex-direction:column; gap:3px; min-width:0; }
.bm-price__cny { color:#b75228; font-size:24px; font-weight:650; line-height:1.2; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.bm-price__cny small { font-size:11px; margin-right:2px; font-weight:400; }
.bm-price__jpy { font-size:10px; color:#7c877d; }
.bm-price__was { color:#8a938b; font-size:10px; }
.bm-pick form { flex-shrink:0; margin:0; }
.bm-pick button { display:inline-flex; gap:6px; align-items:center; justify-content:center; min-height:38px; border:1px solid #d5dfd6; border-radius:4px; background:#eff4ed; padding:8px 10px; color:#32513c; font-size:10px; }
.bm-pick button:hover { background:#e0eadc; }
.bm-price-note { margin:13px 0 0; color:#879088; font-size:10px; }
.bm-scenes-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.bm-scene { position:relative; overflow:hidden; display:block; min-height:240px; border-radius:8px; padding:23px 21px; }
.bm-scene--warm { background:#eae3d5; }
.bm-scene--blue { background:#dce8e9; }
.bm-scene--green { background:#e1e7db; }
.bm-scene__number { display:block; margin-bottom:18px; color:#738573; font-size:11px; letter-spacing:.13em; }
.bm-scene h3 { position:relative; z-index:1; margin:0 0 9px; max-width:80%; font-size:20px; line-height:1.5; font-weight:600; }
.bm-scene p { position:relative; z-index:1; margin:0; max-width:60%; color:#6b7870; font-size:11px; line-height:1.9; }
.bm-scene__link { position:absolute; bottom:24px; left:21px; z-index:2; font-size:11px; font-weight:600; }
.bm-scene img { position:absolute; right:-18px; bottom:-18px; width:53%; height:60%; object-fit:contain; mix-blend-mode:multiply; transform:rotate(9deg); }
.bm-brands { display:grid; grid-template-columns:1fr 1.6fr; gap:32px; align-items:center; background:#fff; border:1px solid #e2e8e4; border-radius:8px; margin:0 0 38px; padding:27px; scroll-margin-top:85px; }
.bm-brands h2 { font-size:22px; margin:0 0 9px; }
.bm-brands > div > p:last-child { color:#7a877c; margin:0; font-size:11px; line-height:1.8; }
.bm-brands nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bm-brands nav a { display:flex; justify-content:center; align-items:center; gap:15px; border:1px solid #e3e8e2; border-radius:5px; padding:16px 10px; font-size:17px; font-weight:600; letter-spacing:-.03em; }
.bm-brands nav a span { color:#9aa18e; font-size:12px; font-weight:400; }
.bm-brands nav a:hover { background:#f5f7ef; }
.bm-campaign-rules { display:grid; grid-template-columns:1fr 2.2fr; gap:36px; padding:30px; margin:0 0 26px; border:1px solid #dfd9ca; border-radius:8px; background:#f3eee3; scroll-margin-top:85px; }
.bm-campaign-rules__lead { border-right:1px solid #dfd9ca; }
.bm-campaign-rules h2 { margin:0 0 4px; font-size:19px; }
.bm-campaign-rules h2 strong { display:block; color:#b75228; font-size:64px; line-height:1.2; letter-spacing:-.08em; }
.bm-campaign-rules h2 small { font-size:22px; margin-left:6px; color:inherit; }
.bm-campaign-rules p:not(.bm-eyebrow) { font-size:11px; color:#8a7a63; }
.bm-campaign-rules h3 { margin:2px 0 15px; font-size:18px; }
.bm-campaign-rules ul { margin:0 0 14px; padding-left:17px; color:#736f60; font-size:11px; line-height:2; }
.bm-campaign-rules a { font-size:11px; color:#8c593d; text-decoration:underline; }
.bm-service-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:16px 0; margin:0 0 36px; border-bottom:1px solid #dce4da; }
.bm-service-strip a { display:flex; align-items:center; gap:12px; padding:9px 14px; }
.bm-service-strip a > span { color:#899581; font-size:20px; font-weight:300; }
.bm-service-strip strong { display:block; margin-bottom:5px; font-size:13px; font-weight:500; }
.bm-service-strip small { display:block; color:#8a9387; font-size:10px; }
.bm-service-strip b { margin-left:auto; font-weight:400; font-size:15px; color:#829177; }
.bm-catalog-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.bm-catalog-tabs a { border:1px solid #dce4db; padding:7px 12px; border-radius:4px; background:#fff; font-size:12px; }
.bm-storefront .bm-catalog .home-front { padding:20px !important; }
.shop-sale-badge { display:inline-block; padding:3px 6px; margin:0 6px 6px 0; border-radius:3px; background:#f8ebe1; color:#b6532b; font-size:10px; line-height:1.5; font-weight:500; vertical-align:middle; white-space:nowrap; }
.shop-original-price { display:block; margin-bottom:5px; color:#8c918c; font-size:11px; font-weight:400; }
.shop-promo-note { padding:10px 13px; background:#f8eee3; color:#a6522f; border-radius:4px; font-size:12px; line-height:1.8; }
.shop-promo-note a { margin-left:5px; text-decoration:underline; }
@media (max-width:991px) {
 .bm-hero { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
 .bm-hero__copy { padding-left:23px; width:66%; }
 .bm-hero h1 { font-size:29px; }
 .bm-hero__product { width:48%; right:-20px; top:100px; }
 .bm-hero__seal { right:23px; }
 .bm-hero__footnote { left:23px; font-size:9px; }
 .bm-story { padding:18px 13px; }
 .bm-story h2 { font-size:20px; }
 .bm-story img { width:44%; right:-14px; }
 .bm-picks-grid { gap:12px; }
 .bm-pick__body { padding:12px; }
 .bm-pick__bottom { flex-direction:column; align-items:stretch; gap:10px; }
 .bm-pick button { width:100%; }
 .bm-scene { padding:20px 16px; }
 .bm-scene h3 { font-size:18px; }
 .bm-brands { grid-template-columns:1fr 1.6fr; gap:20px; padding:22px; }
 .bm-brands nav a { font-size:14px; gap:8px; }
}
@media (max-width:767px) {
 .shop-cart-table,.shop-cart-table tbody { display:block; }
 .shop-cart-table thead { display:none; }
 .shop-cart-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 15px; padding:15px 0; border-bottom:1px solid #e4e8e5; }
 .shop-cart-table tbody td { display:block; border:0 !important; padding:0 !important; width:auto !important; }
 .shop-cart-table tbody td:first-child { grid-column:1 / -1; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
 .shop-cart-table tbody td:nth-child(2) { grid-row:2 / span 2; }
 .shop-cart-table tbody td:nth-child(3),.shop-cart-table tbody td:nth-child(4) { grid-column:2; }
 .shop-cart-table form { margin:0; }
 .shop-cart-table .btn,.shop-cart-table input[type="number"] { min-height:36px; }
 .shop-cart-table .shop-original-price { font-size:10px; }
 .bm-announcement { margin:12px 0; padding:10px 12px; gap:6px; flex-wrap:wrap; font-size:11px; }
 .bm-announcement a { font-size:10px; }
 .bm-hero { display:block; }
 .bm-hero__main { min-height:360px; }
 .bm-hero__copy { padding:24px 0 42px 20px; width:67%; }
 .bm-hero h1 { margin-top:18px; font-size:28px; }
 .bm-hero__description { font-size:11px; margin-bottom:16px; }
 .bm-hero__price strong { font-size:30px; }
 .bm-hero__model { max-width:90%; font-size:10px; }
 .bm-hero__product { top:86px; right:-14px; bottom:46px; width:48%; }
 .bm-hero__seal { width:49px; height:49px; font-size:8px; right:17px; bottom:-2px; }
 .bm-hero__disc { box-shadow:0 0 0 14px #e1d9c6; }
 .bm-hero__footnote { left:20px; bottom:13px; font-size:8px; }
 .bm-button { padding:10px 13px; font-size:11px; gap:14px; }
 .bm-hero__side { grid-template-columns:1fr 1fr; grid-template-rows:auto; margin-top:11px; gap:10px; }
 .bm-story { min-height:200px; display:block; padding:15px 12px; border-radius:7px; }
 .bm-story > div { max-width:100%; }
 .bm-story h2 { font-size:19px; line-height:1.4; }
 .bm-story .bm-eyebrow { font-size:7px; letter-spacing:.08em; margin-bottom:8px; }
 .bm-story p:not(.bm-eyebrow) { font-size:8px; max-width:68%; margin-bottom:9px; }
 .bm-story__link { font-size:9px; }
 .bm-story img { width:60%; height:49%; right:-14px; bottom:0; opacity:.95; }
 .bm-story--gaming img { bottom:0; right:-12px; }
 .bm-quick-nav { margin:12px 0 27px; border-radius:6px; }
 .bm-quick-nav a { padding:13px 3px; gap:4px; }
 .bm-quick-nav span { font-size:11px; }
 .bm-quick-nav small { font-size:8px; }
 .bm-quick-nav a:not(:last-child)::after { top:16px; bottom:16px; }
 .bm-section { margin-bottom:28px; }
 .bm-section__head { align-items:flex-start; gap:9px; margin-bottom:11px; }
 .bm-section__head h2 { font-size:20px; }
 .bm-section__head > a { padding-top:18px; font-size:10px; }
 .bm-section__head .bm-eyebrow { font-size:8px; }
 .bm-section__intro { font-size:11px; margin-bottom:15px; }
 .bm-picks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 9px; }
 .bm-pick__image { margin:6px 6px 0; aspect-ratio:1; }
 .bm-pick__image img { padding:16px 10px 9px; }
 .bm-pick__tag { top:5px; left:5px; font-size:8px; padding:2px 5px; }
 .bm-pick__body { padding:11px 9px; }
 .bm-pick__reason { font-size:9px; min-height:27px; line-height:1.5; margin-bottom:4px; }
 .bm-pick h3 { font-size:12px; margin-bottom:5px; min-height:36px; }
 .bm-pick__model { font-size:9px; min-height:27px; margin-bottom:12px; }
 .bm-price__cny { font-size:21px; }
 .bm-price__cny small { font-size:9px; }
 .bm-price__jpy,.bm-price__was { font-size:9px; }
 .bm-pick button { min-height:38px; font-size:10px; }
 .bm-price-note { font-size:9px; line-height:1.7; }
 .bm-scenes-grid { grid-template-columns:1fr; gap:10px; }
 .bm-scene { min-height:185px; padding:21px; }
 .bm-scene__number { margin-bottom:10px; }
 .bm-scene h3 { font-size:20px; }
 .bm-scene p { max-width:63%; font-size:11px; }
 .bm-scene__link { left:21px; bottom:20px; }
 .bm-scene img { width:38%; height:75%; right:-12px; bottom:-13px; }
 .bm-brands { display:block; padding:20px 16px; margin-bottom:28px; }
 .bm-brands h2 { font-size:20px; }
 .bm-brands nav { margin-top:18px; gap:7px; }
 .bm-brands nav a { font-size:13px; padding:13px 5px; gap:6px; }
 .bm-brands nav a span { font-size:10px; }
 .bm-campaign-rules { display:block; padding:22px 18px; }
 .bm-campaign-rules__lead { border:0; display:grid; grid-template-columns:1fr 1fr; gap:0 12px; align-items:center; padding-bottom:16px; margin-bottom:19px; border-bottom:1px solid #ded7c7; }
 .bm-campaign-rules__lead .bm-eyebrow { grid-column:1 / -1; font-size:8px; }
 .bm-campaign-rules h2 { font-size:16px; grid-row:2 / 4; }
 .bm-campaign-rules h2 strong { font-size:55px; }
 .bm-campaign-rules__lead > p:not(.bm-eyebrow) { font-size:10px; margin-bottom:4px; }
 .bm-campaign-rules__lead > a { font-size:10px; }
 .bm-campaign-rules h3 { font-size:16px; }
 .bm-campaign-rules ul { font-size:10px; line-height:1.9; }
 .bm-service-strip { grid-template-columns:1fr; gap:0; margin-bottom:27px; padding:0 0 10px; }
 .bm-service-strip a { padding:13px 6px; }
 .bm-service-strip a:not(:last-child) { border-bottom:1px solid #e5e9df; }
 .bm-catalog-tabs { gap:6px; }
 .bm-catalog-tabs a { font-size:10px; padding:6px 10px; }
 .bm-storefront .bm-catalog .home-front { padding:14px 12px !important; }
}
@media (max-width:374px) {
 .bm-hero__copy { width:75%; }
 .bm-hero h1 { font-size:24px; }
}
