/* Source style 1 (v82-performance-ja-header-css) */
/* V82: keep Japanese header readable instead of packing every label together */
@media(min-width:761px){
  .jaMode .head{gap:13px!important;padding-left:16px!important;padding-right:16px!important}
  .jaMode .headerMainLogo{width:236px!important;max-width:25vw!important}
  .jaMode .primaryNav{gap:13px!important;flex:0 1 auto!important}
  .jaMode .primaryNav a,.jaMode .primaryNav button{font-size:10.5px!important;font-weight:700!important;padding:8px 0!important}
  .jaMode .headerTools{gap:5px!important;min-width:0!important}
  .jaMode .headerTools .search{width:184px!important;min-width:160px!important;max-width:184px!important;flex:0 1 184px!important}
  .jaMode .headerTools .search input{font-size:9.5px!important;padding-left:11px!important}
  .jaMode .headerLangSwitch{height:32px!important;padding:2px!important}
  .jaMode .headerLangSwitch .siteLangBtn{height:26px!important;min-width:40px!important;padding:0 7px!important;font-size:9px!important}
  .jaMode .headerTools>.btn{height:34px!important;padding:0 9px!important;font-size:9.5px!important;white-space:nowrap!important}
  .jaMode .headerTools>.btn.dark{padding-left:10px!important;padding-right:10px!important}
}
@media(min-width:761px) and (max-width:1120px){
  .head{gap:12px!important}
  .headerMainLogo{width:225px!important;max-width:24vw!important}
  .primaryNav{gap:12px!important}
  .primaryNav a,.primaryNav button{font-size:10.5px!important}
  .headerTools .search{width:180px!important;min-width:150px!important;max-width:180px!important;flex-basis:180px!important}
  .headerTools>.btn{padding-left:9px!important;padding-right:9px!important;font-size:9.5px!important}
}
/* Source style 2 (v82-loading-skeleton-css) */
.categorySkeleton{min-height:112px!important;pointer-events:none!important;overflow:hidden!important;background:linear-gradient(90deg,#fbf7f0 25%,#fffdf9 45%,#fbf7f0 65%)!important;background-size:220% 100%!important;animation:minnaSkeleton 1.25s ease-in-out infinite!important}
@keyframes minnaSkeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(max-width:680px){.categorySkeleton{min-height:96px!important}}
/* Source style 3 (v91-category-art-fix) */
/* V91: restore V81 card proportions, keep cards clickable, fix illustration sizing/placement. */
#categoryDirectory.categoryDirectory{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
#categoryDirectory .categoryTile{
  min-height:112px!important;
  padding:14px 14px 12px!important;
  grid-template-columns:1fr auto!important;
  grid-template-rows:auto 1fr auto!important;
  overflow:hidden!important;
  position:relative!important;
}
#categoryDirectory .catNo{display:none!important}
#categoryDirectory .catTitle{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
  max-width:calc(100% - 104px)!important;
  margin:0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:760!important;
  position:relative!important;
  z-index:3!important;
}
#categoryDirectory .catVisual{
  position:absolute!important;
  top:50%!important;
  right:13px!important;
  width:98px!important;
  height:76px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  pointer-events:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  margin:0!important;
  z-index:1!important;
}
#categoryDirectory .catVisual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  transform:none!important;
}
#categoryDirectory .catMetaLine{
  grid-column:1!important;
  grid-row:3!important;
  align-self:end!important;
  max-width:calc(100% - 88px)!important;
  margin:0!important;
  font-size:8.5px!important;
  line-height:1.2!important;
  color:#918275!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  position:relative!important;
  z-index:3!important;
}
#categoryDirectory .catArrow{
  grid-column:2!important;
  grid-row:3!important;
  align-self:end!important;
  justify-self:end!important;
  font-size:18px!important;
  line-height:.9!important;
  margin-left:8px!important;
  position:relative!important;
  z-index:3!important;
}
@media(max-width:980px){
  #categoryDirectory.categoryDirectory{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:680px){
  #categoryDirectory.categoryDirectory{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  #categoryDirectory .categoryTile{min-height:96px!important;padding:10px!important}
  #categoryDirectory .catTitle{max-width:calc(100% - 70px)!important;font-size:11.5px!important}
  #categoryDirectory .catVisual{right:8px!important;width:67px!important;height:54px!important}
  #categoryDirectory .catMetaLine{max-width:calc(100% - 55px)!important;font-size:7.8px!important}
  #categoryDirectory .catArrow{font-size:15px!important;margin-left:5px!important}
}
@media(max-width:390px){
  #categoryDirectory .categoryTile{min-height:92px!important;padding:9px!important}
  #categoryDirectory .catTitle{max-width:calc(100% - 62px)!important;font-size:11px!important}
  #categoryDirectory .catVisual{right:7px!important;width:59px!important;height:48px!important}
  #categoryDirectory .catMetaLine{max-width:calc(100% - 48px)!important;font-size:7.2px!important}
}
/* Source style 4 (v935-product-image-unify) */
/* V93.5 — unified product photography stage */
:root{--product-stage:#f2ede6}
.productImage,
.product-image,
.productImgWrap,
.product-image-wrap,
.productThumb,
.product-thumb{
  background:var(--product-stage)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.productImage img,
.product-image img,
.productImgWrap img,
.product-image-wrap img,
.productThumb img,
.product-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:14px!important;
  box-sizing:border-box!important;
  background:transparent!important;
  mix-blend-mode:multiply;
}
@media(max-width:760px){
  .productImage img,
  .product-image img,
  .productImgWrap img,
  .product-image-wrap img,
  .productThumb img,
  .product-thumb img{padding:10px!important}
}
/* Keep cards visually consistent even when source photos have different aspect ratios. */
.card.productCard .productImage{height:220px!important;background:var(--product-stage)!important}
/* Source style 5 (v938-hidden-prices) */
.priceHiddenLabel{font-size:11px;font-weight:600;color:#8b8177;letter-spacing:.02em}.scenePickPrice:has(.priceHiddenLabel){font-size:11px}
/* Source style 6 (v939-display-only-copy) */
.priceHiddenLabel{
  display:inline-block;
  max-width:190px;
  font-size:10px!important;
  line-height:1.45;
  font-weight:600;
  color:#8b8177;
  letter-spacing:0;
}
/* Source style 7 (v940-card-no-add-layout) */
.productCard .productBottom{
  display:block!important;
  margin-top:auto!important;
  padding-top:10px!important;
}
.productCard .productBody{
  display:flex!important;
  flex-direction:column!important;
  min-height:190px;
}
.productCard .productName{
  line-height:1.45!important;
  min-height:2.9em;
  margin-top:4px!important;
}
.productCard .productJP{
  line-height:1.45!important;
  min-height:1.45em;
  margin-top:5px!important;
}
.productCard .price{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:4px 6px!important;
  line-height:1.25!important;
}
.productCard .unitLabel{white-space:normal!important}
.productCard .textDetail{
  width:100%!important;
  margin-top:10px!important;
  text-align:left!important;
}
@media(max-width:760px){
  .productCard .productBody{min-height:170px}
  .productCard .productName{min-height:auto}
}
/* Source style 8 (v961-footer-social-clean) */
.footerSocial{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:20px}
.footerSocial a{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;color:#d8cec4;text-decoration:none;background:transparent;border:0;border-radius:0;opacity:.82;transition:opacity .18s ease,transform .18s ease,color .18s ease}
.footerSocial a:hover{opacity:1;transform:translateY(-1px)}
.footerSocial svg{display:block;width:21px;height:21px;fill:currentColor;stroke:currentColor}
.footerSocial a[data-social="instagram"] svg{fill:none;stroke-width:1.75}
.footerSocial a[data-social="x"] svg,.footerSocial a[data-social="facebook"] svg{stroke:none}
.footerSocial a[data-social="whatsapp"] svg{stroke-width:1.35}
.footerSocial a[data-social="whatsapp"] svg path:first-child{fill:none}
.footerSocial a[data-social="whatsapp"] svg path:last-child{stroke:none}
.footerSocial a[data-social="instagram"]:hover{color:#E1306C}
.footerSocial a[data-social="x"]:hover{color:#fff}
.footerSocial a[data-social="facebook"]:hover{color:#1877F2}
.footerSocial a[data-social="whatsapp"]:hover{color:#25D366}
@media(max-width:680px){.footerSocial{gap:17px}.footerSocial a{width:24px;height:24px}.footerSocial svg{width:20px;height:20px}}
/* Source style 9 (v965-footer-final) */
.v965Footer{background:#f5efe6!important;border-top:1px solid #ded4c8!important;color:#251f1a!important;padding:52px 0 30px!important}
.v965FooterInner{max-width:1320px;margin:0 auto;padding:0 42px}
.v965FooterLead{display:flex;justify-content:space-between;align-items:center;gap:48px;padding:0 18px 34px}
.v965FooterCopy{max-width:540px}
.v965FooterHeadline{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:30px;line-height:1.45;letter-spacing:.025em;color:#2d261f}
.v965FooterSub{margin-top:10px;font-size:13px;letter-spacing:.07em;color:#8a7e72}
.v965FooterRule{height:1px;background:#d8cdbf}
.v965Footer .footerSocial{display:flex!important;align-items:center!important;gap:24px!important;padding:0!important}
.v965Footer .footerSocial a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;background:transparent!important;border:0!important;border-radius:0!important;text-decoration:none!important;transition:transform .16s ease,opacity .16s ease}
.v965Footer .footerSocial a:hover{transform:translateY(-1px);opacity:.78}
.v965Footer .footerSocial svg{display:block;width:27px;height:27px}
.v965Footer .footerSocial a[data-social="instagram"]{color:#E1306C!important}
.v965Footer .footerSocial a[data-social="instagram"] svg{fill:none;stroke:currentColor;stroke-width:1.8}
.v965Footer .footerSocial a[data-social="x"]{color:#000!important}
.v965Footer .footerSocial a[data-social="x"] svg{fill:currentColor;stroke:none}
.v965Footer .footerSocial a[data-social="facebook"]{color:#1877F2!important}
.v965Footer .footerSocial a[data-social="facebook"] svg{fill:currentColor;stroke:none}
.v965Footer .footerSocial a[data-social="whatsapp"]{color:#25D366!important}
.v965Footer .footerSocial a[data-social="whatsapp"] svg{fill:currentColor;stroke:currentColor;stroke-width:1.35}
.v965Footer .footerSocial a[data-social="whatsapp"] svg path:first-child{fill:none}
.v965Footer .footerSocial a[data-social="whatsapp"] svg path:last-child{stroke:none}
.v965FooterLinks{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:0!important;margin:0!important;padding:28px 0 0!important;border:0!important}
.v965FooterLinks button{appearance:none;background:none;border:0;color:#3e352e;font:inherit;font-size:12px;letter-spacing:.02em;cursor:pointer;padding:0 28px;position:relative}
.v965FooterLinks button+button:before{content:"";position:absolute;left:0;top:2px;width:1px;height:16px;background:#cfc2b4}
.v965FooterLinks button:hover{text-decoration:underline;text-underline-offset:5px}
.v965Copyright{text-align:center;margin-top:30px;font-size:11px;letter-spacing:.08em;color:#968a7f}
@media(max-width:760px){
 .v965Footer{padding:36px 0 24px!important}
 .v965FooterInner{padding:0 20px}
 .v965FooterLead{display:block;padding:0 4px 26px}
 .v965FooterHeadline{font-size:23px;line-height:1.45}
 .v965FooterSub{font-size:11px;margin-top:8px}
 .v965Footer .footerSocial{margin-top:25px;gap:21px!important}
 .v965Footer .footerSocial a{width:31px!important;height:31px!important}
 .v965Footer .footerSocial svg{width:25px;height:25px}
 .v965FooterLinks{justify-content:flex-start!important;padding-top:22px!important;row-gap:14px!important}
 .v965FooterLinks button{font-size:11px;padding:0 14px}
 .v965FooterLinks button:first-child{padding-left:0}
 .v965Copyright{text-align:left;margin-top:25px}
}
/* Source style 10 (v967-before-ordering-final) */
#beforeOrdering{padding-top:34px!important;padding-bottom:34px!important}
#beforeOrdering .sectionHead{margin-bottom:14px!important}
#beforeOrdering .sectionTitleGroup h2{font-size:30px!important;line-height:1.08!important;margin:0!important}
#beforeOrdering .sectionSub{font-size:11px!important;margin-top:7px!important;letter-spacing:.08em!important}
#beforeOrdering .infoGrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
#beforeOrdering .infoCard{min-height:0!important;height:154px!important;padding:0!important;border-radius:13px!important}
#beforeOrdering .infoCard button{width:100%!important;height:100%!important;padding:16px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important}
#beforeOrdering .infoKicker{font-size:9px!important;line-height:1.2!important;margin:0 0 8px!important;letter-spacing:.08em!important}
#beforeOrdering .infoCard b{font-size:14px!important;line-height:1.3!important;margin:0 0 6px!important}
#beforeOrdering .infoCard p{font-size:10px!important;line-height:1.45!important;margin:0!important;min-height:0!important}
#beforeOrdering .arrow{font-size:18px!important;line-height:1!important;margin-top:auto!important;padding-top:8px!important}
@media(max-width:1050px){#beforeOrdering .infoGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}#beforeOrdering .infoCard{height:145px!important}}
@media(max-width:680px){#beforeOrdering{padding-top:26px!important;padding-bottom:26px!important}#beforeOrdering .sectionTitleGroup h2{font-size:25px!important}#beforeOrdering .infoGrid{grid-template-columns:1fr 1fr!important;gap:8px!important}#beforeOrdering .infoCard{height:138px!important}#beforeOrdering .infoCard button{padding:13px!important}#beforeOrdering .infoCard b{font-size:13px!important}}
/* Source style 11 (v973-mobile-final-qa) */
/* ---------- Mobile final QA / freeze candidate ---------- */
html,body{max-width:100%;overflow-x:hidden}
img,svg{max-width:100%}
@media(max-width:760px){
  body{overflow-x:hidden!important}
  .container,.section,.wrap,.page,.content{max-width:100%!important}
  .section{padding-left:16px!important;padding-right:16px!important}

  /* Header / navigation */
  header,.header,.topbar,.nav{max-width:100%!important}
  .headerInner,.navInner{padding-left:14px!important;padding-right:14px!important}
  .searchBox,.searchWrap{min-width:0!important;max-width:100%!important}
  .searchBox input,.searchWrap input{min-width:0!important;width:100%!important}
  .langSwitch,.languageSwitch{flex-shrink:0!important}

  /* Hero */
  .hero,.heroInner{max-width:100%!important;overflow:hidden!important}
  .hero h1,.heroTitle{font-size:clamp(34px,11vw,58px)!important;line-height:.96!important;overflow-wrap:anywhere}
  .heroActions{display:flex!important;flex-wrap:wrap!important;gap:9px!important}
  .heroActions a,.heroActions button{max-width:100%!important}

  /* Generic horizontal chips: scroll instead of breaking the page */
  .chips,.chipRow,.filterChips,.brandChips,.categoryChips{
    max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .chips::-webkit-scrollbar,.chipRow::-webkit-scrollbar,.filterChips::-webkit-scrollbar,
  .brandChips::-webkit-scrollbar,.categoryChips::-webkit-scrollbar{display:none}

  /* Product grids/cards */
  .productGrid,.productsGrid,.grid.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important
  }
  .productCard,.card.productCard{min-width:0!important;width:100%!important}
  .productCard .productImage,.card.productCard .productImage{height:164px!important}
  .productCard .productImage img,.card.productCard .productImage img{
    width:100%!important;height:100%!important;object-fit:contain!important;padding:9px!important
  }
  .productCard .productName,.card.productCard .productName,
  .productCard h3,.card.productCard h3{
    font-size:13px!important;line-height:1.35!important;
    overflow-wrap:anywhere!important;word-break:break-word!important
  }
  .productCard .productMeta,.card.productCard .productMeta,
  .productCard .meta,.card.productCard .meta{
    white-space:normal!important;overflow-wrap:anywhere!important
  }

  /* Product detail modal */
  #detailModal .modalbox,#productModal .modalbox,.detailModal .modalbox{
    width:calc(100vw - 18px)!important;max-width:none!important;
    max-height:calc(100dvh - 18px)!important;margin:9px!important;
    border-radius:16px!important;overflow:auto!important
  }
  #detailModal .detailGrid,#productModal .detailGrid,.detailGrid{
    grid-template-columns:1fr!important;gap:14px!important
  }
  #detailModal .detailImg,#productModal .detailImg,.detailImg{
    min-height:0!important;height:min(52vw,260px)!important
  }
  #detailModal .detailImg img,#productModal .detailImg img,.detailImg img{
    width:100%!important;height:100%!important;object-fit:contain!important;
    background:transparent!important;mix-blend-mode:multiply!important
  }
  #detailModal .detailInfo,#productModal .detailInfo,.detailInfo{min-width:0!important}
  #detailModal h2,#productModal h2,.detailInfo h2{
    font-size:21px!important;line-height:1.28!important;overflow-wrap:anywhere!important
  }

  /* Filter/catalog area */
  .filterGrid,.filtersGrid,.catalogFilters{grid-template-columns:1fr!important;gap:10px!important}
  select,input,textarea,button{max-width:100%}
  select,input[type="text"],input[type="email"],input[type="tel"],input[type="password"]{
    font-size:16px!important /* prevents iOS zoom */
  }

  /* Policy / account / cart / checkout modals */
  #policyModal .modalbox,.modal .modalbox,.drawer,.sheet{
    max-width:calc(100vw - 18px)!important;
  }
  #policyModal .modalbox{
    width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px)!important;
    margin:9px!important;padding:20px 17px!important
  }
  #policyModal h2{font-size:24px!important;line-height:1.25!important}
  #policyModal p,#policyModal li{font-size:13px!important;line-height:1.65!important}
  .cartRow,.orderRow,.addressRow{min-width:0!important}
  .cartRow *,.orderRow *,.addressRow *{overflow-wrap:anywhere}

  /* Before ordering stays compact */
  #beforeOrdering .infoGrid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #beforeOrdering .infoCard{height:132px!important}
  #beforeOrdering .infoCard button{padding:12px!important}
  #beforeOrdering .infoCard b{font-size:12px!important}
  #beforeOrdering .infoCard p{font-size:9.5px!important;line-height:1.4!important}

  /* Footer */
  .v965Footer{padding:30px 0 20px!important}
  .v965FooterInner{padding:0 17px!important}
  .v965FooterLead{padding:0 0 22px!important}
  .v965FooterHeadline{font-size:21px!important;line-height:1.4!important}
  .v965FooterSub{font-size:10px!important;line-height:1.55!important}
  .v965Footer .footerSocial{margin-top:20px!important;gap:18px!important}
  .v965Footer .footerSocial a{width:29px!important;height:29px!important}
  .v965Footer .footerSocial svg{width:23px!important;height:23px!important}
  .v965FooterLinks{display:grid!important;grid-template-columns:1fr 1fr!important;
    gap:12px 16px!important;padding-top:20px!important}
  .v965FooterLinks button{padding:0!important;text-align:left!important;font-size:10.5px!important}
  .v965FooterLinks button+button:before{display:none!important}
  .v965Copyright{margin-top:22px!important;font-size:10px!important}

  /* Long EN/JA strings must never force horizontal overflow */
  [data-en],[data-ja],button,a,p,h1,h2,h3,h4,b,span{overflow-wrap:anywhere}
}
@media(max-width:390px){
  .section{padding-left:12px!important;padding-right:12px!important}
  .productGrid,.productsGrid,.grid.products{gap:8px!important}
  .productCard .productImage,.card.productCard .productImage{height:150px!important}
  #beforeOrdering .infoGrid{grid-template-columns:1fr!important}
  #beforeOrdering .infoCard{height:auto!important;min-height:112px!important}
  .v965FooterLinks{grid-template-columns:1fr!important}
}
/* Source style 12 (v993-company-footer-mini) */
.footerCompanyMini{
  max-width:1440px;
  margin:0 auto;
  padding:10px 18px 14px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  font-size:10.5px;
  line-height:1.45;
  color:#8b8177;
}
.footerCompanyName{font-weight:650;color:#655d55}
.footerCompanySep{opacity:.45}
.footerCompanyMini a{color:inherit;text-decoration:none}
.footerCompanyMini a:hover{text-decoration:underline}
@media(max-width:680px){
  .footerCompanyMini{
    justify-content:flex-start;
    padding:9px 14px 13px;
    gap:5px;
    font-size:9.5px;
  }
  .footerCompanySep{display:none}
  .footerCompanyMini span,.footerCompanyMini a{margin-right:8px}
}
/* Source style 13 (v998-header-actions-fixed) */
/* Exact header controls, no guessing by href/id selectors */
.head .headerActionBtn{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 13px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
.head .headerAccountBtn:not(.signedIn){
  border:1px solid #d7ccbf!important;
  background:#fffdf9!important;
  color:#211d19!important;
}
.head .headerCartBtn{
  gap:7px!important;
  border:1px solid #211d19!important;
  background:#211d19!important;
  color:#fff!important;
  padding-left:14px!important;
  padding-right:10px!important;
}
.head .headerCartCount{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  font-size:10px!important;
  line-height:1!important;
}
@media(max-width:760px){
  .head .headerActionBtn{
    height:36px!important;
    min-height:36px!important;
    padding:0 10px!important;
    border-radius:9px!important;
    font-size:11px!important;
  }
  .head .headerCartBtn{gap:5px!important;padding-left:11px!important;padding-right:8px!important}
  .head .headerCartCount{min-width:18px!important;height:18px!important;font-size:9px!important}
}
/* Source style 14 (v100-language-layout-lock) */
/* EN / JA must share identical geometry */
.head .headerAccountBtn:not(.signedIn),
.head .headerCartBtn{
  box-sizing:border-box!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  border-radius:999px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  line-height:1!important;
  font-size:11px!important;
}
.head .headerAccountBtn:not(.signedIn){
  width:94px!important;
  min-width:94px!important;
  max-width:94px!important;
  padding:0 10px!important;
}
.head .headerCartBtn{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  padding:0 9px 0 12px!important;
}
.head .headerCartCount{
  flex:0 0 18px!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  padding:0!important;
}
@media(max-width:760px){
.head .headerAccountBtn:not(.signedIn){
    width:84px!important;min-width:84px!important;max-width:84px!important;
  }
  .head .headerCartBtn{
    width:74px!important;min-width:74px!important;max-width:74px!important;
  }
}
/* Source style 15 (v1002-exact-header-logo-fix) */
/* Exact fix: same actual logo image dimensions in EN and JA */
.headerMainLogo,
.jaMode .headerMainLogo{
  width:245px!important;
  max-width:245px!important;
  min-width:245px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
}
.mainLogoLink,
.jaMode .mainLogoLink{
  width:245px!important;
  min-width:245px!important;
  max-width:245px!important;
  flex:0 0 245px!important;
}
@media(max-width:680px){
  .headerMainLogo,
  .jaMode .headerMainLogo{
    width:196px!important;
    min-width:196px!important;
    max-width:196px!important;
  }
  .mainLogoLink,
  .jaMode .mainLogoLink{
    width:196px!important;
    min-width:196px!important;
    max-width:196px!important;
    flex-basis:196px!important;
  }
}
@media(max-width:390px){
  .headerMainLogo,
  .jaMode .headerMainLogo{
    width:178px!important;
    min-width:178px!important;
    max-width:178px!important;
  }
  .mainLogoLink,
  .jaMode .mainLogoLink{
    width:178px!important;
    min-width:178px!important;
    max-width:178px!important;
    flex-basis:178px!important;
  }
}
/* Source style 16 (v1003-guide-cards-compact) */
/* Remove wasted vertical space from the guide/policy card section */
.guideGrid,
.infoGrid,
.policyGrid{
  align-items:stretch!important;
}
.guideCard,
.infoCard,
.policyCard{
  min-height:0!important;
  height:auto!important;
  padding-top:18px!important;
  padding-bottom:16px!important;
}
.guideCard .arrow,
.infoCard .arrow,
.policyCard .arrow{
  margin-top:14px!important;
}
@media(min-width:761px){
  .guideCard,
  .infoCard,
  .policyCard{
    min-height:150px!important;
    max-height:170px!important;
  }
}
@media(max-width:760px){
  .guideCard,
  .infoCard,
  .policyCard{
    min-height:0!important;
    max-height:none!important;
    padding-top:15px!important;
    padding-bottom:14px!important;
  }
}
/* Source style 17 (v1004-guide-no-arrows-balanced) */
/* Guide cards: remove decorative arrows and rebalance vertical spacing */
.infoCard{
  min-height:118px!important;
  max-height:138px!important;
  padding:20px 26px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.infoCard .infoArrow,
.infoCard .arrow,
.infoCard [class*="arrow" i]{
  display:none!important;
}
.infoCard .infoKicker{
  margin:0 0 9px!important;
}
.infoCard h3,
.infoCard h4{
  margin-top:0!important;
  margin-bottom:8px!important;
}
.infoCard p{
  margin-top:0!important;
  margin-bottom:0!important;
}
@media(max-width:760px){
  .infoCard{
    min-height:104px!important;
    max-height:none!important;
    padding:16px 18px 15px!important;
  }
  .infoCard .infoKicker{margin-bottom:7px!important}
  .infoCard h3,.infoCard h4{margin-bottom:6px!important}
}
/* Source style 18 (v1005-guide-policy-centered-compact) */
/* ご注文方法: center all content and remove wasted box height */
.orderSteps,
.stepsGrid,
.orderStepGrid{
  align-items:stretch!important;
}
.orderSteps > *,
.stepsGrid > *,
.orderStepGrid > *{
  box-sizing:border-box!important;
  min-height:108px!important;
  height:108px!important;
  padding:14px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.orderSteps > * *,
.stepsGrid > * *,
.orderStepGrid > * *{
  text-align:center!important;
}
.orderSteps > * p,
.stepsGrid > * p,
.orderStepGrid > * p{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ご購入前に: same treatment, shorter cards */
.infoGrid{
  align-items:stretch!important;
}
.infoCard{
  box-sizing:border-box!important;
  min-height:112px!important;
  height:112px!important;
  max-height:112px!important;
  padding:13px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.infoCard *{
  text-align:center!important;
}
.infoCard .infoKicker{
  margin:0 0 7px!important;
}
.infoCard h3,
.infoCard h4{
  margin:0 0 6px!important;
}
.infoCard p{
  margin:0!important;
}

/* Reduce excess section whitespace around both blocks */
#orderGuide,
.orderGuide,
#purchaseInfo,
.purchaseInfo{
  padding-top:30px!important;
  padding-bottom:30px!important;
}
@media(max-width:760px){
  .orderSteps > *,
  .stepsGrid > *,
  .orderStepGrid > *{
    height:auto!important;
    min-height:94px!important;
    padding:12px 13px!important;
  }
  .infoCard{
    height:auto!important;
    min-height:96px!important;
    max-height:none!important;
    padding:12px 13px!important;
  }
}
/* Source style 19 (v1006-order-step-baseline-align) */
/* Five order cards: identical internal row geometry */
.stepCard{
  box-sizing:border-box!important;
  height:126px!important;
  min-height:126px!important;
  max-height:126px!important;
  padding:16px 18px!important;
  display:grid!important;
  grid-template-rows:18px 26px 1fr!important;
  align-items:start!important;
  justify-items:start!important;
  align-content:start!important;
  text-align:left!important;
  row-gap:6px!important;
}
.stepCard>*{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  align-self:start!important;
}
.stepCard .stepNum,
.stepCard [class*="num" i]{
  grid-row:1!important;
  height:18px!important;
  line-height:18px!important;
}
.stepCard b,
.stepCard h3,
.stepCard h4,
.stepCard .stepTitle{
  grid-row:2!important;
  height:26px!important;
  min-height:26px!important;
  line-height:20px!important;
  display:flex!important;
  align-items:flex-start!important;
}
.stepCard p,
.stepCard .stepDesc{
  grid-row:3!important;
  line-height:1.55!important;
  align-self:start!important;
}
/* Undo previous blanket centering specifically for these cards */
.stepCard *{text-align:left!important}

@media(max-width:760px){
  .stepCard{
    height:auto!important;
    min-height:118px!important;
    max-height:none!important;
    grid-template-rows:18px 24px auto!important;
    padding:14px 15px!important;
    row-gap:5px!important;
  }
}
/* Source style 20 (scene-original-image-restore) */
#browseScenePanel .sceneGridExactImage{
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}
#browseScenePanel .sceneGridExactImage > img.sceneExactImage{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  clip-path:none !important;
  margin:0 !important;
}
/* Source style 21 (v10133-mobile-final-fix) */
@media (min-width:761px){
.head .headerAccountBtn:not(.signedIn){
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:94px!important;min-width:94px!important;max-width:94px!important;
    height:36px!important;min-height:36px!important;max-height:36px!important;
    padding:0 12px!important;margin:0!important;border:1px solid #d7ccbf!important;
    border-radius:999px!important;background:#fffdf9!important;color:#211d19!important;
    font-size:11px!important;font-weight:650!important;line-height:1!important;
    white-space:nowrap!important;box-shadow:none!important;flex:0 0 auto!important;
  }
  .head .headerCartBtn{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    gap:6px!important;width:82px!important;min-width:82px!important;max-width:82px!important;
    height:36px!important;min-height:36px!important;max-height:36px!important;
    padding:0 9px 0 13px!important;margin:0!important;border:1px solid #211d19!important;
    border-radius:999px!important;background:#211d19!important;color:#fff!important;
    font-size:11px!important;font-weight:650!important;line-height:1!important;
    white-space:nowrap!important;box-shadow:none!important;flex:0 0 auto!important;
  }
}

@media (max-width:760px){
  /* Mobile only. Desktop remains untouched. */
  .head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto auto!important;
    grid-template-rows:auto auto auto!important;
    column-gap:6px!important;
    row-gap:8px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 12px!important;
  }
  .primaryNav{display:none!important}
  .headerTools{display:contents!important}

  .head .mainLogoLink{
    grid-column:1/4!important;
    grid-row:1!important;
    width:min(190px,55vw)!important;
    max-width:55vw!important;
    min-width:0!important;
    margin:0!important;
  }
  .head .headerMainLogo{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }

  .headerLangSwitch{
    grid-column:4!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:34px!important;
    padding:3px!important;
  }
  .headerLangSwitch .siteLangBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:26px!important;
    min-width:40px!important;
    width:auto!important;
    padding:0 7px!important;
    font-size:9px!important;
    line-height:1!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  .headerTools .search{
    grid-column:1/5!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }

  /* Keep the 3 actions as one compact group on the RIGHT. */
    .head .headerAccountBtn:not(.signedIn),
  .head .headerCartBtn{
    grid-row:3!important;
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:end!important;
    width:auto!important;
    max-width:none!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
    border-radius:999px!important;
    padding:0 10px!important;
    font-size:10px!important;
    font-weight:650!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
  }
.head .headerAccountBtn:not(.signedIn){
    grid-column:3!important;
    min-width:76px!important;
  }
  .head .headerCartBtn{
    grid-column:4!important;
    min-width:72px!important;
    padding-left:11px!important;
    padding-right:8px!important;
    gap:5px!important;
  }
  .head .headerCartCount{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 18px!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    max-height:18px!important;
    padding:0!important;
    font-size:9px!important;
  }

  /* Make image boxes visible and stable while remote images resolve. */
  .productImage,
  .sceneIcon,
  .scenePickImg,
  .relatedPic,
  .recentThumb,
  .detailImg,
  .promoSlide{
    background:#f4efe8!important;
  }
  .productImage img,
  .sceneIcon img,
  .scenePickImg img,
  .relatedPic img,
  .recentThumb img,
  .detailImg img,
  .promoSlide img{
    opacity:1!important;
    visibility:visible!important;
  }
}
/* Source style 22 (v10146-page-density-rebuild) */
/* V101-46: page-wide density rebuild.
   Scope is the storefront/main page and footer only. Age gate / reject UI intentionally excluded. */

/* ----- DESKTOP / SHARED STOREFRONT RHYTHM ----- */
main.wrap{
  max-width:1260px!important;
  padding:14px 18px 36px!important;
}
@media (min-width:761px){
  header .head{
    padding-top:7px!important;
    padding-bottom:7px!important;
    gap:8px!important;
  }
  header .primaryNav{gap:16px!important}
  header .primaryNav a,
  header .primaryNav button{
    padding:6px 0!important;
    font-size:11px!important;
  }
  header .headerActionBtn{
    height:36px!important;
    min-height:36px!important;
    padding-left:11px!important;
    padding-right:11px!important;
    font-size:11px!important;
  }
  header .search input{height:36px!important}
}

/* Hero: remove oversized vertical padding while preserving hierarchy */
main.wrap .hero{
  min-height:260px!important;
  border-radius:15px!important;
}
main.wrap .heroMain{
  padding:30px 36px!important;
}
main.wrap .eyebrow{
  margin-bottom:8px!important;
  font-size:9.5px!important;
  letter-spacing:.14em!important;
}
main.wrap .hero h1{
  font-size:clamp(34px,3.2vw,44px)!important;
  line-height:1.04!important;
  margin:0 0 10px!important;
}
main.wrap .hero p{
  font-size:11.5px!important;
  line-height:1.55!important;
}
main.wrap .heroBtns{
  margin-top:16px!important;
  gap:8px!important;
}
main.wrap .heroBtns .heroPrimary,
main.wrap .heroBtns .heroSecondary{
  padding:10px 16px!important;
}
main.wrap .heroPromo{
  min-height:260px!important;
}
main.wrap .promoMeta{bottom:30px!important}
main.wrap .promoKicker{margin-bottom:6px!important}
main.wrap .promoMeta h3{
  margin-bottom:5px!important;
  font-size:22px!important;
}
main.wrap .promoMeta .promoCta{margin-top:8px!important}

/* Announcement strip */
main.wrap .heroNewsStrip{margin-top:8px!important}
main.wrap .heroNewsTitle{padding:9px 11px!important}
main.wrap .heroNewsItem{padding:8px 11px!important}
main.wrap .heroNewsItem span{margin-top:2px!important}

/* Quick brands */
main.wrap .fastShop{
  margin-top:11px!important;
  padding:9px 10px!important;
  gap:7px 10px!important;
  border-radius:11px!important;
}
main.wrap .fastBtn{
  padding:7px 10px!important;
  font-size:9.5px!important;
}

/* Universal section rhythm */
main.wrap .section{
  margin-top:18px!important;
}
main.wrap .sectionHead{
  gap:8px!important;
  margin-bottom:8px!important;
}
main.wrap .sectionHead h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.15!important;
}
main.wrap .sectionSub{
  margin-top:2px!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  letter-spacing:.045em!important;
}
main.wrap .sectionLink{
  font-size:10px!important;
  padding:4px 0!important;
}

/* Browse area */
main.wrap .browseTabs{
  margin-bottom:9px!important;
  padding:3px!important;
}
main.wrap .browseTab{
  min-width:104px!important;
  height:33px!important;
  padding:0 14px!important;
  font-size:9.5px!important;
}
main.wrap .categoryDirectory{
  gap:8px!important;
}
main.wrap .categoryTile{
  min-height:94px!important;
  padding:12px!important;
  border-radius:10px!important;
}
main.wrap .catTitle{
  font-size:14px!important;
  line-height:1.28!important;
}
main.wrap .brandPanel{padding:10px!important}
main.wrap .brandDirectory{gap:7px!important}
main.wrap .brandGroup summary{
  padding:9px 11px!important;
  font-size:11px!important;
}
main.wrap .brandGrid{
  gap:6px!important;
  padding:0 10px 10px!important;
}
main.wrap .brandGrid .brandChip{
  padding:7px 10px!important;
  font-size:9.5px!important;
}

/* Occasion cards: same information, less dead space */
main.wrap #browseScenePanel{
  padding:4px 0 0!important;
}
main.wrap #browseScenePanel .sceneIntro{
  margin-bottom:9px!important;
  padding:9px 11px!important;
  border-radius:12px!important;
}
main.wrap #browseScenePanel .sceneGrid{
  gap:8px!important;
}
main.wrap #browseScenePanel .sceneCard{
  min-height:126px!important;
  height:auto!important;
  padding:12px 0 12px 12px!important;
  border-radius:13px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.04)!important;
}
main.wrap #browseScenePanel .sceneCard>b{
  margin:0 10px 5px 0!important;
  font-size:13.5px!important;
  line-height:1.16!important;
}
main.wrap #browseScenePanel .sceneCard>.sceneDesc{
  margin-right:10px!important;
  font-size:10px!important;
  line-height:1.35!important;
}
main.wrap #browseScenePanel .sceneCard>.sceneArrow{
  margin-top:5px!important;
}
main.wrap #browseScenePanel .sceneIcon{
  margin:-12px 0!important;
  border-radius:0 13px 13px 0!important;
}

/* Catalogue header and filter shell */
main.wrap #catalog .tagQuickBar{padding-bottom:6px!important}
main.wrap #catalog .facetTrail{margin-bottom:7px!important}
main.wrap #catalog .catalogToolbar.v46Toolbar .catalogIntro{
  margin-bottom:6px!important;
}
main.wrap #catalog .facetPanel{
  padding:9px!important;
  margin-bottom:9px!important;
}
main.wrap #catalog .facetSteps{
  gap:6px!important;
  margin-bottom:7px!important;
}
main.wrap #catalog .facetStep{
  padding:7px 8px!important;
}
main.wrap #catalog .facetGrid{gap:6px!important}
main.wrap #catalog .facetField label{margin-bottom:3px!important}
main.wrap #catalog .facetField select{
  height:34px!important;
  padding:0 7px!important;
}
main.wrap #catalog .activeFilterChips{margin-top:7px!important}

