/* MECCHA STORE ENHANCEMENTS — promo, bundle and product information */
:root {
  --meccha-surface: rgba(10, 13, 14, .86);
  --meccha-surface-solid: #0b0e0f;
  --meccha-text: #f7f8f7;
  --meccha-muted: #a9afaa;
  --meccha-soft: rgba(255,255,255,.065);
  --meccha-line: rgba(255,255,255,.11);
  --meccha-success: #76d69b;
  --meccha-danger: #ff8c92;
}

html[data-bs-theme="dark"] { color-scheme: dark; }

/* One typography system across the entire storefront.
   Icon-font elements are intentionally excluded so their symbols keep working. */
html,
body,
body *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fat):not([class^="fa-"]):not([class*=" fa-"]):not(.fi):not([class^="fi-"]):not([class*=" fi-"]):not(.material-icons):not(.material-symbols-outlined) {
  font-family: var(--theme-font-family, var(--bs-font-sans-serif)) !important;
}

button,
input,
select,
textarea,
optgroup,
option,
code,
pre,
kbd,
samp,
.editor .e-text-code,
.editor .e-code,
.choices,
.choices * {
  font-family: var(--theme-font-family, var(--bs-font-sans-serif)) !important;
}

input::placeholder,
textarea::placeholder {
  font-family: var(--theme-font-family, var(--bs-font-sans-serif)) !important;
}