/* Product cards */
main.wrap .products{
  gap:10px!important;
}
main.wrap .card.productCard{
  border-radius:9px!important;
}
main.wrap .productImage{
  height:184px!important;
  min-height:184px!important;
}
main.wrap .productBody{
  padding:10px 11px 11px!important;
  min-height:0!important;
}
main.wrap .productName{
  min-height:34px!important;
  margin-top:4px!important;
  line-height:1.35!important;
}
main.wrap .productJP{
  min-height:24px!important;
  margin-top:3px!important;
  line-height:1.35!important;
}
main.wrap .salesRow{min-height:0!important;margin-top:5px!important}
main.wrap .productFacetBadges{min-height:0!important;margin-top:5px!important}
main.wrap .productBottom{margin-top:7px!important}
main.wrap .textDetail{margin-top:7px!important;padding-top:7px!important}

/* Recently viewed */
main.wrap .recentGrid{gap:7px!important}
main.wrap .recentCard{padding:7px!important}
main.wrap .recentThumb{height:82px!important}
main.wrap .recentName{margin-top:5px!important}
main.wrap .recentPrice{margin-top:2px!important}

/* How to Order:
   number at left, text directly beside it. No giant empty row. */
main.wrap .orderFlowSection .steps{
  border-radius:10px!important;
}
main.wrap .orderFlowSection .step{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  row-gap:2px!important;
  align-content:start!important;
  min-height:78px!important;
  padding:12px 11px!important;
}
main.wrap .orderFlowSection .stepNo{
  grid-column:1!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  margin:0!important;
  padding-top:1px!important;
  min-height:0!important;
  font-size:12px!important;
  line-height:1.2!important;
}
main.wrap .orderFlowSection .step b{
  grid-column:2!important;
  grid-row:1!important;
  min-height:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.3!important;
}
main.wrap .orderFlowSection .step>span:not(.stepNo){
  grid-column:2!important;
  grid-row:2!important;
  min-height:0!important;
  margin:0!important;
  font-size:9.5px!important;
  line-height:1.38!important;
}

/* Before ordering */
main.wrap #beforeOrdering .sectionHead{
  margin-bottom:8px!important;
}
main.wrap #beforeOrdering .infoGrid{
  gap:8px!important;
}
main.wrap #beforeOrdering .infoCard{
  min-height:0!important;
  height:auto!important;
  padding:12px!important;
  border-radius:10px!important;
}
main.wrap #beforeOrdering .infoCard .infoKicker,
main.wrap #beforeOrdering .infoCard .eyebrow{
  margin-bottom:5px!important;
  font-size:8.5px!important;
}
main.wrap #beforeOrdering .infoCard b,
main.wrap #beforeOrdering .infoCard h3{
  min-height:0!important;
  margin:5px 0 4px!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}
main.wrap #beforeOrdering .infoCard p{
  min-height:0!important;
  margin:0!important;
  font-size:9.5px!important;
  line-height:1.42!important;
}
main.wrap #beforeOrdering .infoCard .arrow{
  margin-top:7px!important;
  padding-top:0!important;
  font-size:15px!important;
}

/* Footer */
.v965Footer{
  padding:28px 0 18px!important;
}
.v965FooterInner{
  padding:0 30px!important;
}
.v965FooterLead{
  gap:30px!important;
  padding:0 10px 18px!important;
}
.v965FooterHeadline{
  font-size:24px!important;
  line-height:1.32!important;
}
.v965FooterSub{
  margin-top:6px!important;
  font-size:11px!important;
}
.v965Footer .footerSocial{gap:17px!important}
.v965FooterLinks{
  padding-top:14px!important;
}
.v965Copyright{margin-top:14px!important}