.meccha-sale-banner { position: fixed; z-index: 10020; left: 50%; bottom: 22px; transform: translateX(-50%); width: min(1050px, calc(100% - 32px)); display: grid; grid-template-columns: auto minmax(180px,1fr) auto auto auto; align-items: center; gap: 16px; padding: 13px 15px; border: 1px solid rgba(var(--cl-accent-rgb),.35); border-radius: 20px; background: linear-gradient(115deg,rgba(var(--cl-accent-rgb),.18),rgba(8,11,12,.95) 34%,rgba(8,11,12,.95)); color: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.meccha-sale-banner.is-hidden { display:none; }
.meccha-sale-banner.is-expired .meccha-sale-countdown,.meccha-sale-banner.is-expired .meccha-code-copy,.meccha-sale-banner.is-expired .meccha-sale-cart { opacity:.45; pointer-events:none; }
.meccha-sale-close { position:absolute; right:-8px; top:-8px; width:25px; height:25px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:#111; color:#fff; font-size:11px; }
.meccha-sale-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:#111; background:var(--cl-accent); box-shadow:0 0 32px rgba(var(--cl-accent-rgb),.28); }
.meccha-sale-copy { display:flex; flex-direction:column; gap:2px; }
.meccha-sale-copy strong { font-size:14px; }
.meccha-sale-copy span { font-size:11px; color:#aeb5b0; }
.meccha-sale-countdown { display:flex; gap:6px; }
.meccha-sale-countdown > span { min-width:48px; padding:7px 6px; text-align:center; border-radius:11px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }
.meccha-sale-countdown b { display:block; font-size:13px; line-height:1; }
.meccha-sale-countdown small { display:block; margin-top:4px; font-size:8px; text-transform:uppercase; letter-spacing:.08em; color:#98a09a; }
.meccha-code-copy { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px dashed rgba(var(--cl-accent-rgb),.65); border-radius:12px; background:rgba(var(--cl-accent-rgb),.09); color:#fff; font-weight:800; letter-spacing:.08em; }
.meccha-code-copy.is-copied i:before { content:"\\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; }
.meccha-sale-cart { padding:10px 14px; border-radius:12px; text-decoration:none; background:var(--cl-accent); color:#090b0a; font-weight:800; font-size:12px; white-space:nowrap; }
@media (max-width:820px) { .meccha-sale-banner { grid-template-columns:auto 1fr auto; bottom:76px; gap:10px; padding:11px 12px; } .meccha-sale-countdown { grid-column:1/-1; justify-content:center; order:5; } .meccha-sale-cart { display:none; } .meccha-sale-copy span { display:none; } }
@media (max-width:480px) { .meccha-sale-banner { width:calc(100% - 18px); border-radius:16px; } .meccha-sale-icon { width:38px; height:38px; } .meccha-sale-countdown > span { min-width:43px; } .meccha-code-copy { padding:9px; font-size:11px; } }

.meccha-card-bundle-note { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; margin-top:10px; padding:8px 10px; border:1px solid rgba(var(--cl-accent-rgb),.24); border-radius:11px; background:rgba(var(--cl-accent-rgb),.075); color:var(--meccha-text); font-size:10px; font-weight:700; line-height:1.35; }
.meccha-card-bundle-note i { flex:0 0 auto; color:var(--cl-accent); }
.meccha-card-bundle-note span { min-width:0; }
.doc-products-grid .meccha-card-bundle-note { margin-top:11px; }
@media (max-width:520px){ .meccha-card-bundle-note{font-size:9px;padding:7px 9px} }

.meccha-product-extras { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.meccha-extra-card { position:relative; overflow:hidden; min-height:100%; padding:22px; border:1px solid var(--meccha-line); border-radius:22px; background:linear-gradient(145deg,var(--meccha-surface),rgba(var(--cl-accent-rgb),.035)); box-shadow:0 18px 50px rgba(0,0,0,.13), inset 0 1px rgba(255,255,255,.035); }
.meccha-extra-card:after { content:""; position:absolute; width:180px; height:180px; right:-95px; top:-105px; border-radius:50%; background:rgba(var(--cl-accent-rgb),.12); filter:blur(30px); }
.meccha-extra-head { position:relative; z-index:1; display:flex; align-items:center; gap:13px; }
.meccha-extra-icon { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; background:rgba(var(--cl-accent-rgb),.13); color:var(--cl-accent); }
.meccha-extra-head small { display:block; margin-bottom:3px; color:var(--cl-accent); font-size:9px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.meccha-extra-head h2 { margin:0; color:var(--meccha-text); font-size:15px; line-height:1.3; }
.meccha-extra-card > p { position:relative; z-index:1; margin:17px 0; color:var(--meccha-muted); font-size:12px; line-height:1.65; }
.meccha-detected-system { display:flex; align-items:center; gap:8px; margin:17px 0 12px; padding:10px 12px; border-radius:12px; background:var(--meccha-soft); color:var(--meccha-muted); font-size:11px; line-height:1.35; }
.meccha-detected-system > i { width:13px; height:13px; flex:0 0 13px; display:grid; place-items:center; margin:0; line-height:1; font-size:11px; }
.meccha-detected-system > span { min-width:0; }
.meccha-detected-system.is-ok { color:var(--meccha-success); background:rgba(118,214,155,.09); }
.meccha-detected-system.is-bad { color:var(--meccha-danger); background:rgba(255,140,146,.09); }
.meccha-compat-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.meccha-compat-grid > div { display:grid; grid-template-columns:auto 1fr; gap:2px 8px; align-items:center; padding:9px; border-radius:11px; background:var(--meccha-soft); }
.meccha-compat-grid i { grid-row:1/3; color:var(--meccha-muted); }
.meccha-compat-grid span { font-size:10px; font-weight:700; color:var(--meccha-text); }
.meccha-compat-grid b { font-size:8px; font-weight:700; color:var(--meccha-muted); }
.meccha-compat-grid .is-compatible i,.meccha-compat-grid .is-compatible b { color:var(--meccha-success); }
.meccha-compat-grid .is-incompatible i,.meccha-compat-grid .is-incompatible b { color:var(--meccha-danger); }
.meccha-included-list { display:grid; gap:10px; margin-top:17px; }
.meccha-included-list > div { display:flex; align-items:center; gap:11px; padding:12px; border-radius:13px; background:var(--meccha-soft); }
.meccha-included-list > div > span { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--cl-accent); background:rgba(var(--cl-accent-rgb),.12); }
.meccha-included-list div div { display:flex; flex-direction:column; }
.meccha-included-list strong { color:var(--meccha-text); font-size:12px; }
.meccha-included-list small { color:var(--meccha-muted); font-size:9px; }
@media (max-width:650px){ .meccha-product-extras{grid-template-columns:1fr}.meccha-extra-card{padding:18px} }

.meccha-featured-bundle { position:relative; overflow:hidden; margin-bottom:28px; border:1px solid rgba(var(--cl-accent-rgb),.35); border-radius:26px; background:linear-gradient(118deg,rgba(var(--cl-accent-rgb),.2),rgba(10,13,14,.92) 43%,rgba(10,13,14,.97)); box-shadow:0 24px 70px rgba(0,0,0,.2); }
.meccha-featured-bundle-glow { position:absolute; width:360px; height:360px; left:-160px; top:-190px; border-radius:50%; background:rgba(var(--cl-accent-rgb),.3); filter:blur(70px); }
.meccha-featured-bundle-content { position:relative; z-index:1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; padding:28px; }
.meccha-featured-bundle-icon { width:70px; height:70px; display:grid; place-items:center; border-radius:21px; background:var(--cl-accent); color:#0b0d0c; font-size:25px; box-shadow:0 15px 42px rgba(var(--cl-accent-rgb),.26); }
.meccha-featured-bundle-copy span { color:var(--cl-accent); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.meccha-featured-bundle-copy h1 { margin:4px 0 7px; color:#fff; font-size:clamp(22px,3vw,34px); }
.meccha-featured-bundle-copy p { margin:0 0 13px; max-width:680px; color:#aeb5b0; font-size:12px; }
.meccha-featured-bundle-items { display:flex; flex-wrap:wrap; gap:8px; }
.meccha-featured-bundle-items span { padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.06); color:#dce1dd; font-size:10px; letter-spacing:0; text-transform:none; }
.meccha-featured-bundle-items i { color:var(--cl-accent); }
.meccha-featured-bundle-cta { display:flex; align-items:center; gap:10px; padding:13px 16px; border-radius:14px; background:var(--cl-accent); color:#090b0a; font-size:11px; font-weight:900; text-decoration:none; white-space:nowrap; }
@media (max-width:780px){ .meccha-featured-bundle-content{grid-template-columns:auto 1fr}.meccha-featured-bundle-cta{grid-column:1/-1;justify-content:center}.meccha-featured-bundle-icon{width:56px;height:56px;border-radius:17px} }
@media (max-width:520px){ .meccha-featured-bundle-content{padding:20px;gap:16px}.meccha-featured-bundle-icon{display:none}.meccha-featured-bundle-content{grid-template-columns:1fr} }

.cart-promo-panel { margin-bottom:18px; padding:14px; border:1px solid rgba(var(--cl-accent-rgb),.23); border-radius:16px; background:rgba(var(--cl-accent-rgb),.055); }
.cart-promo-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; color:var(--meccha-text); font-size:11px; font-weight:800; }
.cart-promo-title i { color:var(--cl-accent); }
.cart-promo-suggestion { padding:5px 8px; border:0; border-radius:999px; background:rgba(var(--cl-accent-rgb),.14); color:var(--cl-accent); font-size:9px; font-weight:900; }
.cart-promo-input-row { display:grid; grid-template-columns:1fr auto; gap:8px; }
.cart-promo-input-row input { min-width:0; height:42px; padding:0 12px; border:1px solid var(--meccha-line); border-radius:12px; background:rgba(0,0,0,.16); color:var(--meccha-text); text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.05em; outline:none; }
.cart-promo-input-row input:focus { border-color:rgba(var(--cl-accent-rgb),.65); box-shadow:0 0 0 3px rgba(var(--cl-accent-rgb),.09); }
.cart-promo-input-row button { height:42px; padding:0 13px; border:0; border-radius:12px; background:var(--cl-accent); color:#090b0a; font-size:10px; font-weight:900; }
.cart-promo-feedback { display:flex; align-items:center; gap:7px; margin-top:9px; color:var(--meccha-muted); font-size:9px; line-height:1.4; }
.cart-promo-feedback.is-success { color:var(--meccha-success); }
.cart-promo-feedback button { margin-left:auto; border:0; background:none; color:inherit; }

@media (prefers-reduced-motion:reduce){ .meccha-sale-banner,.meccha-extra-card,.meccha-featured-bundle{scroll-behavior:auto} }


/* =========================================================
   MECCHA BUNDLE BUILDER
   ========================================================= */
.meccha-bundle-builder{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:42px 0 8px;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(var(--cl-accent-rgb),.3);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 6%,rgba(var(--cl-accent-rgb),.18),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),
    rgba(8,11,12,.92);
  box-shadow:0 28px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.055);
}
.meccha-bundle-builder:not(:has([data-bundle-role="mimicry"])),
.meccha-bundle-builder:not(:has([data-bundle-role="paint-pilot"])){
  display:none;
}
.meccha-bundle-builder-glow{
  position:absolute;
  z-index:-1;
  width:420px;
  height:420px;
  right:-180px;
  bottom:-250px;
  border-radius:50%;
  background:rgba(var(--cl-accent-rgb),.16);
  filter:blur(70px);
  pointer-events:none;
}
.meccha-bundle-builder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.meccha-bundle-builder-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:var(--cl-accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.meccha-bundle-builder-head h2{
  margin:0;
  color:var(--meccha-text);
  font-size:clamp(25px,3vw,38px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.035em;
}
.meccha-bundle-builder-head p{
  max-width:680px;
  margin:10px 0 0;
  color:var(--meccha-muted);
  font-size:13px;
  line-height:1.65;
}
.meccha-bundle-discount-chip{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  min-width:112px;
  padding:12px 14px;
  border:1px solid rgba(var(--cl-accent-rgb),.35);
  border-radius:16px;
  background:rgba(var(--cl-accent-rgb),.1);
}
.meccha-bundle-discount-chip span{
  color:var(--meccha-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.meccha-bundle-discount-chip strong{
  color:var(--cl-accent);
  font-size:16px;
}
.meccha-bundle-products{
  display:grid;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);
  align-items:stretch;
  gap:16px;
}
.meccha-bundle-product{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.meccha-bundle-product[data-bundle-role="mimicry"]{order:1}
.meccha-bundle-product[data-bundle-role="paint-pilot"]{order:3}
.meccha-bundle-product-media{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 50% 45%,rgba(var(--cl-accent-rgb),.09),transparent 54%),
    rgba(0,0,0,.24);
}
.meccha-bundle-product-media img{
  display:block;
  width:100%;
  height:100%;
  padding:10px;
  object-fit:contain;
  object-position:center;
}
.meccha-bundle-product-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:var(--cl-accent);
  font-size:32px;
  background:rgba(var(--cl-accent-rgb),.08);
}
.meccha-bundle-product-copy{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-width:0;
  padding:20px;
}
.meccha-bundle-product-label{
  color:var(--cl-accent);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.meccha-bundle-product h3{
  margin:5px 0 4px;
  color:var(--meccha-text);
  font-size:21px;
  font-weight:800;
  line-height:1.15;
}
.meccha-bundle-product p{
  margin:0 0 18px;
  color:var(--meccha-muted);
  font-size:11px;
  line-height:1.55;
}
.meccha-bundle-select-label{
  margin-bottom:6px;
  color:rgba(255,255,255,.55);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.meccha-bundle-select-wrap{
  position:relative;
}
.meccha-bundle-select-wrap select{
  width:100%;
  height:46px;
  padding:0 38px 0 13px;
  appearance:none;
  border:1px solid rgba(255,255,255,.1);
  border-radius:13px;
  outline:none;
  background:#111516;
  color:var(--meccha-text);
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.meccha-bundle-select-wrap select:focus{
  border-color:rgba(var(--cl-accent-rgb),.7);
  box-shadow:0 0 0 3px rgba(var(--cl-accent-rgb),.1);
}
.meccha-bundle-select-wrap i{
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  color:var(--cl-accent);
  font-size:10px;
  pointer-events:none;
}
.meccha-bundle-selected-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
  margin-top:auto;
  padding-top:16px;
}
.meccha-bundle-selected-price span{
  color:var(--meccha-muted);
  font-size:10px;
}
.meccha-bundle-selected-price strong{
  min-width:76px;
  color:var(--meccha-text);
  font-size:14px;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.meccha-bundle-plus{
  order:2;
  display:grid;
  place-items:center;
}
.meccha-bundle-plus span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(var(--cl-accent-rgb),.36);
  border-radius:50%;
  background:rgba(var(--cl-accent-rgb),.11);
  color:var(--cl-accent);
  box-shadow:0 0 28px rgba(var(--cl-accent-rgb),.12);
}
.meccha-bundle-summary{
  display:grid;
  grid-template-columns:minmax(210px,1fr) auto minmax(210px,.72fr);
  align-items:center;
  gap:24px;
  margin-top:18px;
  padding:18px 20px;
  border:1px solid rgba(var(--cl-accent-rgb),.24);
  border-radius:20px;
  background:linear-gradient(110deg,rgba(var(--cl-accent-rgb),.11),rgba(255,255,255,.02));
}
.meccha-bundle-summary-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.meccha-bundle-summary-copy>span{
  color:var(--cl-accent);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.meccha-bundle-summary-copy>strong{
  margin-top:3px;
  color:var(--meccha-text);
  font-size:15px;
}
.meccha-bundle-summary-copy small{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:6px;
  color:var(--meccha-muted);
  font-size:9px;
  line-height:1.4;
}
.meccha-bundle-summary-copy small i{color:var(--meccha-success)}
.meccha-bundle-prices{
  display:grid;
  grid-template-columns:repeat(3,minmax(92px,auto));
  gap:8px;
}
.meccha-bundle-prices>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:62px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.meccha-bundle-prices span{
  color:var(--meccha-muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.meccha-bundle-prices strong,
.meccha-bundle-prices s{
  display:block;
  min-width:76px;
  margin-top:4px;
  color:var(--meccha-text);
  font-size:13px;
  font-variant-numeric:tabular-nums;
  text-decoration-thickness:1px;
}
.meccha-bundle-prices .is-total{
  border:1px solid rgba(var(--cl-accent-rgb),.28);
  background:rgba(var(--cl-accent-rgb),.09);
}
.meccha-bundle-prices .is-total strong{
  color:var(--cl-accent);
  font-size:16px;
}
.meccha-bundle-prices .is-saving strong{color:var(--meccha-success)}
.meccha-bundle-action{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
}
.meccha-bundle-action button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:0 17px;
  border:0;
  border-radius:14px;
  background:var(--cl-accent);
  color:#090b0a;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
.meccha-bundle-action button:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:0 12px 30px rgba(var(--cl-accent-rgb),.16);
}
.meccha-bundle-action button:disabled{
  cursor:not-allowed;
  opacity:.48;
  transform:none;
}
.meccha-bundle-action button.is-added i:before{
  content:"\f07a";
}
.meccha-bundle-action small{
  min-height:28px;
  color:var(--meccha-muted);
  font-size:9px;
  line-height:1.45;
  text-align:center;
}
.meccha-bundle-action small.is-success{color:var(--meccha-success)}
.meccha-bundle-action small.is-error{color:var(--meccha-danger)}

@media (max-width:1180px){
  .meccha-bundle-summary{grid-template-columns:1fr auto}
  .meccha-bundle-action{grid-column:1/-1}
}
@media (max-width:900px){
  .meccha-bundle-products{grid-template-columns:1fr}
  .meccha-bundle-product[data-bundle-role="mimicry"]{order:1}
  .meccha-bundle-plus{order:2;min-height:38px}
  .meccha-bundle-product[data-bundle-role="paint-pilot"]{order:3}
  .meccha-bundle-plus span{width:36px;height:36px}
  .meccha-bundle-summary{grid-template-columns:1fr}
  .meccha-bundle-prices{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:600px){
  .meccha-bundle-builder{margin:30px 0 4px;padding:18px;border-radius:22px}
  .meccha-bundle-builder-head{flex-direction:column;margin-bottom:18px}
  .meccha-bundle-discount-chip{align-items:flex-start}
  .meccha-bundle-product-copy{padding:16px}
  .meccha-bundle-product h3{font-size:18px}
  .meccha-bundle-product p{font-size:10px}
  .meccha-bundle-product-media img{padding:7px}
  .meccha-bundle-prices{grid-template-columns:1fr}
  .meccha-bundle-prices>div{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:48px}
  .meccha-bundle-prices strong,.meccha-bundle-prices s{margin-top:0;text-align:right}
  .meccha-bundle-summary{padding:15px}
}

/* =========================================================
   LAYOUT STABILITY
   Reserve space before images, web fonts and live values finish loading.
   ========================================================= */
html{
  scrollbar-gutter:stable;
  scroll-behavior:auto;
}
body{
  overflow-y:scroll;
}
img{
  max-width:100%;
}
.catalog-card-media,
.catalog-modal-card-media{
  aspect-ratio:var(--product-card-image-aspect-ratio,16/9);
}
.catalog-card-media>img,
.catalog-modal-card-media>img{
  width:100%;
  height:100%;
  object-fit:var(--product-image-fit,cover);
}
.product-main-image-wrap{
  aspect-ratio:var(--product-page-image-aspect-ratio,16/9);
}
.product-price-main{
  min-height:42px;
  font-variant-numeric:tabular-nums;
}
.product-stock-side{
  min-height:36px;
}
.meccha-sale-countdown{
  min-height:43px;
}
.meccha-sale-countdown b,
.cart-summary-value,
.cart-price-value{
  font-variant-numeric:tabular-nums;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .meccha-bundle-action button{transition:none}
}