/* ----- MOBILE ----- */
@media (max-width:760px){
  main.wrap{
    padding:10px 10px 24px!important;
  }

  /* Header already uses a 3-row mobile layout; reduce wasted row spacing only. */
  header .head{
    row-gap:6px!important;
    padding-top:8px!important;
    padding-bottom:9px!important;
  }
    header .head .headerTools>.headerAccountBtn:not(.signedIn),
  header .head .headerTools>.headerCartBtn{
    height:33px!important;
    min-height:33px!important;
    max-height:33px!important;
  }

  main.wrap .hero{
    min-height:0!important;
    border-radius:13px!important;
  }
  main.wrap .heroMain{
    padding:20px 18px!important;
  }
  main.wrap .eyebrow{margin-bottom:6px!important}
  main.wrap .hero h1{
    font-size:31px!important;
    line-height:1.04!important;
    margin-bottom:8px!important;
  }
  main.wrap .hero p{
    font-size:10.5px!important;
    line-height:1.48!important;
  }
  main.wrap .heroBtns{
    margin-top:13px!important;
  }
  main.wrap .heroBtns .heroPrimary,
  main.wrap .heroBtns .heroSecondary{
    padding:9px 12px!important;
    font-size:10px!important;
  }
  main.wrap .heroPromo{
    min-height:230px!important;
  }
  main.wrap .promoMeta{
    left:14px!important;
    right:14px!important;
    bottom:28px!important;
  }
  main.wrap .promoMeta h3{font-size:18px!important}
  main.wrap .heroNewsStrip{margin-top:7px!important}
  main.wrap .heroNewsTitle,
  main.wrap .heroNewsItem{padding:7px 9px!important}

  main.wrap .fastShop{
    margin-top:9px!important;
    padding:8px 9px!important;
  }
  main.wrap .fastBtn{
    padding:6px 9px!important;
    font-size:9px!important;
  }

  main.wrap .section{
    margin-top:13px!important;
  }
  main.wrap .sectionHead{
    margin-bottom:6px!important;
  }
  main.wrap .sectionHead h2{
    font-size:20px!important;
    line-height:1.15!important;
  }
  main.wrap .sectionSub{
    margin-top:1px!important;
    font-size:9px!important;
    letter-spacing:.025em!important;
  }
  main.wrap .sectionLink{font-size:9.5px!important}

  main.wrap .browseTabs{
    margin-bottom:7px!important;
    padding:3px!important;
  }
  main.wrap .browseTab{
    height:34px!important;
    font-size:9px!important;
  }

  main.wrap .categoryDirectory{gap:6px!important}
  main.wrap .categoryTile{
    min-height:86px!important;
    padding:10px!important;
  }
  main.wrap .catTitle{
    min-height:0!important;
    font-size:12.5px!important;
  }

  main.wrap .brandGroup summary{padding:8px 9px!important}
  main.wrap .brandGrid{
    gap:5px!important;
    padding:0 9px 9px!important;
  }
  main.wrap .brandGrid .brandChip{
    padding:6px 9px!important;
    font-size:9px!important;
  }

  main.wrap #browseScenePanel .sceneGrid{gap:7px!important}
  main.wrap #browseScenePanel .sceneCard{
    height:112px!important;
    min-height:112px!important;
    grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
    padding:10px 0 10px 10px!important;
  }
  main.wrap #browseScenePanel .sceneCard>b{
    min-height:0!important;
    margin-right:8px!important;
    margin-bottom:4px!important;
    font-size:12px!important;
  }
  main.wrap #browseScenePanel .sceneCard>.sceneDesc{
    min-height:0!important;
    max-height:46px!important;
    margin-right:8px!important;
    font-size:9px!important;
    line-height:1.3!important;
    overflow:hidden!important;
  }
  main.wrap #browseScenePanel .sceneIcon{
    min-height:0!important;
    margin:-10px 0!important;
  }

  /* Filter stays collapsible, but when opened it is much denser. */
  main.wrap #catalog .catalogToolbar.v46Toolbar .catalogIntro{
    height:26px!important;
    min-height:26px!important;
    margin-bottom:5px!important;
  }
  main.wrap #catalog .catalogToolbar.v46Toolbar .clearFilters{
    min-height:26px!important;
  }
  main.wrap #catalog .mobileFacetToggle{
    min-height:44px!important;
    padding:8px 10px!important;
    margin-bottom:6px!important;
    border-radius:10px!important;
  }
  main.wrap #catalog .catalogToolbar.v46Toolbar .facetPanel{
    padding:8px!important;
    margin-bottom:7px!important;
  }
  main.wrap #catalog .facetSteps,
  main.wrap #catalog .facetGrid{
    gap:5px!important;
  }
  main.wrap #catalog .facetStep{
    padding:6px 7px!important;
  }
  main.wrap #catalog .facetField select{
    height:38px!important;
    min-height:38px!important;
    font-size:14px!important;
  }

  /* All-products cards: remove inherited reserved body heights. */
  main.wrap .products,
  main.wrap .productGrid,
  main.wrap .productsGrid,
  main.wrap .grid.products{
    gap:7px!important;
  }
  main.wrap .productImage{
    height:128px!important;
    min-height:128px!important;
  }
  main.wrap .productBody{
    min-height:0!important;
    height:auto!important;
    padding:8px 8px 9px!important;
  }
  main.wrap .productBrand{
    height:auto!important;
    min-height:0!important;
    line-height:1.25!important;
  }
  main.wrap .productName{
    min-height:0!important;
    max-height:34px!important;
    margin-top:3px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
  main.wrap .productJP{
    min-height:0!important;
    max-height:14px!important;
    margin-top:2px!important;
    font-size:8px!important;
    line-height:1.3!important;
    -webkit-line-clamp:1!important;
  }
  main.wrap .salesRow,
  main.wrap .productFacetBadges,
  main.wrap .stockFlag{
    min-height:0!important;
  }
  main.wrap .productBottom{
    min-height:0!important;
    margin-top:5px!important;
  }
  main.wrap .textDetail{
    min-height:27px!important;
    margin-top:5px!important;
    padding-top:5px!important;
  }

  /* Best Sellers remains even tighter than the regular catalogue. */
  main.wrap #hotSection .productCard .productImage{
    height:106px!important;
    min-height:106px!important;
  }
  main.wrap #hotSection .productCard .productBody{
    padding:7px!important;
  }

  /* Number and copy now live on the same horizontal line system. */
  main.wrap .orderFlowSection .steps{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  main.wrap .orderFlowSection .step{
    grid-template-columns:26px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:8px!important;
    row-gap:2px!important;
    min-height:0!important;
    padding:10px 11px!important;
  }
  main.wrap .orderFlowSection .stepNo{
    font-size:11px!important;
  }
  main.wrap .orderFlowSection .step b{
    min-height:0!important;
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.3!important;
  }
  main.wrap .orderFlowSection .step>span:not(.stepNo){
    min-height:0!important;
    font-size:9px!important;
    line-height:1.34!important;
  }

  main.wrap #beforeOrdering .infoGrid{
    gap:6px!important;
  }
  main.wrap #beforeOrdering .infoCard{
    min-height:0!important;
    padding:9px!important;
  }
  main.wrap #beforeOrdering .infoCard button{
    height:auto!important;
    min-height:0!important;
  }
  main.wrap #beforeOrdering .infoCard b,
  main.wrap #beforeOrdering .infoCard h3{
    min-height:0!important;
    margin:4px 0 3px!important;
    font-size:11px!important;
  }
  main.wrap #beforeOrdering .infoCard p{
    min-height:0!important;
    font-size:8.7px!important;
    line-height:1.36!important;
    -webkit-line-clamp:3!important;
  }
  main.wrap #beforeOrdering .infoCard .arrow{
    margin-top:5px!important;
    padding-top:0!important;
  }

  .v965Footer{
    padding:21px 0 14px!important;
  }
  .v965FooterInner{
    padding:0 15px!important;
  }
  .v965FooterLead{
    padding-bottom:14px!important;
  }
  .v965FooterHeadline{
    font-size:21px!important;
    line-height:1.3!important;
  }
  .v965FooterSub{
    margin-top:5px!important;
    font-size:10px!important;
  }
  .v965Footer .footerSocial{gap:14px!important}
  .v965FooterLinks{
    gap:8px 12px!important;
    padding-top:11px!important;
  }
  .v965Copyright{margin-top:11px!important}
}

@media (max-width:390px){
  main.wrap{padding-left:8px!important;padding-right:8px!important}
  main.wrap .heroMain{padding:18px 16px!important}
  main.wrap .hero h1{font-size:28px!important}
  main.wrap .productImage{height:120px!important;min-height:120px!important}
  main.wrap #browseScenePanel .sceneCard{height:108px!important;min-height:108px!important}
}
/* Source style 23 (v10148-scrollbar-stability) */
html{scrollbar-gutter:stable}
/* Source style 24 (v83-address-code-postal-css) */
.addressHelp{margin-top:5px;font-size:10.5px;line-height:1.45;color:#7a6f66}
.addressHelp.important{color:#c73a32;font-weight:650}
@media(max-width:680px){.addressHelp{font-size:10px}}
/* Source style 25 (v10190-order-history-css) */
/* V101-90 · Order history final */
.orderHistoryIntro{border:1px solid #e3d7c9;border-radius:14px;padding:13px 14px;background:linear-gradient(135deg,#fffaf3 0%,#f6eee4 100%);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.orderHistoryIntro b{display:block;font-size:12px;color:#2b241f}
.orderHistoryIntro span{display:block;margin-top:4px;font-size:9.5px;line-height:1.55;color:#776b60}
.memberOrders{gap:11px!important}
.memberOrder{border:1px solid #dfd3c6!important;border-radius:14px!important;padding:14px!important;background:#fff!important;display:block!important;box-shadow:0 5px 18px rgba(46,37,29,.035)}
.orderCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.orderCardNo{font-size:13px;font-weight:900;color:#251f1a;letter-spacing:.01em}
.orderCardDate{margin-top:4px;font-size:9px;color:#85786c}
.orderStateBadge{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:5px 9px;border-radius:999px;font-size:8.5px;font-weight:900;white-space:nowrap;background:#f1e7dc;color:#6b5b4e}
.orderStateBadge.review{background:#fff1d7;color:#8b641c}.orderStateBadge.payment{background:#e9effc;color:#365b98}.orderStateBadge.preparing{background:#eee8fb;color:#654f98}.orderStateBadge.shipped{background:#e4f1ff;color:#21628f}.orderStateBadge.completed{background:#e5f1e9;color:#2e6b4f}.orderStateBadge.cancelled{background:#f8e4e1;color:#9b4038}
.orderProgress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:15px 0 13px;position:relative}
.orderProgress:before{content:"";position:absolute;left:5%;right:5%;top:7px;height:2px;background:#e5dbd0;z-index:0}
.orderProgressStep{position:relative;z-index:1;text-align:center;min-width:0}
.orderProgressDot{width:15px;height:15px;margin:0 auto 6px;border-radius:50%;background:#eee5dc;border:2px solid #eee5dc;box-shadow:0 0 0 3px #fff}
.orderProgressStep.done .orderProgressDot{background:#2f2925;border-color:#2f2925}.orderProgressStep.current .orderProgressDot{background:#fff;border-color:#b16447;box-shadow:0 0 0 3px #f6e6de}
.orderProgressLabel{font-size:7.5px;line-height:1.25;color:#998b7f;white-space:normal}.orderProgressStep.done .orderProgressLabel,.orderProgressStep.current .orderProgressLabel{color:#4f443b;font-weight:800}
.orderMetaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:4px}
.orderMetaCell{padding:9px 10px;border-radius:9px;background:#faf6f0;min-width:0}.orderMetaCell span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;color:#9a8d82;font-weight:850}.orderMetaCell b{display:block;margin-top:4px;font-size:10px;color:#3c332c;overflow-wrap:anywhere}
.orderCardFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.orderCardHint{font-size:8.5px;color:#8a7c70;line-height:1.45}.memberOrderActions{display:flex;gap:7px;justify-content:flex-end!important}.memberOrderActions .btn{min-width:88px}
.orderDetailHero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border:1px solid #dfd3c6;border-radius:13px;background:linear-gradient(135deg,#fffaf3 0%,#f7efe5 100%)}
.orderDetailHeroNo{font-size:16px;font-weight:950;color:#251f1a}.orderDetailHeroMeta{margin-top:5px;font-size:9.5px;color:#776b60}.orderDetailStatusBlock{text-align:right}.orderDetailAmount{margin-top:7px;font-size:15px;font-weight:950;color:#2e2925}
.orderDetailSection{margin-top:12px;border:1px solid #e3d7c9;border-radius:12px;padding:13px;background:#fff}.orderDetailSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.orderDetailSectionTitle b{font-size:11px}.orderDetailSectionTitle span{font-size:8.5px;color:#8a7d71}
.orderItemRow{display:grid;grid-template-columns:minmax(0,1fr) 64px 92px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #eee5dc}.orderItemRow:first-child{border-top:0;padding-top:0}.orderItemName{font-size:10px;font-weight:800;color:#352d27}.orderItemSku{margin-top:3px;font-size:8px;color:#97897d}.orderItemQty,.orderItemPrice{text-align:right;font-size:9.5px;color:#55493f}.orderItemPrice{font-weight:850}
.orderDetailTwoCol{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.orderFacts{display:grid;gap:8px}.orderFact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:9.5px}.orderFact span{color:#85786c}.orderFact b{text-align:right;color:#3b322b;overflow-wrap:anywhere}.orderFact.total{padding-top:8px;border-top:1px solid #eadfd4}.orderFact.total b{font-size:12px}
.orderTrackingBox{padding:10px;border-radius:10px;background:#f7f2eb}.orderTrackingNumber{margin-top:4px;font:900 12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:#2d2722;overflow-wrap:anywhere}
.orderTimeline .timelineRow{padding-bottom:14px}.orderTimeline .timelineDot{background:#6b5a4c}.orderTimeline .timelineText b{font-size:10px}.orderTimeline .timelineText div{font-size:9px;line-height:1.45}
.orderDetailActions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
.orderSuccessFlow{margin:12px 0;padding:12px;border:1px solid #e3d7c9;border-radius:11px;background:#fffaf3}.orderSuccessFlow b{font-size:10px}.orderSuccessFlowGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.orderSuccessStep{padding:8px;border-radius:8px;background:#f6efe7;font-size:8.5px;line-height:1.4;color:#675b50}.orderSuccessStep strong{display:block;color:#332b25;font-size:9px;margin-bottom:2px}
@media(max-width:980px){.orderMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.orderProgress{grid-template-columns:repeat(6,1fr);margin-left:-2px;margin-right:-2px}.orderProgressLabel{font-size:6.5px}.orderMetaGrid{grid-template-columns:1fr}.orderCardFooter{align-items:flex-start;flex-direction:column}.memberOrderActions{justify-content:flex-start!important;width:100%}.memberOrderActions .btn{flex:1}.orderDetailHero{flex-direction:column}.orderDetailStatusBlock{text-align:left}.orderDetailTwoCol{grid-template-columns:1fr}.orderItemRow{grid-template-columns:minmax(0,1fr) 44px 74px;gap:6px}.orderSuccessFlowGrid{grid-template-columns:1fr}}
/* Source style 26 (v10190-account-ui) */
/* V101-90 · one account entry only: signed out = Account; signed in = Shiba avatar. */
.accountSignedAvatar{display:none!important}
.head .headerAccountBtn:not(.signedIn){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:96px!important;width:96px!important;max-width:96px!important;
}
.minnaSignedIn .head .headerAccountBtn.signedIn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:40px!important;min-width:40px!important;max-width:40px!important;
  height:40px!important;min-height:40px!important;max-height:40px!important;
  padding:0!important;margin:0!important;gap:0!important;border:0!important;border-radius:50%!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;color:#2b241f!important;
}
.minnaSignedIn .head .headerAccountBtn.signedIn .accountSignedAvatar{
  display:block!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
  flex:0 0 38px!important;overflow:hidden!important;border-radius:50%!important;border:1px solid #d6c6b5!important;
  background:#f2e5d6!important;box-shadow:0 2px 8px rgba(45,35,27,.10)!important;
}
.minnaSignedIn .head .headerAccountBtn.signedIn .accountSignedAvatar img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:50%!important;
}
.minnaSignedIn .head .headerAccountBtn.signedIn .accountBtnLabel{display:none!important}
.minnaSignedIn .head .headerTools{gap:8px!important}
.authSwitchRow{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:#776b60}
.authSwitchRow .authTextBtn{margin:0!important}

.accountQuickMenu{
  position:fixed!important;z-index:10050!important;display:none!important;width:190px!important;padding:7px!important;margin:0!important;
  border:1px solid #ddd0c1!important;border-radius:14px!important;background:#fffdf9!important;
  box-shadow:0 16px 38px rgba(31,24,19,.18)!important;box-sizing:border-box!important;
}
.accountQuickMenu.show{display:grid!important;gap:2px!important}
.accountQuickMenu button{
  width:100%!important;min-height:40px!important;border:0!important;border-radius:9px!important;background:transparent!important;
  color:#2b241f!important;padding:10px 11px!important;text-align:left!important;font-size:11px!important;font-weight:750!important;cursor:pointer!important;
}
.accountQuickMenu button:hover{background:#f4ece2!important}
.accountQuickMenuSep{height:1px!important;background:#e9ded1!important;margin:4px 3px!important}
.accountQuickMenu .accountQuickMenuSignout{color:#9a3c33!important}

@media(max-width:900px){.minnaSignedIn .head .headerTools{gap:6px!important}}
@media(max-width:760px){
  .head .headerAccountBtn:not(.signedIn){grid-column:3!important;grid-row:3!important;justify-self:end!important;min-width:82px!important;width:auto!important;max-width:none!important}
  .minnaSignedIn .head .headerTools>.headerAccountBtn.signedIn{grid-column:3!important;grid-row:3!important;justify-self:end!important}
  .head .headerCartBtn,.minnaSignedIn .head .headerTools>.headerCartBtn{grid-column:4!important;grid-row:3!important;justify-self:end!important}
  .accountQuickMenu{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;padding:9px!important;border-radius:18px!important;box-shadow:0 18px 46px rgba(31,24,19,.24)!important}
  .accountQuickMenu button{min-height:48px!important;font-size:13px!important;padding:12px 13px!important}
}
@media(max-width:520px){
  .head .headerAccountBtn:not(.signedIn),.minnaSignedIn .head .headerTools>.headerAccountBtn.signedIn{grid-column:2!important;grid-row:3!important}
  .head .headerCartBtn,.minnaSignedIn .head .headerTools>.headerCartBtn{grid-column:3!important;grid-row:3!important}
}

/* V101-92: login remember-username control + address-only member view */
.authRememberRow{display:flex;align-items:center;justify-content:flex-start;margin-top:10px}
.authRememberLabel{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;color:#5f554d;cursor:pointer;user-select:none}
.authRememberLabel input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:#2e2925}
#memberCenterModal.addressesOnly .memberGrid,
#memberCenterModal.addressesOnly #myOrdersTitle,
#memberCenterModal.addressesOnly #memberOrders{display:none!important}
#memberCenterModal.addressesOnly #savedAddressesTitle{font-size:18px!important}
#memberCenterModal.addressesOnly .authBody{padding-top:14px!important}
#memberCenterModal.addressesOnly .memberSectionTitle{margin-top:4px!important}
@media(max-width:680px){.authRememberLabel{font-size:11px}}
/* Source style 27 (v10192-international-address-css) */
/* V101-93: production-style address modal shell + country-aware postal validation */
#memberAddressModal{padding:14px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
#memberAddressModal .shippingAddressEditor{max-width:680px!important;width:min(94vw,680px)!important;height:min(88dvh,820px)!important;max-height:calc(100dvh - 28px)!important;border-radius:18px!important;overflow:hidden!important;padding:0!important;display:flex!important;flex-direction:column!important;background:#fff!important}
#memberAddressModal .shippingAddressTop{padding:18px 20px 14px!important;border-bottom:1px solid #eee5db;background:#fffdf9;flex:0 0 auto!important;position:relative!important;z-index:4!important}
#memberAddressModal #addressEditorKicker{display:none!important}
#memberAddressModal .shippingAddressBody{padding:18px 20px!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;flex:1 1 auto!important;min-height:0!important}
#memberAddressModal .shippingAddressFooter{flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;padding:12px 20px calc(12px + env(safe-area-inset-bottom))!important;border-top:1px solid #eee5db!important;background:#fffdf9!important;box-shadow:0 -8px 22px rgba(47,39,32,.05)!important;position:relative!important;z-index:5!important}
#memberAddressModal .shippingAddressFooter .btn{min-height:44px!important;border-radius:10px!important;font-size:12px!important;padding:10px 18px!important}
#memberAddressModal .shippingAddressFooter .addressCancelBtn{min-width:112px!important}
#memberAddressModal .shippingAddressFooter .addressSaveBtn{width:auto!important;min-width:160px!important}
#memberAddressModal .compactAddressNotice{margin:0 0 16px!important;padding:10px 12px!important;border-radius:10px!important;font-size:9.5px!important;line-height:1.5!important}
#memberAddressModal .shippingFormGrid.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#memberAddressModal .authField{margin-bottom:12px!important;min-width:0}
#memberAddressModal .authField label{display:block;margin:0 0 6px;font-size:10px;font-weight:750;color:#5b5149}
#memberAddressModal .authField input{width:100%;min-height:44px;border:1px solid #d8cec3;border-radius:10px;background:#fff;padding:10px 12px;font-size:13px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
#memberAddressModal .authField input:focus{border-color:#9b8674;box-shadow:0 0 0 3px rgba(155,134,116,.12)}
#memberAddressModal .authField input.fieldInvalid{border-color:#c94234!important;background:#fff9f8!important;box-shadow:0 0 0 3px rgba(201,66,52,.09)!important}
#memberAddressModal .addressHelp{font-size:9px!important;line-height:1.45!important;color:#8a7d72!important;margin-top:5px!important}
#memberAddressModal .addressHelp.important{color:#8a7d72!important;font-weight:500!important}
#memberAddressModal .postalRuleHelp[data-required="true"]{color:#6f6258!important}
#memberAddressModal .postalRuleHelp[data-required="false"]{color:#2f6d50!important}
#memberAddressModal .inlineFieldError{display:none;margin-top:5px;font-size:9px;line-height:1.4;color:#c53b31;font-weight:700}
#memberAddressModal .inlineFieldError.show{display:block}
.field .inlineFieldError{display:none;margin-top:5px;font-size:9px;line-height:1.4;color:#c53b31;font-weight:700}.field .inlineFieldError.show{display:block}.field input.fieldInvalid{border-color:#c94234!important;background:#fff9f8!important;box-shadow:0 0 0 3px rgba(201,66,52,.09)!important}
#memberAddressModal .addressDefaultRow{margin:2px 0 14px!important;padding:2px 0;font-size:10.5px}
#memberAddressModal .addressSaveBtn{width:100%!important;min-height:46px!important;border-radius:10px!important;font-size:12px!important}
#memberAddressModal .countryPickerInput{min-height:44px!important;border-radius:10px!important}
#memberAddressModal .countryPickerMenu{border-radius:11px!important;box-shadow:0 12px 28px rgba(41,33,27,.14)!important}
.regionSmartAnchor{position:relative}
.regionSmartMenu{position:absolute;z-index:1005;left:0;right:0;top:calc(100% + 5px);max-height:220px;overflow:auto;background:#fff;border:1px solid #d9cec3;border-radius:10px;box-shadow:0 12px 28px rgba(41,33,27,.14);padding:4px}
.regionSmartMenu[hidden]{display:none!important}
.regionSmartOption{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;text-align:left;cursor:pointer;font-size:11px;color:#2f2925}
.regionSmartOption:hover,.regionSmartOption.active{background:#f5eee7}
.regionSmartCode{min-width:40px;font-weight:850;font-size:10px;letter-spacing:.03em}
.regionSmartName{color:#655a52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#memberAddressModal .postalCompanyRow{align-items:start}
@media(max-width:680px){
  #memberAddressModal{padding:7px!important;align-items:center!important}
  #memberAddressModal .shippingAddressEditor{width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;height:calc(100dvh - 14px)!important;max-height:calc(100dvh - 14px)!important;border-radius:14px!important}
  #memberAddressModal .shippingAddressTop{padding:14px 15px 12px!important}
  #memberAddressModal .shippingAddressBody{padding:14px 15px!important}
  #memberAddressModal .shippingFormGrid.twoCol{grid-template-columns:1fr!important;gap:0!important}
  #memberAddressModal .authField{margin-bottom:11px!important}
  #memberAddressModal .authField input,#memberAddressModal .countryPickerInput{min-height:46px!important;font-size:14px!important}
  #memberAddressModal .shippingAddressFooter{padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;gap:8px!important}
  #memberAddressModal .shippingAddressFooter .btn{min-height:48px!important;font-size:13px!important;flex:1 1 0!important;min-width:0!important;padding:10px 12px!important}
  .regionSmartMenu{max-height:190px}
}
/* Source style 28 (v10194-address-feedback-css) */
.addressActionNotice{position:fixed;top:18px;left:50%;transform:translate(-50%,-18px);z-index:260;display:flex;align-items:center;gap:9px;max-width:min(92vw,560px);padding:12px 16px;border:1px solid #b9d8c4;border-radius:12px;background:#edf8f1;color:#235b3b;box-shadow:0 12px 34px rgba(35,91,59,.16);font-size:12px;font-weight:750;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.addressActionNotice.show{opacity:1;transform:translate(-50%,0)}.addressActionNoticeIcon{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#2e6b4f;color:#fff;font-size:12px;flex:0 0 auto}.addressActionNotice.error{border-color:#e4bab5;background:#fff1ef;color:#8a332c}.addressActionNotice.error .addressActionNoticeIcon{background:#a8443b}.addressSaveBtn[disabled]{opacity:.58;cursor:wait}
@media(max-width:680px){.addressActionNotice{top:10px;width:calc(100vw - 22px);box-sizing:border-box;font-size:11px}}
/* Source style 29 (v10196-address-grid-css) */
/* Desktop: province/state is compact; city receives the working space. */
@media(min-width:681px){
  #memberAddressModal .shippingFormGrid.regionCityRow{
    grid-template-columns:minmax(190px,34%) minmax(0,66%)!important;
    gap:14px!important;
    align-items:start!important;
  }
  #memberAddressModal .shippingFormGrid.regionCityRow .regionSmartField{
    width:100%!important;max-width:none!important;min-width:0!important;
  }
  #memberAddressModal .shippingFormGrid.regionCityRow #addrProvince,
  #memberAddressModal .shippingFormGrid.regionCityRow #addrCity{width:100%!important}
}
@media(max-width:680px){
  #memberAddressModal .shippingFormGrid.regionCityRow{grid-template-columns:1fr!important;gap:0!important}
}
/* Source style 30 (v10197-address-form-proportions-css) */
/* Desktop widths follow actual data length instead of stretching every control full-width. */
@media(min-width:681px){
  #memberAddressModal .shippingFormGrid.contactRow{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(220px,.92fr)!important;
    gap:14px!important;
    width:min(100%,560px)!important;
    align-items:start!important;
  }
  #memberAddressModal .countryCompactRow{
    width:min(100%,360px)!important;
  }
  #memberAddressModal .shippingFormGrid.regionCityRow{
    grid-template-columns:minmax(180px,36%) minmax(260px,56%)!important;
    gap:14px!important;
    width:min(100%,600px)!important;
    justify-content:start!important;
  }
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    grid-template-columns:minmax(170px,34%) minmax(240px,52%)!important;
    gap:14px!important;
    width:min(100%,570px)!important;
    justify-content:start!important;
  }
  #memberAddressModal #addrRecipient,
  #memberAddressModal #addrPhone,
  #memberAddressModal #addrCountry,
  #memberAddressModal #addrProvince,
  #memberAddressModal #addrCity,
  #memberAddressModal #addrPostal,
  #memberAddressModal #addrCompany{width:100%!important;box-sizing:border-box!important}
}
@media(max-width:680px){
  #memberAddressModal .shippingFormGrid.contactRow,
  #memberAddressModal .shippingFormGrid.regionCityRow,
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    display:grid!important;grid-template-columns:1fr!important;gap:0!important;width:100%!important
  }
  #memberAddressModal .countryCompactRow{width:100%!important}
}
/* Source style 31 (v10198-address-form-compact-css) */
@media(min-width:681px){
  #memberAddressModal .shippingFormGrid.contactRow{
    grid-template-columns:250px 230px!important;
    gap:14px!important;
    width:auto!important;
    justify-content:start!important;
  }
  #memberAddressModal .countryCompactRow{
    width:250px!important;
    max-width:250px!important;
  }
  #memberAddressModal .shippingFormGrid.regionCityRow{
    grid-template-columns:220px 330px!important;
    gap:14px!important;
    width:auto!important;
    justify-content:start!important;
  }
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    grid-template-columns:200px 300px!important;
    gap:14px!important;
    width:auto!important;
    justify-content:start!important;
  }
  #memberAddressModal .shippingFormGrid.contactRow .authField,
  #memberAddressModal .shippingFormGrid.regionCityRow .authField,
  #memberAddressModal .shippingFormGrid.postalCompanyRow .authField{
    min-width:0!important;
  }
}
@media(max-width:680px){
  #memberAddressModal .shippingFormGrid.contactRow,
  #memberAddressModal .shippingFormGrid.regionCityRow,
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  #memberAddressModal .countryCompactRow{width:100%!important;max-width:none!important}
}
/* Source style 32 (v10199-address-logical-layout-css) */
@media(min-width:681px){
  #memberAddressModal .shippingFormGrid.contactRow{
    display:grid!important;
    grid-template-columns:250px 230px!important;
    gap:14px!important;
    width:auto!important;
    justify-content:start!important;
    align-items:start!important;
  }
  #memberAddressModal .shippingFormGrid.countryProvinceRow{
    display:grid!important;
    grid-template-columns:250px 250px!important;
    gap:14px!important;
    width:auto!important;
    justify-content:start!important;
    align-items:start!important;
  }
  #memberAddressModal .cityFullRow{
    width:100%!important;
    max-width:none!important;
  }
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    display:grid!important;
    grid-template-columns:200px 300px!important;
    gap:14px!important;
    width:auto!important;
    justify-content:start!important;
    align-items:start!important;
  }
  #memberAddressModal .shippingFormGrid.countryProvinceRow .authField,
  #memberAddressModal .shippingFormGrid.contactRow .authField,
  #memberAddressModal .shippingFormGrid.postalCompanyRow .authField{min-width:0!important}
  #memberAddressModal #addrCountry,
  #memberAddressModal #addrProvince,
  #memberAddressModal #addrCity,
  #memberAddressModal #addrPostal,
  #memberAddressModal #addrCompany{width:100%!important;box-sizing:border-box!important}
}
@media(max-width:680px){
  #memberAddressModal .shippingFormGrid.countryProvinceRow,
  #memberAddressModal .shippingFormGrid.contactRow,
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    display:grid!important;grid-template-columns:1fr!important;gap:0!important;width:100%!important
  }
  #memberAddressModal .cityFullRow{width:100%!important}
}
/* Source style 33 (v101100-address-visual-polish-css) */
/* Desktop: calm, balanced address form rather than a stretched spreadsheet */
@media(min-width:681px){
  #memberAddressModal .shippingAddressEditor{
    max-width:760px!important;
    width:min(92vw,760px)!important;
    height:min(90dvh,840px)!important;
  }
  #memberAddressModal .shippingAddressTop{padding:20px 24px 16px!important}
  #memberAddressModal .shippingAddressBody{padding:20px 24px 18px!important}
  #memberAddressModal .shippingAddressFooter{padding:13px 24px 15px!important}
  #memberAddressModal .compactAddressNotice{
    margin-bottom:18px!important;
    padding:10px 12px!important;
    font-size:10px!important;
    line-height:1.5!important;
    border-radius:10px!important;
  }
  #memberAddressModal .shippingFormGrid.contactRow,
  #memberAddressModal .shippingFormGrid.countryProvinceRow{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:16px!important;
    width:100%!important;
  }
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    gap:16px!important;
    width:100%!important;
  }
  #memberAddressModal .authField{margin-bottom:14px!important}
  #memberAddressModal .authField>label{
    display:block!important;
    margin-bottom:6px!important;
    font-size:10.5px!important;
    font-weight:750!important;
    color:#3c342e!important;
  }
  #memberAddressModal .authField input,
  #memberAddressModal .authField select{
    min-height:46px!important;
    height:46px!important;
    border-radius:10px!important;
    padding:0 13px!important;
    font-size:14px!important;
    background:#fff!important;
  }
  #memberAddressModal .addressHelp{
    margin-top:5px!important;
    font-size:9.5px!important;
    line-height:1.45!important;
    color:#8a7e74!important;
  }
  #memberAddressModal .cityFullRow{width:100%!important;margin-bottom:14px!important}
  #memberAddressModal .cityFullRow input,
  #memberAddressModal #addrAddress1,
  #memberAddressModal #addrAddress2{width:100%!important}
  #memberAddressModal .addressDefaultRow{
    margin:2px 0 4px!important;
    padding:10px 12px!important;
    border:1px solid #eee4d9!important;
    border-radius:10px!important;
    background:#fcfaf7!important;
  }
  #memberAddressModal .shippingAddressFooter .addressCancelBtn{min-width:118px!important}
  #memberAddressModal .shippingAddressFooter .addressSaveBtn{min-width:176px!important}
}
@media(max-width:680px){
  #memberAddressModal .shippingFormGrid.contactRow,
  #memberAddressModal .shippingFormGrid.countryProvinceRow,
  #memberAddressModal .shippingFormGrid.postalCompanyRow{
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
  }
}
/* Source style 34 (v101101-address-compact-rows-css) */
/* V101-101: compact international address hierarchy */
@media(min-width:681px){
  #memberAddressModal .shippingFormGrid.postalCityRow{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    gap:16px!important;
    width:100%!important;
    align-items:start!important;
  }
  #memberAddressModal .shippingFormGrid.postalCityRow .authField{min-width:0!important}
  #memberAddressModal #addrPostal,
  #memberAddressModal #addrCity{width:100%!important;box-sizing:border-box!important}
}
@media(max-width:680px){
  #memberAddressModal .shippingFormGrid.postalCityRow{
    display:grid!important;grid-template-columns:1fr!important;gap:0!important;width:100%!important
  }
}
/* Source style 35 (v101102-commerce-flow-css) */
/* V101-102: testable commerce flow */
#checkoutModal{padding:18px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
#checkoutModal .checkoutModalBox{width:min(96vw,980px)!important;max-width:980px!important;max-height:calc(100dvh - 36px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:0!important;border-radius:18px!important}
#checkoutModal .checkoutHead{flex:0 0 auto;padding:16px 20px!important;border-bottom:1px solid #eadfd3;background:#fffdf9}
.checkoutKicker{font-size:8px;font-weight:850;letter-spacing:.13em;color:#8a7766}
#checkoutBody{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.checkoutShell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:0;min-height:0;overflow:hidden;flex:1}
.checkoutMain{padding:18px 20px 24px;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}
.checkoutSummary{padding:18px;background:#f7f2eb;border-left:1px solid #eadfd3;overflow-y:auto}
.checkoutStepTitle{display:flex;align-items:center;gap:10px;margin:0 0 14px}.checkoutStepTitle.compact{margin-top:20px}
.checkoutStepTitle>span{width:24px;height:24px;border-radius:50%;background:#2b241f;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:850;flex:0 0 auto}
.checkoutStepTitle b{display:block;font-size:13px}.checkoutStepTitle small{display:block;margin-top:2px;color:#8b7d70;font-size:9px;line-height:1.45}
.checkoutMain .field{margin-bottom:10px}.checkoutMain .field label{display:block;margin-bottom:5px;font-size:9.5px;font-weight:800;color:#5a4d42}
.checkoutMain input,.checkoutMain select,.checkoutMain textarea{width:100%;min-height:42px;border-radius:9px;border:1px solid #d9cec2;background:#fff;padding:9px 11px}
.checkoutMain textarea{min-height:72px;resize:vertical}.checkoutMain .grid2{gap:10px}.checkoutPostalCity{display:grid;grid-template-columns:minmax(150px,.58fr) minmax(0,1.42fr);gap:10px}
.checkoutMain .addressHelp{font-size:8px;line-height:1.4;margin-top:4px;color:#9a8a7c}.checkoutMain .latinOnlyNotice{font-size:8.5px;line-height:1.45;padding:8px 10px;margin:2px 0 10px}
.checkoutSummaryTitle{display:flex;justify-content:space-between;gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid #ded3c8}.checkoutSummaryTitle b{font-size:14px}.checkoutSummaryTitle span{font-size:9px;color:#8c7f73}
.checkoutSummaryItems{padding:8px 0}.checkoutSummaryItem{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5dbd1}.checkoutSummaryItem b{display:block;font-size:10px;line-height:1.35}.checkoutSummaryItem small{display:block;margin-top:3px;font-size:8px;color:#8d7f72}.checkoutSummaryItem strong{font-size:10px;white-space:nowrap}.checkoutSummaryEmpty{padding:18px 0;font-size:10px;color:#8d7f72}
.checkoutSummaryRows{margin-top:8px;border-top:1px solid #ded3c8;padding-top:8px}.checkoutSummaryRows>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:9px}.checkoutSummaryRows b{text-align:right}.checkoutSummaryTotal{margin-top:5px;padding-top:10px!important;border-top:1px solid #d8cdc2;font-size:11px!important}.checkoutTestNote{margin-top:14px;padding:10px;border-radius:9px;background:#fff8df;border:1px solid #eadca9;font-size:8.5px;line-height:1.45;color:#6d5e3a}
.checkoutActions{flex:0 0 auto;display:flex;justify-content:space-between;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eadfd3;background:#fffdf9}.checkoutActions .btn{min-height:44px;padding:10px 18px}.checkoutActions .btn.dark{min-width:180px}
.checkoutSuccess{padding:38px 28px;text-align:center;overflow-y:auto}.checkoutSuccessIcon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e8f5e8;color:#2d6a35;font-size:28px;font-weight:900}.checkoutSuccess h2{margin:6px 0 8px;font-size:22px}.checkoutSuccess>p{max-width:560px;margin:0 auto 18px;color:#72665b;font-size:10px;line-height:1.6}.checkoutOrderNo{max-width:460px;margin:0 auto 18px;padding:13px;border:1px solid #dfd4c9;border-radius:11px;background:#fff}.checkoutOrderNo span{display:block;font-size:8px;color:#8c7e72}.checkoutOrderNo b{display:block;margin-top:4px;font-size:17px;letter-spacing:.05em}.checkoutNextSteps{max-width:620px;margin:0 auto 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkoutNextSteps>div{padding:12px;border-radius:10px;background:#f7f2eb;font-size:9px}.checkoutNextSteps strong{display:grid;place-items:center;width:24px;height:24px;margin:0 auto 6px;border-radius:50%;background:#2b241f;color:#fff}.checkoutSuccessActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){#checkoutModal{padding:0!important;align-items:stretch!important}.checkoutModalBox{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.checkoutShell{display:block;overflow-y:auto}.checkoutMain{overflow:visible;padding:15px}.checkoutSummary{border-left:0;border-top:1px solid #eadfd3;padding:15px}.checkoutActions{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.checkoutActions .btn{flex:1;min-width:0!important}.checkoutPostalCity{grid-template-columns:1fr}.checkoutNextSteps{grid-template-columns:1fr}.checkoutMain .grid2{grid-template-columns:1fr}}
/* Source style 36 (v104-cart-ux-css) */
.productPurchaseRow{display:flex;align-items:center;gap:8px;margin-top:9px}.productQtyPicker{display:grid;grid-template-columns:30px 34px 30px;align-items:center;border:1px solid #d7cabd;border-radius:8px;overflow:hidden;background:#fff;flex:0 0 auto}.productQtyPicker button{height:34px;border:0;background:#f7f1e9;color:#2f2924;font-size:16px;font-weight:800}.productQtyPicker span{display:flex;align-items:center;justify-content:center;height:34px;font-size:11px;font-weight:850;border-left:1px solid #e4d8cc;border-right:1px solid #e4d8cc}.productAddBtn{flex:1;min-height:34px;border:0;border-radius:8px;background:#2e2925;color:#fff;padding:8px 10px;font-size:9px;font-weight:850;white-space:nowrap}.productAddBtn:disabled{opacity:.48;cursor:not-allowed}.productAddBtn.addedPulse{animation:v104AddPulse .45s ease}@keyframes v104AddPulse{0%{transform:scale(.97)}55%{transform:scale(1.03)}100%{transform:scale(1)}}
#v104CartBtn{display:flex;align-items:center;justify-content:center;gap:7px;min-width:84px}.v104CartIcon{font-size:18px;line-height:1}.v104CartLabel{font-size:10px}.v104CartCount{position:absolute;right:-4px;top:-5px;background:#a63b32;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:10px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;font-weight:850}.v104CartCount.empty{display:none}
#v104CartPeek{position:fixed;right:16px;bottom:242px;z-index:9499;width:min(290px,calc(100vw - 32px));background:#fffdf8;border:1px solid #dbcdbf;border-radius:14px;box-shadow:0 14px 36px rgba(37,29,23,.18);padding:12px;display:none}.v104CartPeek.show{display:block;animation:v104Peek .18s ease}@keyframes v104Peek{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.v104CartPeekTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.v104CartPeekTitle{font-size:11px;font-weight:850}.v104CartPeekMeta{font-size:9px;color:#786b60;margin-top:3px}.v104CartPeekBtn{width:100%;margin-top:9px;border:0;border-radius:8px;background:#2e2925;color:#fff;min-height:36px;font-size:10px;font-weight:850}
@media(max-width:680px){.productPurchaseRow{gap:6px}.productQtyPicker{grid-template-columns:28px 30px 28px}.productQtyPicker button,.productQtyPicker span{height:36px}.productAddBtn{min-height:36px;font-size:9px}.v104CartLabel{display:none}#v104CartBtn{min-width:44px;padding:0 10px}#v104CartPeek{right:10px;bottom:220px;width:min(270px,calc(100vw - 20px))}}
/* Source style 37 (v105-card-dock-polish) */
/* V101-105 — stable card rhythm + compact customer action dock */

/* Make every product card reserve the same information bands.
   Missing chips/tags still occupy their row so price / quantity / CTA never jump. */
main.wrap .products,
main.wrap .hotGrid{align-items:stretch!important}

main.wrap .card.productCard{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}

main.wrap .card.productCard .productBody{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}

main.wrap .card.productCard .productBrand{
  min-height:13px!important;
}

main.wrap .card.productCard .productName{
  min-height:36px!important;
  max-height:36px!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

main.wrap .card.productCard .productJP{
  min-height:26px!important;
  max-height:26px!important;
  overflow:hidden!important;
}

main.wrap .card.productCard .salesRow{
  min-height:28px!important;
  display:flex!important;
  align-items:center!important;
  margin-top:5px!important;
}

main.wrap .card.productCard .productFacetBadges{
  min-height:20px!important;
  align-content:flex-start!important;
  margin-top:3px!important;
}

main.wrap .card.productCard .stockFlag{
  min-height:14px!important;
}

main.wrap .card.productCard .productBottom{
  margin-top:auto!important;
  min-height:44px!important;
  display:flex!important;
  align-items:flex-end!important;
}

main.wrap .card.productCard .productPurchaseRow{
  min-height:36px!important;
  margin-top:7px!important;
}

main.wrap .card.productCard .textDetail{
  min-height:34px!important;
  margin-top:8px!important;
}

/* Right-side customer actions. Notification bell is intentionally removed from the floating dock. */
#v44NotifyBtn{display:none!important}

.v44-fabs{
  gap:10px!important;
  right:18px!important;
  bottom:78px!important;
  align-items:center!important;
}

#v44SupportBtn,
#v104CartBtn{
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  padding:0!important;
  border-radius:22px!important;
  background:#fffdf8!important;
  border:1px solid #dccbbb!important;
  box-shadow:0 10px 28px rgba(50,38,28,.16)!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}

#v44SupportBtn:hover,
#v104CartBtn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 13px 31px rgba(50,38,28,.20)!important;
}

#v44SupportBtn{
  overflow:visible!important;
}

.v105SupportDog{
  width:46px;
  height:46px;
  border-radius:16px;
  overflow:hidden;
  display:block;
  background:#f5eadb;
}
.v105SupportDog img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.v105SupportBubble{
  position:absolute;
  right:44px;
  top:-5px;
  min-width:34px;
  height:24px;
  padding:0 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px 13px 4px 13px;
  background:#fffdf8;
  border:1px solid #dccbbb;
  color:#5a4636;
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
  box-shadow:0 6px 18px rgba(50,38,28,.11);
  pointer-events:none;
}

.v105BagIcon{
  width:33px;
  height:33px;
  display:block;
}
.v105BagIcon svg{
  width:100%;
  height:100%;
  display:block;
}

/* Keep the language-dependent word for accessibility, but do not visually print "Cart". */
#v104CartBtn .v104CartLabel{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
#v104CartBtn .v104CartCount{
  right:-5px!important;
  top:-6px!important;
  background:#b33e35!important;
}

#v104CartPeek{
  bottom:214px!important;
}

@media(max-width:760px){
  main.wrap .card.productCard .productName{
    min-height:32px!important;
    max-height:32px!important;
  }
  main.wrap .card.productCard .productJP{
    min-height:23px!important;
    max-height:23px!important;
  }
  main.wrap .card.productCard .salesRow{min-height:25px!important}
  main.wrap .card.productCard .productFacetBadges{min-height:18px!important}
  .v44-fabs{right:10px!important;bottom:72px!important;gap:8px!important}
  #v44SupportBtn,#v104CartBtn{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    border-radius:19px!important;
  }
  .v105SupportDog{width:41px;height:41px;border-radius:14px}
  .v105BagIcon{width:30px;height:30px}
  .v105SupportBubble{right:39px;top:-4px;height:22px;font-size:10px}
  #v104CartPeek{right:10px!important;bottom:194px!important}
}
/* Source style 38 (v108-ui-lock) */
/* V101-108 — final UI geometry lock */

/* ---------- Occasion / scene cards ---------- */
#browseScenePanel .sceneGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}

#browseScenePanel .sceneCard{
  position:relative!important;
  width:100%!important;
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  display:grid!important;
  grid-template-columns:minmax(0,56%) minmax(0,44%)!important;
  grid-template-rows:auto 1fr auto!important;
  padding:13px 0 13px 13px!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid #ebe3da!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(0,0,0,.04)!important;
  text-align:left!important;
}

#browseScenePanel .sceneCard:before,
#browseScenePanel .sceneCard:after{
  display:none!important;
  content:none!important;
}

#browseScenePanel .sceneCard>b{
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0 10px 5px 0!important;
  overflow:hidden!important;
  font-size:13.5px!important;
  line-height:18px!important;
  color:#1d1d1f!important;
}

#browseScenePanel .sceneCard>.sceneDesc{
  display:-webkit-box!important;
  grid-column:1!important;
  grid-row:2!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0 10px 0 0!important;
  overflow:hidden!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  font-size:10px!important;
  line-height:13.3px!important;
  color:#716b65!important;
}

#browseScenePanel .sceneCard>.sceneArrow{
  display:flex!important;
  grid-column:1!important;
  grid-row:3!important;
  width:26px!important;
  height:26px!important;
  margin:5px 0 0!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:end!important;
  border:1px solid #ddd5cd!important;
  border-radius:50%!important;
  background:#fff!important;
}

#browseScenePanel .sceneIcon{
  position:relative!important;
  grid-column:2!important;
  grid-row:1 / 4!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  width:100%!important;
  height:132px!important;
  min-width:0!important;
  min-height:132px!important;
  max-height:132px!important;
  margin:-13px 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0 13px 13px 0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}

#browseScenePanel .sceneIcon img,
#browseScenePanel .sceneCard[data-scene] .sceneIcon img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}

/* ---------- Product-card rhythm ---------- */
main.wrap .products,
main.wrap .hotGrid{
  align-items:stretch!important;
}
main.wrap .card.productCard{
  height:100%!important;
}
main.wrap .card.productCard .productBrand{
  min-height:14px!important;
  max-height:14px!important;
}
main.wrap .card.productCard .productName{
  min-height:36px!important;
  max-height:36px!important;
}
main.wrap .card.productCard .productJP{
  min-height:26px!important;
  max-height:26px!important;
}
main.wrap .card.productCard .salesRow{
  min-height:28px!important;
}
main.wrap .card.productCard .productFacetBadges{
  min-height:20px!important;
}
main.wrap .card.productCard .productBottom{
  margin-top:auto!important;
  min-height:44px!important;
}

/* ---------- Floating customer actions ---------- */
.v44-fabs{
  right:10px!important;
  bottom:72px!important;
  gap:8px!important;
  align-items:center!important;
}

#v44SupportBtn,
#v104CartBtn{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:17px!important;
  background:#fffdfa!important;
  border:1px solid rgba(220,207,191,.72)!important;
  box-shadow:0 7px 20px rgba(41,31,23,.12)!important;
}

#v44SupportBtn:hover,
#v104CartBtn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 9px 24px rgba(41,31,23,.16)!important;
}

.v105SupportDog{
  display:block!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.v105SupportDog img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.v105SupportBubble{display:none!important}

.v105BagIcon{
  display:block!important;
  width:33px!important;
  height:33px!important;
  flex:0 0 33px!important;
}

#v104CartBtn .v104CartCount{
  right:-4px!important;
  top:-5px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 4px!important;
  font-size:9px!important;
  border-width:2px!important;
}

#v104CartPeek{
  right:10px!important;
  bottom:184px!important;
}

@media(max-width:980px){
  #browseScenePanel .sceneGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  #browseScenePanel .sceneGrid{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  #browseScenePanel .sceneCard{
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
    grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
    padding:12px 0 12px 12px!important;
    border-radius:12px!important;
  }
  #browseScenePanel .sceneIcon{
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
    margin:-12px 0!important;
    border-radius:0 12px 12px 0!important;
  }
  #browseScenePanel .sceneCard>b{
    margin-right:9px!important;
    font-size:13px!important;
  }
  #browseScenePanel .sceneCard>.sceneDesc{
    margin-right:9px!important;
    font-size:9.5px!important;
  }

  .v44-fabs{
    right:8px!important;
    bottom:68px!important;
    gap:8px!important;
  }
  #v44SupportBtn,
  #v104CartBtn{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
  #v104CartPeek{
    right:8px!important;
    bottom:180px!important;
    width:min(260px,calc(100vw - 16px))!important;
  }
}
/* Source style 39 (v109-cart-focus) */
/* V101-109 — cart focus state and compact cart summary */
body.minnaCartOpen #v44Fabs{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(12px)!important;
}
#cart{
  display:flex!important;
  flex-direction:column!important;
}
#cart #cartRows{
  flex:0 1 auto!important;
  max-height:46vh!important;
  overflow:auto!important;
}
#cart .total{
  position:static!important;
  bottom:auto!important;
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid #eadfd4!important;
  background:transparent!important;
}
#cart .verifyNotice,
#cart .minOrderNotice,
#cart .cartAccountRule,
#cart #checkoutBtn{
  flex:0 0 auto!important;
}
@media(max-width:680px){
  #cart #cartRows{max-height:40vh!important}
}
/* Source style 40 (v101110-success-recap) */
.checkoutSuccessRecap{
  max-width:620px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  text-align:left;
}
.checkoutSuccessRecap>div{
  padding:11px 12px;
  border:1px solid #e4d8cb;
  border-radius:10px;
  background:#fffaf4;
}
.checkoutSuccessRecap>div.wide{grid-column:1 / -1}
.checkoutSuccessRecap span{
  display:block;
  font-size:8px;
  color:#8a7b70;
  margin-bottom:4px;
}
.checkoutSuccessRecap b{
  display:block;
  font-size:10px;
  line-height:1.45;
  word-break:break-word;
}
@media(max-width:680px){
  .checkoutSuccessRecap{grid-template-columns:1fr}
  .checkoutSuccessRecap>div.wide{grid-column:auto}
}
/* Source style 41 (v101111-detail-commerce-layout) */
/* V101-111 — product detail modal as a normal commerce layout */
#detailModal{
  padding:18px!important;
  align-items:center!important;
}
#detailModal .modalbox{
  width:min(980px,calc(100vw - 36px))!important;
  max-width:980px!important;
  max-height:calc(100dvh - 36px)!important;
  padding:18px!important;
  border-radius:18px!important;
  overflow:auto!important;
}
#detailModal .modalHead{
  position:sticky!important;
  top:-18px!important;
  z-index:8!important;
  margin:-18px -18px 0!important;
  padding:15px 18px!important;
  background:#fffdf9!important;
  border-bottom:1px solid #eee5db!important;
}
#detailModal .detailShell{
  padding-top:16px!important;
}
#detailModal .detail{
  display:grid!important;
  grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
  gap:24px!important;
  align-items:start!important;
  margin:0!important;
}
#detailModal .detailMediaCol{
  min-width:0!important;
}
#detailModal .detailImg{
  position:relative!important;
  width:100%!important;
  height:420px!important;
  min-height:0!important;
  max-height:420px!important;
  aspect-ratio:auto!important;
  padding:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#f3eee7!important;
  border:1px solid #e5ddd2!important;
  border-radius:13px!important;
  isolation:isolate!important;
}
#detailModal .detailImg img{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  transform:none!important;
  background:transparent!important;
  mix-blend-mode:multiply!important;
  filter:saturate(1.02) contrast(1.01)!important;
}
#detailModal .detailInfo{
  min-width:0!important;
  align-self:start!important;
}
#detailModal .detailInfo h2{
  margin:5px 0 10px!important;
  font-size:24px!important;
  line-height:1.28!important;
}
#detailModal .detailFacts{
  margin:11px 0!important;
}
#detailModal .detailDescription{
  margin:10px 0 0!important;
  font-size:11px!important;
  color:#666!important;
  line-height:1.7!important;
}
#detailModal .detailPrice{
  margin-top:12px!important;
  font-size:26px!important;
  font-weight:850!important;
  line-height:1.2!important;
}
#detailModal .verifyNotice,
#detailModal .unavailableNotice{
  margin-top:12px!important;
}
#detailModal .detailPurchaseRow{
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin-top:12px!important;
}
#detailModal .detailQtyPicker{
  display:grid!important;
  grid-template-columns:40px 52px 40px!important;
  width:132px!important;
  height:44px!important;
  border:1px solid #d9ccbd!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#detailModal .detailQtyPicker button,
#detailModal .detailQtyPicker span{
  width:100%!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#2b241f!important;
  font-size:14px!important;
  font-weight:850!important;
  padding:0!important;
}
#detailModal .detailQtyPicker span{
  border-left:1px solid #e6ddd2!important;
  border-right:1px solid #e6ddd2!important;
  font-size:12px!important;
}
#detailModal .detailQtyPicker button:hover{
  background:#f5eee6!important;
}
#detailModal .detailAddBtn{
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:850!important;
}
#detailModal .relatedBlock{
  margin-top:22px!important;
  padding-top:18px!important;
  border-top:1px solid #e8ded2!important;
}
#detailModal .relatedTitle{
  margin-bottom:10px!important;
}
#detailModal .relatedGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
}
#detailModal .relatedCard{
  grid-template-columns:54px minmax(0,1fr)!important;
  min-width:0!important;
  padding:8px!important;
}
#detailModal .relatedName{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  line-height:1.35!important;
}
@media(max-width:900px){
  #detailModal .detail{
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
    gap:18px!important;
  }
  #detailModal .relatedGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:680px){
  #detailModal{
    padding:0!important;
    align-items:flex-end!important;
  }
  #detailModal .modalbox{
    width:100vw!important;
    max-width:none!important;
    max-height:94dvh!important;
    margin:0!important;
    padding:14px!important;
    border-radius:18px 18px 0 0!important;
  }
  #detailModal .modalHead{
    top:-14px!important;
    margin:-14px -14px 0!important;
    padding:13px 14px!important;
  }
  #detailModal .detailShell{
    padding-top:12px!important;
  }
  #detailModal .detail{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #detailModal .detailImg{
    width:100%!important;
    max-width:420px!important;
    height:320px!important;
    max-height:320px!important;
    aspect-ratio:auto!important;
    justify-self:center!important;
    padding:12px!important;
  }
  #detailModal .detailInfo h2{
    font-size:20px!important;
  }
  #detailModal .detailPurchaseRow{
    grid-template-columns:118px minmax(0,1fr)!important;
  }
  #detailModal .detailQtyPicker{
    width:118px!important;
    grid-template-columns:36px 46px 36px!important;
  }
  #detailModal .relatedGrid{
    grid-template-columns:1fr!important;
  }
}
/* Source style 42 (v101116-brand-logos-visible-auth) */
/* V101-116 · brand-logo quick nav */
.fastShop{align-items:center!important}
#fastBrands{gap:9px!important;padding:2px 1px 4px!important}
#fastBrands .brandLogoBtn{
  width:104px!important;
  min-width:104px!important;
  height:62px!important;
  padding:6px 8px!important;
  border-radius:12px!important;
  display:grid!important;
  grid-template-rows:34px 12px!important;
  gap:3px!important;
  align-items:center!important;
  justify-items:center!important;
  background:#fffdf9!important;
}
#fastBrands .brandLogoMedia{
  width:88px;height:34px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:7px;background:#fff;
}
#fastBrands .brandLogoMedia img{
  width:100%;height:100%;object-fit:contain;display:block;
}
#fastBrands .brandLogoName{
  display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  text-align:center;font-size:8px;line-height:12px;font-weight:750;color:#63594f;
}
#fastBrands .brandLogoFallback{
  font-size:13px;font-weight:900;letter-spacing:.04em;color:#342e29;
}
#fastBrands .brandLogoBtn.active{
  background:#211c17!important;border-color:#211c17!important;
}
#fastBrands .brandLogoBtn.active .brandLogoName{color:#fff!important}
#fastBrands .brandLogoBtn.active .brandLogoMedia{background:#fff}

/* V101-116 · obvious auth entry under language selector */
.headerIdentityStack{
  position:relative;display:grid;grid-template-rows:auto auto;gap:5px;
  align-items:end;justify-items:end;flex:0 0 auto;
}
.headerIdentityStack .headerLangSwitch{margin:0!important}
.headerAuthRow{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.head .headerIdentityStack .headerAccountBtn:not(.signedIn){
  width:auto!important;min-width:78px!important;max-width:none!important;height:30px!important;min-height:30px!important;
  padding:0 11px!important;font-size:10px!important;
}
.head .headerRegisterBtn{
  display:inline-flex;align-items:center;justify-content:center;
  height:30px;min-height:30px;padding:0 11px;border:1px solid #211d19;border-radius:999px;
  background:#211d19;color:#fff;font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer;
}
.minnaSignedIn .headerRegisterBtn{display:none!important}
.head .headerIdentityStack .headerAccountBtn.signedIn{margin:0!important}
.headerIdentityStack .accountQuickMenu{top:calc(100% + 8px)!important;right:0!important;left:auto!important}

@media(max-width:760px){
  .headerIdentityStack{grid-template-rows:auto auto;gap:4px}
  .head .headerIdentityStack .headerAccountBtn:not(.signedIn),
  .head .headerRegisterBtn{height:28px!important;min-height:28px!important;font-size:9px!important;padding:0 9px!important}
  #fastBrands .brandLogoBtn{width:90px!important;min-width:90px!important;height:58px!important}
  #fastBrands .brandLogoMedia{width:76px!important;height:31px!important}
}
@media(max-width:680px){
  .headerIdentityStack{display:none!important}
  /* mobile already has its own account/language controls */
  #fastBrands .brandLogoBtn{width:88px!important;min-width:88px!important}
}
/* Source style 43 (v101117-header-one-row) */
/* V101-117: desktop header tools stay on one horizontal line */
@media (min-width:761px){
  .head{
    flex-wrap:nowrap!important;
  }
  .headerTools{
    margin-left:auto!important;
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
  }
  .headerTools .search{
    flex:1 1 360px!important;
    width:auto!important;
    min-width:220px!important;
    max-width:480px!important;
    margin-left:0!important;
  }
  .headerIdentityStack{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-items:unset!important;
    gap:8px!important;
    flex:0 0 auto!important;
  }
  .headerIdentityStack .headerLangSwitch{
    margin:0!important;
    flex:0 0 auto!important;
  }
  .headerAuthRow{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    flex:0 0 auto!important;
  }
  .head .headerIdentityStack .headerAccountBtn,
  .head .headerIdentityStack .headerRegisterBtn,
  .head .headerCartBtn,
  .headerLangSwitch{
    align-self:center!important;
  }
  .headerIdentityStack .accountQuickMenu{
    top:calc(100% + 8px)!important;
    right:0!important;
    left:auto!important;
  }
}

/* keep tablet geometry compact while still one row */
@media (min-width:761px) and (max-width:1100px){
  .head{gap:12px!important}
  .headerTools{gap:6px!important}
  .headerTools .search{
    flex-basis:260px!important;
    min-width:180px!important;
    max-width:none!important;
  }
  .headerIdentityStack{gap:5px!important}
  .headerLangSwitch .siteLangBtn{
    min-width:40px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
}

/* mobile retains the existing dedicated layout */
@media (max-width:760px){
  .headerIdentityStack{display:none!important}
}
/* Source style 44 (v101118-equal-language-buttons) */
@media (min-width:761px){
  .headerLangSwitch .siteLangBtn{
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    padding-left:0!important;
    padding-right:0!important;
    flex:0 0 54px!important;
    box-sizing:border-box!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  .headerLangSwitch .siteLangBtn{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    flex-basis:50px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
/* Source style 45 (v101119-simple-auth) */
@media (min-width:761px){
  .headerAuthRow{gap:0!important}
  .headerRegisterBtn{display:none!important}
  .head .headerIdentityStack .headerAccountBtn:not(.signedIn){
    width:auto!important;
    min-width:116px!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 12px!important;
    white-space:nowrap!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  .head .headerIdentityStack .headerAccountBtn:not(.signedIn){
    min-width:104px!important;
    padding:0 9px!important;
    font-size:9px!important;
  }
}
/* Source style 46 (v101122-clean-logo-nav-test) */
/* --- Search geometry: EN and JA must never change its length --- */
@media (min-width:1101px){
  header .head .headerTools .search,
  .jaMode header .head .headerTools .search,
  .zhMode header .head .headerTools .search{
    width:270px!important;
    min-width:270px!important;
    max-width:270px!important;
    flex:0 0 270px!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  header .head .headerTools .search,
  .jaMode header .head .headerTools .search,
  .zhMode header .head .headerTools .search{
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    flex:0 0 220px!important;
  }
}
@media (min-width:761px){
  .jaMode header .head .headerTools .search input,
  header .head .headerTools .search input{
    width:100%!important;
    box-sizing:border-box!important;
  }
}

/* --- Quick brands: one clean navigation bar, not ten mini product cards --- */
main.wrap .fastShop{
  display:block!important;
  margin-top:11px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fffdf9!important;
  border:1px solid #ded5c9!important;
  border-radius:13px!important;
}
main.wrap .fastShop .fastLabel{
  display:none!important;
}
#fastBrands{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(92px,1fr))!important;
  gap:0!important;
  width:100%!important;
  padding:0!important;
  overflow-x:auto!important;
  background:#fffdf9!important;
  scrollbar-width:none!important;
}
#fastBrands::-webkit-scrollbar{display:none!important}
#fastBrands .brandLogoBtn{
  position:relative!important;
  min-width:0!important;
  width:100%!important;
  height:72px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-right:1px solid #eee7dd!important;
  border-radius:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  transition:background .16s ease,transform .16s ease!important;
}
#fastBrands .brandLogoBtn:last-child{
  border-right:0!important;
}
#fastBrands .brandLogoBtn:hover{
  background:#f8f3ec!important;
}
#fastBrands .brandLogoBtn:active{
  transform:translateY(1px)!important;
}
#fastBrands .brandLogoBtn.active{
  background:#f3ece3!important;
  outline:0!important;
  box-shadow:inset 0 -2px 0 #2b241f!important;
}
#fastBrands .brandLogoMedia{
  width:100%!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#fastBrands .brandLogoMedia img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:46px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}
#fastBrands .brandLogoName{
  display:none!important;
}
#fastBrands .brandLogoFallback{
  font-size:11px!important;
  font-weight:800!important;
  color:#332d27!important;
}

/* Mobile keeps the same visual language, simply scrolls horizontally. */
@media(max-width:760px){
  #fastBrands{
    grid-template-columns:repeat(10,98px)!important;
    width:max-content!important;
    min-width:980px!important;
  }
  main.wrap .fastShop{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #fastBrands .brandLogoBtn{
    width:98px!important;
    min-width:98px!important;
    height:62px!important;
    padding:7px 9px!important;
  }
  #fastBrands .brandLogoMedia{
    height:42px!important;
  }
  #fastBrands .brandLogoMedia img{
    max-height:40px!important;
  }
}
/* Source style 47 (v101126-logo-enlarge-unify) */
/* V101-136 · keep strip geometry unchanged; enlarge/standardize only the logo artwork */
#fastBrands .brandLogoNavItem{
  padding:4px 7px!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia{
  width:100%!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia img{
  width:108px!important;
  height:52px!important;
  max-width:108px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  background:transparent!important;
}
@media (max-width:980px){
  #fastBrands .brandLogoNavItem{
    padding:4px 6px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{
    height:50px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia img{
    width:98px!important;
    height:48px!important;
    max-width:98px!important;
    max-height:48px!important;
  }
}
@media (max-width:480px){
  #fastBrands .brandLogoNavItem{
    padding:4px 5px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{
    height:46px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia img{
    width:90px!important;
    height:44px!important;
    max-width:90px!important;
    max-height:44px!important;
  }
}
/* Source style 48 (v101127-logo-balance) */
/* V101-136: same strip/layout, tighter bar, visually balanced logos */
#fastBrands .brandLogoNavItem{
  height:58px!important;
  padding:3px 7px!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia{
  height:46px!important;
  overflow:visible!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia img{
  object-fit:contain!important;
  object-position:center!important;
  width:auto!important;
  height:auto!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  background:transparent!important;
}

/* Wide wordmarks */
#fastBrands .brandLogoNavItem:nth-child(1) img,
#fastBrands .brandLogoNavItem:nth-child(2) img,
#fastBrands .brandLogoNavItem:nth-child(3) img,
#fastBrands .brandLogoNavItem:nth-child(6) img,
#fastBrands .brandLogoNavItem:nth-child(7) img,
#fastBrands .brandLogoNavItem:nth-child(8) img,
#fastBrands .brandLogoNavItem:nth-child(9) img,
#fastBrands .brandLogoNavItem:nth-child(10) img,
#fastBrands .brandLogoNavItem:nth-child(11) img,
#fastBrands .brandLogoNavItem:nth-child(12) img,
#fastBrands .brandLogoNavItem:nth-child(13) img,
#fastBrands .brandLogoNavItem:nth-child(14) img,
#fastBrands .brandLogoNavItem:nth-child(15) img,
#fastBrands .brandLogoNavItem:nth-child(16) img{
  max-width:104px!important;
  max-height:40px!important;
}

/* Vertical / compact marks */
#fastBrands .brandLogoNavItem:nth-child(4) img{
  max-width:72px!important;
  max-height:44px!important;
}
#fastBrands .brandLogoNavItem:nth-child(5) img{
  max-width:48px!important;
  max-height:48px!important;
}

/* Slight individual optical corrections */
#fastBrands .brandLogoNavItem:nth-child(1) img{max-width:98px!important;max-height:41px!important}
#fastBrands .brandLogoNavItem:nth-child(2) img{max-width:96px!important;max-height:34px!important}
#fastBrands .brandLogoNavItem:nth-child(3) img{max-width:96px!important;max-height:34px!important}
#fastBrands .brandLogoNavItem:nth-child(6) img{max-width:96px!important;max-height:35px!important}
#fastBrands .brandLogoNavItem:nth-child(7) img{max-width:92px!important;max-height:39px!important}
#fastBrands .brandLogoNavItem:nth-child(8) img{max-width:92px!important;max-height:39px!important}
#fastBrands .brandLogoNavItem:nth-child(9) img{max-width:92px!important;max-height:40px!important}
#fastBrands .brandLogoNavItem:nth-child(10) img{max-width:78px!important;max-height:42px!important}

@media(max-width:980px){
  #fastBrands .brandLogoNavItem{
    height:56px!important;
    padding:3px 6px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{height:44px!important}
}
@media(max-width:480px){
  #fastBrands .brandLogoNavItem{
    height:54px!important;
    padding:3px 5px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{height:42px!important}
}
/* Source style 49 (v101130-self-built-flat-logos) */
#fastBrands .brandLogoNavItem{
  flex:0 0 138px!important;
  width:138px!important;
  min-width:138px!important;
  height:64px!important;
  padding:4px 8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia{
  width:100%!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia img{
  display:block!important;
  width:118px!important;
  height:48px!important;
  max-width:118px!important;
  max-height:48px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}
#fastBrands .brandLogoNavItem.active{
  background:#f7f1e7!important;
  box-shadow:inset 0 -2px 0 #2b241f!important;
}
@media(max-width:680px){
  #fastBrands .brandLogoNavItem{
    flex:0 0 118px!important;
    width:118px!important;
    min-width:118px!important;
    height:60px!important;
    padding:4px 6px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{height:50px!important}
  #fastBrands .brandLogoNavItem .brandLogoMedia img{
    width:100px!important;
    height:44px!important;
    max-width:100px!important;
    max-height:44px!important;
  }
}
/* Source style 50 (v101131-tight-logo-final) */
/* Same layout. Remove the second "white canvas" feeling and make marks visually fill the cell. */
#fastBrands .brandLogoNavItem{
  height:64px!important;
  padding:3px 7px!important;
  background:#fff!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia{
  width:100%!important;
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:122px!important;
  max-height:50px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}

/* Optical corrections by logo geometry */
#fastBrands .brandLogoNavItem[data-brand="Lucky Strike"] img{
  max-width:50px!important;
  max-height:50px!important;
}
#fastBrands .brandLogoNavItem[data-brand="Marlboro"] img{
  max-width:92px!important;
  max-height:50px!important;
}
#fastBrands .brandLogoNavItem[data-brand="Seven Stars"] img{
  max-width:106px!important;
  max-height:47px!important;
}
#fastBrands .brandLogoNavItem[data-brand="American Spirit"] img{
  max-width:88px!important;
  max-height:50px!important;
}
#fastBrands .brandLogoNavItem[data-brand="Peace"] img{
  max-width:70px!important;
  max-height:50px!important;
}
#fastBrands .brandLogoNavItem[data-brand="Pianissimo"] img,
#fastBrands .brandLogoNavItem[data-brand="Parliament"] img{
  max-width:108px!important;
  max-height:42px!important;
}

@media(max-width:680px){
  #fastBrands .brandLogoNavItem{
    height:60px!important;
    padding:3px 6px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{height:52px!important}
  #fastBrands .brandLogoNavItem .brandLogoMedia img{
    max-width:104px!important;
    max-height:46px!important;
  }
  #fastBrands .brandLogoNavItem[data-brand="Lucky Strike"] img{
    max-width:46px!important; max-height:46px!important;
  }
}
/* Source style 51 (v101132-logo-safeframe) */
/* Keep layout. Give every brand an identical safe frame and slightly smaller visual size. */
#fastBrands .brandLogoNavItem{
  height:64px!important;
  padding:5px 9px!important;
  background:#fff!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia{
  width:100%!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:108px!important;
  max-height:42px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
  background:#fff!important;
}

/* Optical balance, never crop. */
#fastBrands .brandLogoNavItem[data-brand="TEREA"] img{max-width:104px!important;max-height:40px!important}
#fastBrands .brandLogoNavItem[data-brand="Marlboro"] img{max-width:86px!important;max-height:42px!important}
#fastBrands .brandLogoNavItem[data-brand="Lucky Strike"] img{max-width:43px!important;max-height:43px!important}
#fastBrands .brandLogoNavItem[data-brand="Kent"] img{max-width:98px!important;max-height:40px!important}
#fastBrands .brandLogoNavItem[data-brand="Seven Stars"] img{max-width:100px!important;max-height:40px!important}
#fastBrands .brandLogoNavItem[data-brand="American Spirit"] img{max-width:82px!important;max-height:42px!important}
#fastBrands .brandLogoNavItem[data-brand="Peace"] img{max-width:66px!important;max-height:42px!important}

@media(max-width:680px){
  #fastBrands .brandLogoNavItem{height:60px!important;padding:4px 7px!important}
  #fastBrands .brandLogoNavItem .brandLogoMedia{height:50px!important}
  #fastBrands .brandLogoNavItem .brandLogoMedia img{
    max-width:96px!important;
    max-height:38px!important;
  }
  #fastBrands .brandLogoNavItem[data-brand="Lucky Strike"] img{
    max-width:40px!important;max-height:40px!important;
  }
}
/* Source style 52 (v101135-real-logo-rebuild) */
/* V101-136: actual brand-logo artwork only. No text placeholders, shadows, glow, or cropping. */
#fastBrands .brandLogoNavItem{
  flex:0 0 126px!important;
  width:126px!important;
  min-width:126px!important;
  height:62px!important;
  padding:4px 8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia{
  width:100%!important;
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
#fastBrands .brandLogoNavItem .brandLogoMedia img{
  display:block!important;
  width:108px!important;
  height:44px!important;
  max-width:108px!important;
  max-height:44px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}
#fastBrands .brandLogoFallback{display:none!important}

/* Small optical corrections, while always keeping the whole image visible. */
#fastBrands .brandLogoNavItem[data-brand="Lucky Strike"] img{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important}
#fastBrands .brandLogoNavItem[data-brand="Marlboro"] img{width:94px!important;height:43px!important}
#fastBrands .brandLogoNavItem[data-brand="TEREA"] img{width:106px!important;height:42px!important}
#fastBrands .brandLogoNavItem[data-brand="Kent"] img{width:102px!important;height:42px!important}
#fastBrands .brandLogoNavItem[data-brand="IQOS"] img{width:100px!important;height:40px!important}
#fastBrands .brandLogoNavItem[data-brand="KOOL"] img{width:98px!important;height:40px!important}
#fastBrands .brandLogoNavItem[data-brand="American Spirit"] img{width:102px!important;height:44px!important}

@media(max-width:680px){
  #fastBrands .brandLogoNavItem{
    flex:0 0 112px!important;
    width:112px!important;
    min-width:112px!important;
    height:58px!important;
    padding:4px 7px!important;
  }
  #fastBrands .brandLogoNavItem .brandLogoMedia{height:48px!important}
  #fastBrands .brandLogoNavItem .brandLogoMedia img{
    width:94px!important;
    height:40px!important;
    max-width:94px!important;
    max-height:40px!important;
  }
  #fastBrands .brandLogoNavItem[data-brand="Lucky Strike"] img{
    width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;
  }
}

<style id="v101137-verified-logo-pass1">
/* V101-137: verified package-derived brand treatment. */
#fastBrands .brandLogoNavItem[data-brand="Seven Stars"] img{width:106px!important;height:40px!important;max-width:106px!important;max-height:40px!important}
#fastBrands .brandLogoNavItem[data-brand="RED BULL"] img{width:108px!important;height:44px!important;max-width:108px!important;max-height:44px!important}
