/* miShop v35-C.2 — isolated customer storefront base */
:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-width: 320px; background: #fff; color: #111827; }
body { font-family: inherit; }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; }
a { color: inherit; }
[hidden] { display: none !important; }

.v35-store .mini-icon,
.v35-store .button-icon,
.v35-store .title-icon {
  width: 18px; height: 18px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

/* Public cart and checkout drawer, isolated from legacy dashboard CSS */
.v35-store .cart-drawer {
  position: fixed; inset: 0; z-index: 80; background: rgba(15,23,42,.62);
  display: flex; justify-content: flex-end;
}
.v35-store .cart-panel {
  height: 100%; width: min(430px,100%); background: #fff; color: #111827;
  padding: 24px; overflow-y: auto; box-shadow: -20px 0 60px rgba(15,23,42,.18);
}
.v35-store .cart-panel h2 {
  display: flex; align-items: center; gap: 9px; margin: 0 46px 15px 0;
  font-size: 26px; letter-spacing: -.04em;
}
.v35-store .cart-close {
  float: right; width: 42px; height: 42px; border-radius: 999px;
  border: 1px solid #e5e7eb; background: #fff; cursor: pointer; font-size: 27px;
}
.v35-store .checkout-trust {
  display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px;
  color: #64748b; font-size: 12px;
}
.v35-store .checkout-trust span {
  display: inline-flex; align-items: center; gap: 5px; border: 1px solid #e5e7eb;
  border-radius: 999px; padding: 7px 10px;
}
.v35-store #cart-lines { border-block: 1px solid #eef2f7; margin-bottom: 20px; }
.v35-store .cart-line {
  display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; font-size: 14px;
}
.v35-store .cart-line.total { border-top: 1px solid #e5e7eb; font-size: 17px; font-weight: 700; }
.v35-store #checkout-form { display: grid; gap: 10px; }
.v35-store #checkout-form input {
  width: 100%; height: 48px; border: 1px solid #e5e7eb; border-radius: 14px;
  background: #fff; color: #111827; padding: 0 14px; outline: none;
}
.v35-store #checkout-form input:focus {
  border-color: var(--store-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--store-primary) 13%, transparent);
}
.v35-store #checkout-form button {
  display: inline-flex; justify-content: center; align-items: center; gap: 8px;
  margin-top: 5px; border: 0; border-radius: 999px; padding: 14px 18px;
  background: var(--store-primary); color: #fff; font-weight: 700; cursor: pointer;
}
.v35-store #checkout-result { white-space: pre-wrap; color: #475569; font-size: 13px; }

/* Public PWA install notice */
.v35-store .pwa-prompt {
  position: fixed; z-index: 86; right: 18px; bottom: 18px; width: min(350px,calc(100% - 36px));
  padding: 18px; border: 1px solid #e5e7eb; border-radius: 20px;
  background: #fff; box-shadow: 0 22px 60px rgba(15,23,42,.15);
}
.v35-store .pwa-prompt strong { display: flex; align-items: center; gap: 8px; }
.v35-store .pwa-prompt p { color: #64748b; font-size: 13px; line-height: 1.45; }
.v35-store .pwa-prompt button {
  border: 0; border-radius: 999px; padding: 10px 14px; margin-right: 7px;
  cursor: pointer; font-weight: 700;
}
.v35-store #pwa-install-btn { background: var(--store-primary); color: #fff; }
.v35-store .pwa-prompt button:not(#pwa-install-btn) { background: #f1f5f9; color: #334155; }

@media (max-width: 720px) {
  .v35-store .cart-panel { width: 100%; border-radius: 24px 24px 0 0; height: auto; max-height: 92vh; margin-top: auto; }
}

/* === miShop v35-A Public Storefront Engine === */
.v35-store {
  --store-primary: #111827;
  --store-secondary: #374151;
  --store-accent: #38bdf8;
  min-height: 100vh;
  background: #fafafa;
  color: #111827;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.v35-store * { box-sizing: border-box; }
.v35-header {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 14px clamp(16px, 4vw, 56px);
  background: rgba(255,255,255,.94); border-bottom: 1px solid #e5e7eb;
  backdrop-filter: blur(14px);
}
.v35-brand { display: flex; align-items: center; gap: 12px; color: #111827; text-decoration: none; min-width: 0; }
.v35-brand img, .v35-brand b {
  width: 46px; height: 46px; border-radius: 15px; object-fit: contain; background: white;
  border: 1px solid #e5e7eb; display: grid; place-items: center; color: var(--store-primary); font-size: 22px;
}
.v35-brand strong { display: block; font-size: 17px; line-height: 1.1; }
.v35-category { display: block; margin-top: 3px; color: #6b7280; font-size: 11px; }
.v35-header-actions { display: flex; align-items: center; gap: 10px; }
.v35-search { display: flex; align-items: center; gap: 7px; width: min(290px, 32vw); border: 1px solid #e5e7eb; border-radius: 999px; padding: 0 13px; color: #6b7280; }
.v35-search input { width: 100%; border: 0; outline: 0; background: transparent; padding: 11px 0; font-size: 14px; }
.v35-cart, .v35-add, .v35-primary-button {
  border: 0; border-radius: 999px; background: var(--store-primary); color: white; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; text-decoration: none;
}
.v35-cart { padding: 12px 16px; }
.v35-cart b { display: grid; place-items: center; min-width: 20px; height: 20px; border-radius: 20px; background: white; color: var(--store-primary); font-size: 11px; }
.v35-hero {
  position: relative; margin: clamp(14px, 3vw, 26px) clamp(16px, 4vw, 56px) 18px;
  min-height: clamp(360px, 50vw, 560px); overflow: hidden; border-radius: clamp(25px, 4vw, 42px);
  background: var(--store-primary);
}
.v35-hero-image, .v35-hero-gradient {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.v35-hero-gradient { background: linear-gradient(125deg, var(--store-primary), var(--store-secondary)); }
.v35-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(2,6,23,.78) 0%, rgba(2,6,23,.45) 50%, rgba(2,6,23,.10) 100%);
}
.v35-hero-overlay {
  position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center;
  min-height: inherit; width: min(620px, 92%); padding: clamp(25px, 7vw, 72px); color: white;
}
.v35-eyebrow { margin: 0 0 12px; color: var(--store-accent); letter-spacing: .18em; text-transform: uppercase; font-size: 11px; font-weight: 800; }
.v35-hero h1 { margin: 0; font-size: clamp(37px, 6vw, 68px); line-height: .98; letter-spacing: -.055em; }
.v35-description { margin: 18px 0 27px; max-width: 470px; color: rgba(255,255,255,.83); font-size: clamp(15px, 2vw, 18px); line-height: 1.55; }
.v35-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.v35-primary-button { background: white; color: #111827; padding: 14px 24px; }
.v35-secondary-button {
  border: 1px solid rgba(255,255,255,.34); color: white; border-radius: 999px; padding: 13px 22px;
  font-weight: 650; text-decoration: none;
}
.v35-location { display: flex; align-items: center; gap: 7px; margin: 28px 0 0; color: rgba(255,255,255,.78); font-size: 13px; }
.v35-trust {
  margin: 0 clamp(16px, 4vw, 56px) 25px; padding: 15px clamp(12px, 3vw, 24px); border: 1px solid #e5e7eb;
  border-radius: 22px; background: white; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.v35-trust div { display: flex; justify-content: center; align-items: center; gap: 9px; color: #4b5563; font-size: 13px; font-weight: 550; }
.v35-trust .trust-icon { width: 17px; color: var(--store-primary); }
.v35-categories {
  margin: 0 clamp(16px, 4vw, 56px) 22px; display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px;
}
.v35-categories button {
  flex-shrink: 0; cursor: pointer; border: 1px solid #e5e7eb; background: white; color: #374151;
  padding: 10px 18px; border-radius: 999px; font-weight: 600;
}
.v35-categories button.active { color: white; background: var(--store-primary); border-color: var(--store-primary); }
.v35-products { margin: 0 clamp(16px, 4vw, 56px); padding-bottom: 34px; }
.v35-section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 20px; }
.v35-section-head h2 { margin: 0; letter-spacing: -.04em; font-size: clamp(25px, 4vw, 34px); }
.v35-section-head span { color: #6b7280; font-size: 13px; }
.v35-product-grid { display: grid; gap: clamp(12px, 2vw, 20px); grid-template-columns: repeat(4, minmax(0,1fr)); }
.v35-grid-marketplace { grid-template-columns: repeat(5, minmax(0,1fr)); }
.v35-grid-fashion, .v35-grid-editorial { grid-template-columns: repeat(3, minmax(0,1fr)); }
.v35-grid-minimal { grid-template-columns: repeat(3, minmax(0,1fr)); max-width: 1120px; margin: auto; }
.v35-grid-menu { grid-template-columns: repeat(3, minmax(0,1fr)); }
.v35-product {
  overflow: hidden; display: flex; flex-direction: column; border: 1px solid #eceef1; border-radius: 25px;
  background: white; transition: transform .18s ease, box-shadow .18s ease;
}
.v35-product:hover { transform: translateY(-3px); box-shadow: 0 18px 48px rgba(15,23,42,.08); }
.v35-product-image {
  border: 0; position: relative; display: block; cursor: pointer; padding: 0; background: #f4f4f5;
  width: 100%; aspect-ratio: 1 / 1.06; overflow: hidden;
}
.v35-product-image img { height: 100%; width: 100%; object-fit: cover; transition: transform .35s ease; }
.v35-product:hover .v35-product-image img { transform: scale(1.035); }
.v35-offer, .v35-available, .v35-sold {
  position: absolute; left: 12px; top: 12px; border-radius: 999px; padding: 7px 11px;
  background: var(--store-primary); color: white; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
}
.v35-available { background: white; color: #374151; }
.v35-sold { background: #374151; }
.v35-product-body { padding: clamp(12px, 2vw, 17px); display: flex; flex: 1; flex-direction: column; }
.v35-product-category { color: #6b7280; font-size: 11px; font-weight: 650; margin: 0 0 7px; text-transform: uppercase; letter-spacing: .08em; }
.v35-product-name { cursor: pointer; border: 0; padding: 0; background: transparent; color: #111827; text-align: left; font-size: 16px; font-weight: 750; line-height: 1.25; }
.v35-product-description { color: #6b7280; font-size: 13px; line-height: 1.45; margin: 9px 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v35-price { display: flex; align-items: center; gap: 8px; margin: auto 0 13px; padding-top: 13px; }
.v35-price strong { font-size: 20px; letter-spacing: -.03em; }
.v35-price del { font-size: 13px; color: #9ca3af; }
.v35-card-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.v35-add { padding: 11px 10px; font-size: 13px; }
.v35-view { border-radius: 999px; border: 1px solid #e5e7eb; padding: 10px 12px; background: white; cursor: pointer; font-weight: 600; }
.v35-no-results { border: 1px dashed #d1d5db; border-radius: 22px; padding: 35px; text-align: center; color: #6b7280; }
.v35-sponsored {
  margin: 12px clamp(16px, 4vw, 56px) 36px; border-radius: 27px; padding: clamp(18px,3vw,28px);
  background: #f1f5f9; color: #334155; display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.v35-sponsored span { border: 1px solid #cbd5e1; border-radius: 99px; padding: 6px 10px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.v35-sponsored strong { font-size: 17px; }
.v35-sponsored p { margin: 0; color: #64748b; font-size: 13px; }
.v35-footer {
  display: flex; justify-content: space-between; gap: 20px; margin-top: 24px; padding: 38px clamp(16px,4vw,56px);
  background: #111827; color: white;
}
.v35-footer p { margin: 7px 0 0; color: rgba(255,255,255,.65); font-size: 13px; }
.v35-powered { align-self: end; color: rgba(255,255,255,.58); font-size: 13px; }
.v35-modal[hidden] { display: none; }
.v35-modal { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; padding: 16px; }
.v35-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(15,23,42,.72); backdrop-filter: blur(5px); }
.v35-modal-panel {
  position: relative; background: white; width: min(1020px,100%); max-height: min(92vh,780px); overflow-y: auto;
  border-radius: 30px; padding: clamp(17px,3vw,30px); box-shadow: 0 35px 90px rgba(0,0,0,.28);
}
.v35-modal-close { position: absolute; right: 15px; top: 15px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; border: 1px solid #e5e7eb; background: white; cursor: pointer; font-size: 28px; }
.v35-detail { display: grid; grid-template-columns: minmax(270px, .92fr) 1fr; gap: clamp(20px,4vw,44px); }
.v35-detail-main { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 22px; background: #f4f4f5; }
.v35-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.v35-thumbs button { border: 1px solid #e5e7eb; border-radius: 12px; padding: 3px; background: white; cursor: pointer; }
.v35-thumbs img { display: block; width: 62px; height: 62px; border-radius: 9px; object-fit: cover; }
.v35-detail-copy { display: flex; flex-direction: column; justify-content: center; padding: 22px 0; }
.v35-detail-copy h2 { margin: 0 0 8px; letter-spacing: -.05em; font-size: clamp(27px,4vw,42px); line-height: 1.08; }
.v35-detail-description { color: #4b5563; line-height: 1.7; font-size: 15px; }
.v35-stock { font-weight: 650; color: #059669; }
.v35-modal-add { width: fit-content; margin-top: 18px; background: var(--store-primary); color: white; border: 0; cursor: pointer; }
.v35-template-fashion_layout .v35-product-image { aspect-ratio: .78 / 1; }
.v35-template-fashion_layout .v35-hero h1, .v35-template-editorial_brand .v35-hero h1 { font-family: Georgia, serif; font-weight: 500; }
.v35-template-tech_specs .v35-product { border-radius: 16px; }
.v35-template-tech_specs .v35-product-image { aspect-ratio: 1.28 / 1; }
.v35-template-restaurant_menu .v35-hero { min-height: clamp(300px,38vw,430px); }
.v35-template-promo_campaign .v35-offer { background: #ef4444; }
.v35-template-minimal_product .v35-hero { background: #111827; min-height: clamp(320px,40vw,460px); }

@media (max-width: 1020px) {
  .v35-product-grid, .v35-grid-marketplace { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .v35-trust { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 720px) {
  .v35-header { padding: 11px 13px; gap: 9px; }
  .v35-brand img, .v35-brand b { width: 39px; height: 39px; border-radius: 12px; }
  .v35-brand strong { font-size: 14px; }
  .v35-category { display: none; }
  .v35-search { position: fixed; z-index: 15; left: 12px; right: 12px; bottom: 12px; width: auto; background: white; box-shadow: 0 10px 35px rgba(0,0,0,.12); }
  .v35-cart-label { display: none; }
  .v35-cart { padding: 11px; }
  .v35-hero { margin: 10px 12px 14px; min-height: 420px; border-radius: 25px; }
  .v35-hero-overlay { padding: 27px 22px; justify-content: end; }
  .v35-trust { margin: 0 12px 16px; padding: 13px 8px; grid-template-columns: repeat(2,1fr); }
  .v35-trust div { font-size: 11px; }
  .v35-categories, .v35-products { margin-left: 12px; margin-right: 12px; }
  .v35-product-grid, .v35-grid-marketplace, .v35-grid-fashion, .v35-grid-editorial, .v35-grid-minimal, .v35-grid-menu { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .v35-product { border-radius: 18px; }
  .v35-product-body { padding: 10px; }
  .v35-product-name { font-size: 14px; }
  .v35-product-description { display: none; }
  .v35-price strong { font-size: 16px; }
  .v35-view { display: none; }
  .v35-card-actions { display: block; }
  .v35-add { width: 100%; }
  .v35-detail { display: block; }
  .v35-modal-panel { border-radius: 24px; max-height: 95vh; padding: 14px; }
  .v35-footer { padding-bottom: 76px; display: block; }
  .v35-powered { margin-top: 25px; }
}


/* === miShop v35-B storefront polish and real customer accounts === */
.v35-store .v35-header {
  padding-top: 12px; padding-bottom: 12px; min-height: 70px;
}
.v35-store .v35-brand img {
  width: 50px; height: 50px; padding: 4px; border-radius: 14px; object-fit: contain;
}
.v35-store .v35-hero { min-height: clamp(335px, 40vw, 470px); }
.v35-store .v35-hero::after {
  background: linear-gradient(90deg, rgba(2,6,23,.86) 0%, rgba(2,6,23,.62) 37%, rgba(2,6,23,.24) 75%, rgba(2,6,23,.18) 100%);
}
.v35-store .v35-hero-overlay,
.v35-store .v35-hero-overlay h1,
.v35-store .v35-hero-overlay .v35-description { color: #fff !important; }
.v35-store .v35-hero-overlay h1 {
  text-shadow: 0 2px 22px rgba(0,0,0,.34);
}
.v35-account {
  height: 47px; border: 1px solid #dbeafe; border-radius: 999px; background: white;
  color: var(--store-primary); padding: 0 18px; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.v35-account:hover { border-color: var(--store-accent); }
.v35-customer-panel { width: min(490px,100%); padding: clamp(22px,4vw,34px); }
.v35-customer-panel h2 { margin: 6px 0 8px; font-size: 28px; letter-spacing: -.04em; }
.v35-customer-note { color: #6b7280; line-height: 1.5; margin: 0 0 18px; }
.v35-auth-tabs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 5px; border-radius: 16px;
  background: #f3f4f6; padding: 5px; margin-bottom: 17px;
}
.v35-auth-tabs button {
  border: 0; border-radius: 12px; padding: 11px; background: transparent; font-weight: 700; cursor: pointer; color: #6b7280;
}
.v35-auth-tabs button.active { background: white; color: #111827; box-shadow: 0 1px 5px rgba(15,23,42,.08); }
.v35-customer-form { display: none; gap: 10px; }
.v35-customer-form.active { display: grid; }
.v35-customer-form input:not([type="checkbox"]) {
  width: 100%; height: 48px; border: 1px solid #e5e7eb; border-radius: 14px; padding: 0 14px; font: inherit;
}
.v35-customer-form .v35-primary-button { width: 100%; padding: 14px; background: var(--store-primary); color: #fff; border: 0; cursor: pointer; margin-top: 4px; }
.v35-consent { display: flex; gap: 10px; align-items: center; font-size: 13px; color: #6b7280; padding: 7px 0; }
.v35-auth-status { min-height: 19px; margin: 13px 0 0; font-size: 13px; color: #dc2626; }
.v35-auth-status.success { color: #059669; }
.v35-profile-card { border: 1px solid #e5e7eb; border-radius: 22px; padding: 18px; background: #fafafa; }
.v35-profile-card h2 { margin: 7px 0; }
.v35-profile-card p { margin: 5px 0; color: #6b7280; font-size: 14px; }
.v35-profile-badges { display: flex; gap: 7px; flex-wrap: wrap; margin: 16px 0; }
.v35-profile-badges span { font-size: 11px; border-radius: 999px; padding: 7px 11px; background: #fff7ed; color: #c2410c; }
.v35-profile-actions { display: flex; gap: 8px; margin-top: 18px; }
.v35-profile-actions button { border-radius: 999px; border: 1px solid #e5e7eb; padding: 12px 16px; cursor: pointer; background: white; font-weight: 700; }
.v35-template-fashion_layout .v35-hero { min-height: clamp(390px, 50vw, 590px); }
.v35-template-fashion_layout .v35-product-grid { gap: clamp(16px, 2.3vw, 28px); }
.v35-template-fashion_layout .v35-product { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.v35-template-fashion_layout .v35-product-image { border-radius: 5px; }
.v35-template-fashion_layout .v35-product-body { padding-left: 0; padding-right: 0; }
.v35-template-promo_campaign .v35-hero { min-height: clamp(320px,38vw,445px); }
.v35-template-promo_campaign .v35-eyebrow { color: #93c5fd; }

@media (max-width: 720px) {
  .v35-store .v35-header { min-height: 62px; }
  .v35-store .v35-brand img { width: 42px; height: 42px; }
  .v35-account { height: 43px; padding: 0 11px; font-size: 0; }
  .v35-account::after { content: "Account"; font-size: 12px; }
  .v35-store .v35-hero { min-height: 390px; }
}


/* === miShop v35-C merchant-branded commerce storefront === */
.v35-store {
  --shop-button: var(--store-primary);
  --shop-highlight: var(--store-accent);
  --shop-soft: color-mix(in srgb, var(--store-accent) 10%, #fff);
  --shop-border: color-mix(in srgb, var(--store-primary) 12%, #e5e7eb);
}
.v35-store .v35-header { gap: 18px; padding-inline: clamp(14px,4vw,54px); }
.v35-store .v35-header-actions { gap: 8px; }
.v35-store .v35-icon-action, .v35-store .v35-search-toggle {
  position: relative; display: inline-grid; place-items: center; width: 45px; height: 45px; padding: 0;
  border: 1px solid var(--shop-border); border-radius: 999px; background: #fff; color: var(--store-primary); cursor: pointer;
}
.v35-store .v35-icon-action svg, .v35-store .v35-search-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.v35-store .v35-cart b { position: absolute; right: -3px; top: -4px; min-width: 18px; height: 18px; border-radius: 30px; background: var(--store-accent); color: #fff; font-size: 10px; }
.v35-store .v35-search-toggle { display: none; }
.v35-store .v35-search { flex: 0 1 370px; width: clamp(170px,32vw,370px); color: var(--store-primary); }
.v35-store .v35-search svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.v35-store .v35-carousel { background: var(--store-primary); }
.v35-store .v35-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .45s ease; pointer-events: none; }
.v35-store .v35-slide.active { opacity: 1; position: relative; pointer-events: auto; }
.v35-store .v35-carousel-controls {
  position: absolute; z-index: 3; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; align-items: center; gap: 14px;
}
.v35-store .v35-carousel-controls > button {
  width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.38); background: rgba(0,0,0,.18); color: white; border-radius: 50%; font-size: 25px; cursor: pointer;
}
.v35-store .v35-carousel-dots { display: flex; gap: 7px; }
.v35-store .v35-carousel-dots button { border: 0; width: 8px; height: 8px; border-radius: 10px; background: rgba(255,255,255,.46); cursor: pointer; }
.v35-store .v35-carousel-dots button.active { width: 26px; background: white; }
.v35-store .v35-categories button.active,
.v35-store .v35-primary-button,
.v35-store .v35-modal-add { background: var(--store-primary) !important; color: #fff !important; border-color: var(--store-primary) !important; }
.v35-store .v35-hero .v35-primary-button { background: #fff !important; color: var(--store-primary) !important; }
.v35-store .v35-products { margin-top: 24px; }
.v35-shop-tools { display: none; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.v35-shop-tools button, .v35-shop-tools select {
  height: 43px; border-radius: 999px; border: 1px solid var(--shop-border); background: white; padding: 0 16px; font-weight: 600; color: #374151;
}
.v35-shop-tools svg { width: 16px; vertical-align: middle; margin-right: 7px; fill: none; stroke: currentColor; }
.v35-catalogue { display: grid; grid-template-columns: 224px minmax(0,1fr); gap: clamp(18px,3vw,32px); }
.v35-filters {
  position: sticky; top: 88px; align-self: start; overflow: hidden; border: 1px solid #e5e7eb; border-radius: 22px; background: white; color: #374151;
}
.v35-filter-head { display: flex; justify-content: space-between; align-items: center; padding: 17px 16px; border-bottom: 1px solid #e5e7eb; }
.v35-filter-head button { border: 0; background: transparent; color: var(--store-accent); cursor: pointer; font-size: 12px; font-weight: 700; }
.v35-filter-group { padding: 16px; border-bottom: 1px solid #eef2f7; }
.v35-filter-group h3 { margin: 0 0 12px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.v35-filter-group label { display: flex; align-items: center; gap: 8px; margin: 9px 0; font-size: 13px; }
.v35-filter-group input[type=checkbox], .v35-filter-group input[type=radio] { accent-color: var(--store-primary); }
.v35-filter-group input[type=range] { width: 100%; accent-color: var(--store-primary); }
.v35-filter-group p { margin: 7px 0 0; color: #64748b; font-size: 12px; }
.v35-results { min-width: 0; }
.v35-store .v35-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.v35-store .v35-grid-marketplace { grid-template-columns: repeat(4,minmax(0,1fr)); }
.v35-store .v35-product { border-radius: 18px; }
.v35-store .v35-media { position: relative; }
.v35-store .v35-product-image { display: block; aspect-ratio: 4/5; border-radius: 18px 18px 0 0; }
.v35-store .v35-grid-marketplace .v35-product-image, .v35-template-tech_specs .v35-product-image { aspect-ratio: 1/1; }
.v35-store .v35-offer, .v35-store .v35-discount, .v35-store .v35-sold {
  position: absolute; left: 12px; top: 12px; z-index: 2; border-radius: 999px; padding: 6px 10px; font-size: 10px; font-weight: 800; text-transform: uppercase;
}
.v35-store .v35-discount { background: var(--store-primary); color: #fff; }
.v35-store .v35-discount + .v35-offer { top: 43px; }
.v35-store .v35-offer { background: var(--shop-soft); color: var(--store-primary); }
.v35-store .v35-gallery-count {
  position: absolute; bottom: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 5px;
  border-radius: 999px; padding: 6px 9px; background: rgba(17,24,39,.74); color: white; font-size: 11px;
}
.v35-store .v35-gallery-count svg { width: 13px; height: 13px; fill: none; stroke: currentColor; }
.v35-store .v35-wishlist {
  position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px;
  border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: #111827; cursor: pointer;
}
.v35-store .v35-wishlist svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.v35-store .v35-wishlist.saved { color: var(--store-primary); }
.v35-store .v35-wishlist.saved svg { fill: currentColor; }
.v35-store .v35-product-name { background: transparent !important; color: #111827 !important; border-radius: 0 !important; padding: 0 !important; }
.v35-store .v35-rating { display: flex; align-items: center; gap: 7px; margin-top: 8px; }
.v35-store .v35-rating span { color: #f59e0b; letter-spacing: 1px; font-size: 13px; }
.v35-store .v35-rating small { color: #64748b; }
.v35-store .v35-price { margin-top: 11px; padding-top: 0; }
.v35-store .v35-add-icon {
  margin-top: 13px; display: grid; place-items: center; width: 43px; height: 43px; border: 0; border-radius: 50%;
  color: white; background: var(--store-primary); cursor: pointer;
}
.v35-store .v35-add-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.v35-store .v35-attributes { border-top: 1px solid #eef2f7; margin-top: 18px; padding-top: 12px; }
.v35-store .v35-attributes div { display: flex; justify-content: space-between; gap: 18px; padding: 8px 0; font-size: 13px; }
.v35-store .v35-attributes dt { color: #64748b; text-transform: capitalize; }
.v35-store .v35-attributes dd { margin: 0; font-weight: 650; }
.v35-cookie {
  position: fixed; z-index: 90; left: 18px; bottom: 18px; width: min(440px,calc(100% - 36px)); display: flex; gap: 16px;
  flex-direction: column; border: 1px solid #e5e7eb; border-radius: 22px; background: white; padding: 18px; box-shadow: 0 25px 60px rgba(15,23,42,.16);
}
.v35-cookie strong { display: block; margin-bottom: 6px; }
.v35-cookie p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.5; }
.v35-cookie button { border: 0; border-radius: 999px; padding: 11px 16px; font-weight: 700; background: var(--store-primary); color: white; cursor: pointer; margin-right: 7px; }
.v35-cookie button.secondary { background: #f1f5f9; color: #334155; }

@media (max-width: 1080px) {
  .v35-store .v35-product-grid, .v35-store .v35-grid-marketplace { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .v35-store .v35-header { gap: 6px; }
  .v35-store .v35-brand span { display: none; }
  .v35-store .v35-search-toggle { display: inline-grid; }
  .v35-store .v35-search { display: none; position: absolute; top: 66px; left: 12px; right: 12px; z-index: 40; width: auto; background: white; box-shadow: 0 12px 35px rgba(15,23,42,.14); }
  .v35-store .v35-search.open { display: flex; }
  .v35-store .v35-icon-action, .v35-store .v35-search-toggle { width: 42px; height: 42px; }
  .v35-store .v35-carousel-controls { bottom: 13px; }
  .v35-store .v35-categories { display: none; }
  .v35-shop-tools { display: flex; }
  .v35-catalogue { display: block; }
  .v35-filters { display: none; position: fixed; z-index: 80; inset: auto 0 0 0; max-height: 78vh; overflow-y: auto; border-radius: 25px 25px 0 0; box-shadow: 0 -25px 60px rgba(15,23,42,.16); }
  .v35-filters.open { display: block; }
  .v35-store .v35-products { margin-top: 15px; }
  .v35-store .v35-product-grid { gap: 10px; }
  .v35-store .v35-product-body { padding: 11px; }
  .v35-store .v35-rating span { font-size: 11px; }
  .v35-store .v35-gallery-count { bottom: 8px; right: 8px; }
}

.v35-store .v35-public-reviews { margin-top: 20px; border-top: 1px solid #eef2f7; padding-top: 15px; }
.v35-store .v35-public-reviews h3 { margin: 0 0 11px; font-size: 15px; }
.v35-store .v35-public-reviews article { border-radius: 14px; background: #f8fafc; padding: 11px; margin-bottom: 8px; font-size: 13px; }
.v35-store .v35-public-reviews article strong { margin-right: 9px; }
.v35-store .v35-public-reviews article span { color: #f59e0b; }
.v35-store .v35-public-reviews article p { margin: 7px 0 0; color: #475569; }
.v35-store .v35-public-reviews article small { display: block; margin-top: 7px; color: #64748b; }
.v35-store .v35-reviews-loading, .v35-store .v35-reviews-empty { color: #64748b; font-size: 13px; }

.v35-store .v35-location svg { width: 15px; height: 15px; margin-right: 6px; fill: none; stroke: currentColor; stroke-width: 1.8; vertical-align: middle; }

/* === miShop v35-C.1: clean merchant storefront overrides === */

/* Remove platform-blue-looking treatment from merchant product surfaces */
.v35-store {
  --shop-soft: rgba(17, 17, 17, 0.06);
}

.v35-store .v35-product-name,
.v35-store .v35-product-name:hover,
.v35-store .v35-product-name:focus {
  background: transparent !important;
  color: #111111 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Product images must not be circles or artificial shapes */
.v35-store .v35-product,
.v35-store .v35-product-image,
.v35-store .v35-product-image img,
.v35-store .v35-media,
.v35-store .v35-detail-main,
.v35-store .v35-thumbs img {
  border-radius: 0 !important;
  clip-path: none !important;
  mask: none !important;
}

.v35-store .v35-product-image {
  aspect-ratio: 4 / 5 !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #f5f5f4 !important;
}

.v35-store .v35-product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Electronics and FMCG can still use practical rectangular media */
.v35-template-tech_specs .v35-product-image,
.v35-template-marketplace_grid .v35-product-image,
.v35-template-classic_commerce .v35-product-image {
  aspect-ratio: 1 / 1 !important;
}

/* Fashion should be clean and portrait-led */
.v35-template-fashion_layout .v35-product {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.v35-template-fashion_layout .v35-product-image {
  aspect-ratio: 3 / 4 !important;
  background: #f5f5f4 !important;
}

.v35-template-fashion_layout .v35-product-body {
  padding: 14px 0 0 !important;
}

/* Compact icon-only actions */
.v35-store .v35-icon-action,
.v35-store .v35-add-icon,
.v35-store .v35-search-toggle {
  border-radius: 999px !important;
}

.v35-store .v35-cart {
  padding: 0 !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 0 !important;
}

.v35-store .v35-cart-label {
  display: none !important;
}

.v35-store #customer-account-link {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  font-size: 0 !important;
}

/* Neutral product badges; brand colour only where intentional */
.v35-store .v35-offer,
.v35-store .v35-discount {
  background: #111111 !important;
  color: #ffffff !important;
}

.v35-store .v35-gallery-count {
  background: rgba(17,17,17,.72) !important;
}

/* Search sizing and mobile behaviour */
.v35-store .v35-search {
  width: clamp(180px, 28vw, 360px) !important;
  transition: width .2s ease;
}

@media (max-width: 760px) {
  .v35-store .v35-search {
    display: none !important;
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 64px !important;
    width: auto !important;
    z-index: 50 !important;
  }

  .v35-store .v35-search.open {
    display: flex !important;
  }

  .v35-store .v35-brand img {
    border-radius: 0 !important;
  }
}



/* === miShop v35-C.3: customer journey and mobile conversion === */

/* Hero carousel: no vertical gap, no oversized controller surfaces */
.v35-store .v35-hero.v35-carousel {
  position: relative !important;
  display: block !important;
  height: clamp(360px, 44vw, 520px) !important;
  min-height: 0 !important;
  margin-bottom: 18px !important;
  overflow: hidden !important;
}
.v35-store .v35-slide,
.v35-store .v35-slide.active {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity .48s ease;
}
.v35-store .v35-slide.active {
  opacity: 1;
  pointer-events: auto;
}
.v35-store .v35-slide .v35-hero-image,
.v35-store .v35-slide .v35-hero-gradient {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
}
.v35-store .v35-slide .v35-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
}
.v35-store .v35-carousel-controls {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 14px !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  display: block !important;
  width: auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: rgba(17,17,17,.24) !important;
  backdrop-filter: blur(7px);
}
.v35-store .v35-carousel-dots {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
}
.v35-store .v35-carousel-dots button {
  display: block !important;
  width: 7px !important;
  min-width: 7px !important;
  height: 7px !important;
  min-height: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 99px !important;
  background: rgba(255,255,255,.52) !important;
  font-size: 0 !important;
}
.v35-store .v35-carousel-dots button.active {
  width: 22px !important;
  background: #fff !important;
}

/* Product discovery transitions */
.v35-store .v35-search-close { display: none; }
.v35-store .v35-filter-head span { display: flex; align-items: center; gap: 10px; }
.v35-store .v35-filter-close { display: none; }
.v35-store .v35-filter-backdrop { display: none; }
.v35-store .v35-footer { align-items: flex-start; flex-wrap: wrap; }
.v35-store .v35-footer-links {
  display: flex; flex-wrap: wrap; align-items: center; gap: 18px;
}
.v35-store .v35-footer-links button {
  padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.72);
  cursor: pointer; font-size: 13px;
}
.v35-store .v35-footer-links button:hover { color: #fff; }

/* Floating customer enquiry */
.v35-store .v35-chat-fab {
  position: fixed; z-index: 60; right: 20px; bottom: 20px;
  display: grid; place-items: center; width: 56px; height: 56px;
  border: 0; border-radius: 999px; background: var(--store-primary); color: #fff;
  cursor: pointer; box-shadow: 0 16px 38px rgba(15,23,42,.22);
}
.v35-store .v35-chat-fab svg {
  width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.v35-store .v35-chat-panel { width: min(470px,100%); }
.v35-store .v35-chat-panel h2 { margin: 7px 0 18px; font-size: 29px; letter-spacing: -.04em; }
.v35-store .v35-chat-form { display: grid; gap: 10px; }
.v35-store #v35-chat-contact { display: grid; gap: 10px; }
.v35-store .v35-chat-form input,
.v35-store .v35-chat-form textarea {
  width: 100%; border: 1px solid #e5e7eb; border-radius: 14px;
  padding: 13px 14px; outline: none; color: #111827;
}
.v35-store .v35-chat-form textarea { min-height: 125px; resize: vertical; }
.v35-store .v35-chat-form input:focus,
.v35-store .v35-chat-form textarea:focus { border-color: var(--store-primary); }
.v35-store .v35-chat-form .v35-primary-button {
  border: 0; width: 100%; padding: 14px; cursor: pointer;
}

/* Install prompt becomes a deliberate first-decision screen */
.v35-store .v35-install-gate {
  position: fixed !important; inset: 0 !important; z-index: 95 !important;
  display: grid; place-items: center; width: auto !important; max-width: none !important;
  padding: 20px !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: rgba(15,23,42,.68) !important; backdrop-filter: blur(6px);
}
.v35-store .v35-install-card {
  width: min(420px,100%); border-radius: 28px; background: #fff; color: #111827;
  padding: 30px; text-align: center; box-shadow: 0 28px 70px rgba(0,0,0,.23);
}
.v35-store .v35-install-mark {
  margin: 0 auto 16px; display: grid; place-items: center; width: 62px; height: 62px;
  border-radius: 20px; background: var(--store-primary); color: #fff;
}
.v35-store .v35-install-mark svg { width: 28px; height: 28px; }
.v35-store .v35-install-card h2 { margin: 0 0 8px; font-size: 28px; letter-spacing: -.04em; }
.v35-store .v35-install-card p { margin: 0 0 23px; color: #64748b; }
.v35-store .v35-install-card button {
  width: 100%; margin: 0 0 9px; border-radius: 999px; padding: 14px;
  border: 0; font-weight: 700; cursor: pointer;
}
.v35-store .v35-install-card #pwa-install-btn { background: var(--store-primary); color: #fff; }
.v35-store .v35-install-card .v35-install-skip { background: #f1f5f9; color: #334155; }

@media (max-width: 760px) {
  .v35-store .v35-hero.v35-carousel {
    height: clamp(360px, 112vw, 455px) !important;
    margin-top: 8px !important;
  }
  .v35-store .v35-slide .v35-hero-overlay { padding-bottom: 48px !important; }
  .v35-store .v35-search.open {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-right: 8px !important;
  }
  .v35-store .v35-search-close {
    display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px;
    border: 0; border-radius: 50%; background: #f1f5f9; color: #111827; cursor: pointer;
  }
  .v35-store .v35-filters.open {
    display: block !important;
    z-index: 91 !important;
  }
  .v35-store .v35-filter-close {
    display: grid; place-items: center; width: 34px; height: 34px;
    border: 1px solid #e5e7eb; border-radius: 50%; background: #fff; color: #111827;
    font-size: 24px; cursor: pointer;
  }
  .v35-store .v35-filter-backdrop.open {
    display: block !important; position: fixed; inset: 0; z-index: 90;
    border: 0; background: rgba(15,23,42,.53);
  }
  .v35-store .v35-chat-fab { bottom: 76px; right: 14px; width: 52px; height: 52px; }
}


/* === miShop v35-C.5: two-way customer conversation UI === */
.v35-store .v35-chat-conversations {
  display: flex; gap: 8px; overflow-x: auto; margin: 0 0 14px; padding-bottom: 3px;
}
.v35-store .v35-chat-conversation {
  flex-shrink: 0; position: relative; border: 1px solid #e5e7eb; border-radius: 999px;
  padding: 9px 13px; background: #fff; color: #475569; font-size: 12px; cursor: pointer;
}
.v35-store .v35-chat-conversation.active {
  border-color: var(--store-primary); background: var(--shop-soft); color: var(--store-primary); font-weight: 700;
}
.v35-store .v35-chat-conversation b {
  margin-left: 6px; border-radius: 999px; background: var(--store-primary); color: #fff; padding: 2px 6px; font-size: 10px;
}
.v35-store .v35-chat-thread {
  max-height: 248px; overflow-y: auto; margin-bottom: 13px; padding: 13px;
  border-radius: 18px; background: #f8fafc; display: flex; flex-direction: column; gap: 9px;
}
.v35-store .v35-chat-bubble {
  max-width: 86%; border-radius: 17px 17px 17px 4px; padding: 10px 12px;
  background: #fff; border: 1px solid #e5e7eb; align-self: flex-start;
}
.v35-store .v35-chat-bubble.customer {
  align-self: flex-end; border-radius: 17px 17px 4px 17px; background: var(--store-primary); border-color: var(--store-primary); color: #fff;
}
.v35-store .v35-chat-bubble p { margin: 0 0 4px; white-space: pre-wrap; font-size: 13px; line-height: 1.45; }
.v35-store .v35-chat-bubble small { font-size: 10px; opacity: .68; }
.v35-store .v35-chat-new {
  margin: 0 0 11px; border: 0; padding: 0; background: transparent; color: var(--store-primary);
  font-size: 13px; font-weight: 700; cursor: pointer;
}


/* === miShop v35-C.6: full-bleed mobile hero and real template library === */

/* Shared template signature band */
.v35-store .v35-template-band {
  margin: 0 clamp(16px,4vw,56px) 22px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 19px clamp(16px,3vw,29px);
  border: 1px solid var(--shop-border);
  background: #fff;
}
.v35-store .v35-template-band .v35-eyebrow { margin: 0; color: var(--store-primary); }
.v35-store .v35-template-band > div,
.v35-store .v35-template-band > p + div {
  display: flex; flex-wrap: wrap; gap: clamp(16px,4vw,44px); color: #334155;
}
.v35-store .v35-template-band span {
  font-size: 13px; font-weight: 650; letter-spacing: .01em;
}
.v35-store .v35-trade-band strong {
  display: block; margin-top: 5px; font-size: clamp(17px,2vw,21px); color: #111827;
}
.v35-store .v35-card-specs {
  display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0 2px;
}
.v35-store .v35-card-specs span {
  display: inline-flex; gap: 5px; align-items: center;
  border: 1px solid #e5e7eb; padding: 5px 7px; font-size: 10px; color: #374151;
}
.v35-store .v35-card-specs small {
  color: #64748b; text-transform: capitalize;
}

/* FASHION — editorial, unboxed and portrait-led */
.v35-template-fashion_layout { background: #fff; }
.v35-template-fashion_layout .v35-header { border-bottom-color: #f1f1ef; }
.v35-template-fashion_layout .v35-hero.v35-carousel {
  min-height: clamp(510px,60vw,690px);
}
.v35-template-fashion_layout .v35-hero-overlay h1 {
  max-width: 540px; font-family: Georgia, "Times New Roman", serif;
  font-weight: 500; letter-spacing: -.055em; font-size: clamp(45px,6.4vw,76px);
}
.v35-template-fashion_layout .v35-template-band {
  border: 0; border-block: 1px solid #ebe7e0; padding-block: 23px;
}
.v35-template-fashion_layout .v35-trust { background: #fff; border-color: #f0ede7; }
.v35-template-fashion_layout .v35-grid-fashion { grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(17px,2.4vw,29px); }
.v35-template-fashion_layout .v35-product { border: 0 !important; background: transparent !important; box-shadow: none !important; }
.v35-template-fashion_layout .v35-product-image { aspect-ratio: 3 / 4 !important; }
.v35-template-fashion_layout .v35-product-body { padding: 14px 0 0 !important; }

/* ELECTRONICS — crisp, technical and information-rich */
.v35-template-tech_specs { background: #f5f7fa; }
.v35-template-tech_specs .v35-hero.v35-carousel {
  min-height: clamp(350px,40vw,480px); border-radius: 18px;
}
.v35-template-tech_specs .v35-template-band {
  border-radius: 16px; background: #fff; border-color: #dfe5ed;
}
.v35-template-tech_specs .v35-product {
  border: 1px solid #dfe5ed !important; background: #fff; border-radius: 12px !important;
}
.v35-template-tech_specs .v35-product-image {
  aspect-ratio: 1.25 / 1 !important; background: #fff !important; object-fit: contain !important;
}
.v35-template-tech_specs .v35-product-image img { object-fit: contain !important; padding: 15px; }
.v35-template-tech_specs .v35-product-body { padding: 14px !important; }

/* GROCERY — high-density quick-add retail */
.v35-template-grocery_quickshop { background: #f7faf5; }
.v35-template-grocery_quickshop .v35-hero.v35-carousel {
  min-height: clamp(270px,34vw,390px); border-radius: 16px;
}
.v35-template-grocery_quickshop .v35-template-band {
  background: color-mix(in srgb, var(--store-primary) 6%, white);
  border-radius: 16px; padding-block: 15px;
}
.v35-template-grocery_quickshop .v35-grid-grocery {
  grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px;
}
.v35-template-grocery_quickshop .v35-product {
  border-radius: 12px !important; border-color: #e3eadf !important;
}
.v35-template-grocery_quickshop .v35-product-image { aspect-ratio: 1 / 1 !important; background: #fff !important; }
.v35-template-grocery_quickshop .v35-product-image img { object-fit: contain !important; padding: 9px; }
.v35-template-grocery_quickshop .v35-product-body { padding: 10px !important; }
.v35-template-grocery_quickshop .v35-product-category,
.v35-template-grocery_quickshop .v35-rating { display: none; }

/* BEAUTY — airy lifestyle presentation */
.v35-template-beauty_lifestyle {
  background: #fffaf8;
}
.v35-template-beauty_lifestyle .v35-hero.v35-carousel {
  min-height: clamp(450px,54vw,620px); border-radius: 36px;
}
.v35-template-beauty_lifestyle .v35-hero-overlay h1 {
  font-family: Georgia, serif; font-weight: 400; letter-spacing: -.05em;
}
.v35-template-beauty_lifestyle .v35-template-band {
  background: #fff4f0; border: 0; justify-content: center;
}
.v35-template-beauty_lifestyle .v35-grid-beauty {
  grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(18px,3vw,34px);
}
.v35-template-beauty_lifestyle .v35-product {
  border: 0 !important; background: transparent !important; box-shadow: none !important;
}
.v35-template-beauty_lifestyle .v35-product-image { aspect-ratio: .84 / 1 !important; background: #fff3ef !important; }
.v35-template-beauty_lifestyle .v35-product-body { padding: 15px 0 !important; }

/* FURNITURE — showroom cards with wide photography */
.v35-template-furniture_showroom { background: #faf9f6; }
.v35-template-furniture_showroom .v35-hero.v35-carousel {
  min-height: clamp(450px,53vw,640px); border-radius: 8px;
}
.v35-template-furniture_showroom .v35-template-band {
  background: #f3f0e9; border: 0; padding-block: 25px;
}
.v35-template-furniture_showroom .v35-grid-furniture {
  grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(17px,3vw,32px);
}
.v35-template-furniture_showroom .v35-product {
  border: 0 !important; background: transparent !important; box-shadow: none !important;
}
.v35-template-furniture_showroom .v35-product-image { aspect-ratio: 1.55 / 1 !important; background: #edeae2 !important; }
.v35-template-furniture_showroom .v35-product-body { padding: 14px 0 !important; }

/* HARDWARE — durable catalogue and enquiry-led layout */
.v35-template-hardware_catalogue { background: #f5f5f4; }
.v35-template-hardware_catalogue .v35-hero.v35-carousel {
  min-height: clamp(315px,38vw,445px); border-radius: 4px;
}
.v35-template-hardware_catalogue .v35-trade-band {
  background: #fff; border-left: 4px solid var(--store-primary); padding-block: 16px;
}
.v35-template-hardware_catalogue .v35-grid-hardware {
  grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px;
}
.v35-template-hardware_catalogue .v35-product {
  border-radius: 3px !important; border-color: #d6d3d1 !important;
}
.v35-template-hardware_catalogue .v35-product-image { aspect-ratio: 1.16 / 1 !important; background: #fff !important; }
.v35-template-hardware_catalogue .v35-product-image img { object-fit: contain !important; padding: 12px; }

/* FOOD — compact menu cards */
.v35-template-restaurant_menu .v35-template-band {
  background: color-mix(in srgb, var(--store-primary) 7%, white);
  border-radius: 18px;
}
.v35-template-restaurant_menu .v35-grid-menu .v35-product {
  display: grid; grid-template-columns: 112px 1fr; align-items: stretch;
}
.v35-template-restaurant_menu .v35-grid-menu .v35-product-image {
  aspect-ratio: auto !important; height: 100%; min-height: 126px;
}
.v35-template-restaurant_menu .v35-grid-menu .v35-media { height: 100%; }

/* Mobile: the hero is the storefront window — full bleed, end to end */
@media (max-width: 760px) {
  .v35-store .v35-hero.v35-carousel,
  .v35-template-fashion_layout .v35-hero.v35-carousel,
  .v35-template-tech_specs .v35-hero.v35-carousel,
  .v35-template-grocery_quickshop .v35-hero.v35-carousel,
  .v35-template-beauty_lifestyle .v35-hero.v35-carousel,
  .v35-template-furniture_showroom .v35-hero.v35-carousel,
  .v35-template-hardware_catalogue .v35-hero.v35-carousel,
  .v35-template-restaurant_menu .v35-hero.v35-carousel {
    margin: 0 0 14px !important;
    width: 100% !important;
    border-radius: 0 !important;
    height: clamp(380px, 118vw, 520px) !important;
    min-height: 0 !important;
  }
  .v35-store .v35-slide .v35-hero-image {
    width: 100vw !important; height: 100% !important; object-fit: cover !important;
  }
  .v35-store .v35-slide .v35-hero-overlay {
    padding: clamp(24px,8vw,34px) 17px 54px !important;
    justify-content: flex-end !important;
    width: 100% !important;
  }
  .v35-template-fashion_layout .v35-hero-overlay h1,
  .v35-template-beauty_lifestyle .v35-hero-overlay h1 {
    font-size: clamp(38px,12vw,52px);
  }
  .v35-store .v35-template-band {
    margin: 0 12px 17px; padding: 14px;
    display: block; overflow-x: auto;
  }
  .v35-store .v35-template-band > div,
  .v35-store .v35-template-band > p + div {
    flex-wrap: nowrap; gap: 20px; margin-top: 7px; white-space: nowrap;
  }
  .v35-template-grocery_quickshop .v35-grid-grocery,
  .v35-template-hardware_catalogue .v35-grid-hardware,
  .v35-template-fashion_layout .v35-grid-fashion,
  .v35-template-beauty_lifestyle .v35-grid-beauty {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .v35-template-furniture_showroom .v35-grid-furniture {
    grid-template-columns: 1fr;
  }
  .v35-template-restaurant_menu .v35-grid-menu {
    grid-template-columns: 1fr;
  }
}


/* ------------------------------------------------------------------
   MiShop v36 Real Storefront Template Engine
   These styles support architecture-level sections inserted by Erlang.
   ------------------------------------------------------------------ */
.v36-fashion-collections,
.v36-editorial-panel,
.v36-grocery-top,
.v36-deals-strip,
.v36-quick-categories,
.v36-trade-panel,
.v36-spec-rail,
.v36-room-showcase,
.v36-consult-panel,
.v36-beauty-routines,
.v36-restaurant-status,
.v36-menu-jumps,
.v36-tech-panel {
  width: min(1180px, calc(100% - 32px));
  margin: clamp(18px, 3vw, 38px) auto;
}
.v36-fashion-collections > div,
.v36-quick-categories > div,
.v36-beauty-routines > div,
.v36-menu-jumps > div,
.v36-room-grid,
.v36-spec-rail > div,
.v36-tech-panel > div:last-child,
.v36-deals-strip > div {
  display: grid;
  gap: clamp(10px, 1.7vw, 20px);
}
.v36-fashion-collections > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v36-fashion-collections a,
.v36-room-grid a {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  padding: clamp(18px, 3vw, 30px);
  text-decoration: none;
  color: inherit;
  background: linear-gradient(145deg, rgba(0,0,0,.08), rgba(0,0,0,.02));
  border: 1px solid rgba(0,0,0,.08);
}
.v36-fashion-collections a span,
.v36-room-grid a span { font-size: clamp(22px, 4vw, 38px); font-family: Georgia, serif; }
.v36-editorial-panel,
.v36-consult-panel,
.v36-trade-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(22px, 4vw, 46px);
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
.v36-editorial-panel h2,
.v36-trade-panel h2,
.v36-consult-panel h2 { margin: 0 0 8px; font-size: clamp(26px, 4vw, 48px); }
.v36-grocery-top {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 520px) auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.08);
  position: sticky;
  top: 12px;
  z-index: 20;
}
.v36-grocery-top h1 { margin: 0; font-size: clamp(20px, 3vw, 34px); }
.v36-grocery-top label { display: flex; align-items: center; gap: 8px; background: #f5f7f3; border-radius: 999px; padding: 10px 14px; }
.v36-grocery-top input { width: 100%; border: 0; background: transparent; outline: 0; }
.v36-grocery-top svg { width: 18px; height: 18px; }
.v36-grocery-top a,
.v36-restaurant-status a { text-decoration: none; font-weight: 800; color: var(--store-primary); }
.v36-deals-strip { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 16px; }
.v36-deals-strip > div { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.v36-mini-product { border: 1px solid rgba(0,0,0,.08); background: #fff; border-radius: 18px; padding: 8px; text-align: left; cursor: pointer; }
.v36-mini-product img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 14px; display: block; }
.v36-mini-product span { display: block; margin-top: 8px; font-size: 13px; font-weight: 800; }
.v36-quick-categories > div,
.v36-menu-jumps > div,
.v36-beauty-routines > div { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.v36-quick-categories button,
.v36-menu-jumps button,
.v36-beauty-routines button {
  border: 1px solid rgba(0,0,0,.09);
  background: #fff;
  border-radius: 999px;
  padding: 13px 16px;
  font-weight: 800;
  cursor: pointer;
}
.v36-trade-panel { background: #111; color: #fff; border-radius: 0; }
.v36-trade-panel .v35-primary-button { background: #fff; color: #111; }
.v36-spec-rail > div,
.v36-tech-panel > div:last-child { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v36-spec-tile { border: 1px solid rgba(0,0,0,.1); background: #fff; padding: 16px; }
.v36-spec-tile button { border: 0; background: transparent; text-align: left; padding: 0; cursor: pointer; }
.v36-spec-tile strong { display: block; font-size: 16px; }
.v36-spec-tile span { display: block; margin: 5px 0 12px; opacity: .72; }
.v36-room-showcase { display: grid; grid-template-columns: .75fr 1.25fr; gap: 24px; align-items: stretch; }
.v36-room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v36-room-grid a { min-height: 210px; background: #edeae2; }
.v36-beauty-routines { text-align: center; padding: clamp(20px, 4vw, 44px); background: #fff7f3; border-radius: 34px; }
.v36-beauty-routines h2 { margin-top: 0; font-family: Georgia, serif; font-size: clamp(28px, 5vw, 54px); }
.v36-beauty-routines button { border-radius: 24px; padding: 18px; background: #fff; }
.v36-restaurant-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 12px 16px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 800;
}
.v36-restaurant-status a { color: #fff; text-decoration: underline; }
.v36-menu-jumps { text-align: center; }
.v36-tech-panel {
  display: grid;
  grid-template-columns: .45fr 1fr;
  gap: 22px;
  align-items: start;
  padding: clamp(18px, 3vw, 34px);
  background: #f7f8fb;
  border: 1px solid rgba(0,0,0,.08);
}
@media (max-width: 820px) {
  .v36-fashion-collections,
  .v36-editorial-panel,
  .v36-grocery-top,
  .v36-deals-strip,
  .v36-quick-categories,
  .v36-trade-panel,
  .v36-spec-rail,
  .v36-room-showcase,
  .v36-consult-panel,
  .v36-beauty-routines,
  .v36-restaurant-status,
  .v36-menu-jumps,
  .v36-tech-panel { width: min(100%, calc(100% - 22px)); }
  .v36-fashion-collections > div,
  .v36-deals-strip > div,
  .v36-quick-categories > div,
  .v36-menu-jumps > div,
  .v36-beauty-routines > div,
  .v36-spec-rail > div,
  .v36-tech-panel > div:last-child,
  .v36-room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v36-editorial-panel,
  .v36-trade-panel,
  .v36-consult-panel,
  .v36-room-showcase,
  .v36-tech-panel,
  .v36-grocery-top { grid-template-columns: 1fr; display: grid; }
  .v36-deals-strip { grid-template-columns: 1fr; }
  .v36-restaurant-status { border-radius: 18px; flex-wrap: wrap; }
}


/* MiShop v36.1 wiring fix: new template architecture owns the top area */
.v36-arch-hero{position:relative;overflow:hidden;margin:clamp(12px,2vw,22px);border-radius:32px;min-height:clamp(280px,42vw,520px);display:grid;align-items:end;background:#111;color:#fff;isolation:isolate;box-shadow:0 22px 70px rgba(15,23,42,.12)}
.v36-arch-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.v36-arch-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(75deg,rgba(0,0,0,.72),rgba(0,0,0,.18),rgba(0,0,0,.05));z-index:-1}.v36-arch-hero-gradient{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,var(--store-primary),var(--store-accent))}.v36-arch-hero-copy{max-width:720px;padding:clamp(24px,5vw,72px)}.v36-arch-hero-copy h1{font-size:clamp(34px,6vw,78px);line-height:.95;margin:8px 0 14px}.v36-arch-hero-copy p:not(.v35-eyebrow){font-size:clamp(15px,2vw,21px);max-width:620px;color:rgba(255,255,255,.9)}.v36-arch-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.v36-hero-fashion .v36-arch-hero-copy h1,.v36-hero-furniture .v36-arch-hero-copy h1,.v36-hero-beauty .v36-arch-hero-copy h1{font-family:Georgia,serif;font-weight:500}.v36-hero-grocery{min-height:220px;border-radius:24px;background:#ecfdf3;color:#15351f}.v36-hero-grocery:after{background:linear-gradient(90deg,rgba(236,253,243,.95),rgba(236,253,243,.54))}.v36-hero-grocery .v36-arch-hero-copy p{color:#284732}.v36-hero-hardware{border-radius:6px;background:#1c1917}.v36-hero-hardware .v36-arch-hero-copy h1{font-family:Arial,sans-serif;font-weight:900;letter-spacing:-.04em}.v36-hero-furniture{border-radius:10px}.v36-hero-beauty{border-radius:40px;background:#fff1eb}.v36-hero-restaurant{min-height:240px;border-radius:28px}.v36-hero-tech{border-radius:18px;background:#0f172a}.v36-grocery-top{margin:14px clamp(12px,2vw,22px);display:grid;grid-template-columns:1fr minmax(280px,520px) auto;gap:12px;align-items:center}.v36-grocery-top label{height:54px;border:1px solid #d9ead7;background:#fff;border-radius:18px;display:flex;align-items:center;gap:10px;padding:0 16px}.v36-grocery-top input{border:0;outline:0;width:100%;font-size:15px}.v36-grocery-top a,.v36-restaurant-status a{border-radius:16px;padding:15px 18px;background:var(--store-primary);color:#fff;font-weight:800}.v36-fashion-collections,.v36-editorial-panel,.v36-deals-strip,.v36-quick-categories,.v36-trade-panel,.v36-spec-rail,.v36-room-showcase,.v36-consult-panel,.v36-beauty-routines,.v36-restaurant-status,.v36-menu-jumps,.v36-tech-panel{margin:clamp(14px,2vw,24px);}.v36-fashion-collections>div,.v36-quick-categories>div,.v36-beauty-routines>div,.v36-menu-jumps>div{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.v36-fashion-collections a,.v36-room-grid a{min-width:180px;min-height:120px;border:1px solid #eee;background:#fafafa;border-radius:4px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;color:#111}.v36-editorial-panel,.v36-trade-panel,.v36-consult-panel,.v36-tech-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #eee;border-radius:28px;padding:clamp(20px,4vw,44px);background:#fff}.v36-deals-strip{background:#102a18;color:#fff;border-radius:22px;padding:16px;display:flex;gap:16px;align-items:center}.v36-deals-strip>div{display:flex;gap:10px;overflow:auto}.v36-mini-product{min-width:110px;border:0;border-radius:14px;background:rgba(255,255,255,.13);color:#fff;padding:9px;text-align:left}.v36-mini-product img{width:100%;height:52px;object-fit:cover;border-radius:10px}.v36-quick-categories button,.v36-beauty-routines button,.v36-menu-jumps button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:12px 16px;font-weight:800;white-space:nowrap}.v36-spec-rail>div,.v36-tech-panel>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v36-spec-tile{border:1px solid #ddd;background:#fff;border-radius:8px;padding:14px}.v36-spec-tile button{border:0;background:transparent;text-align:left;display:grid;gap:4px}.v36-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v36-restaurant-status{display:flex;justify-content:center;gap:12px;align-items:center;background:#111;color:#fff;border-radius:999px;padding:10px 14px}.v36-restaurant-status span{font-weight:800}.v36-template-grocery_quickshop .v35-hero.v35-carousel,.v36-template-fashion_layout .v35-hero.v35-carousel,.v36-template-beauty_lifestyle .v35-hero.v35-carousel,.v36-template-furniture_showroom .v35-hero.v35-carousel,.v36-template-hardware_catalogue .v35-hero.v35-carousel,.v36-template-restaurant_menu .v35-hero.v35-carousel,.v36-template-tech_specs .v35-hero.v35-carousel{display:none!important}
@media(max-width:720px){.v36-arch-hero{margin:0 0 14px;border-radius:0;min-height:420px}.v36-grocery-top{grid-template-columns:1fr;margin:10px}.v36-spec-rail>div,.v36-tech-panel>div:last-child,.v36-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v36-editorial-panel,.v36-trade-panel,.v36-consult-panel,.v36-tech-panel{display:block}.v36-restaurant-status{border-radius:0;margin:0 0 10px;overflow:auto;justify-content:flex-start}}


/* === miShop v38: guest live commerce chat, automation and conversion === */
.v35-store .v38-chat-note {
  margin: -9px 0 16px; color: #64748b; font-size: 13px; line-height: 1.45;
}
.v35-store .v38-auto-label {
  display: inline-flex; margin: 0 0 7px; padding: 3px 8px; border-radius: 999px;
  background: color-mix(in srgb, var(--store-primary) 11%, white); color: var(--store-primary);
  font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
}
.v35-store .v38-signup-card {
  max-width: 94%; border-color: color-mix(in srgb, var(--store-primary) 28%, #e5e7eb);
  background: color-mix(in srgb, var(--store-primary) 5%, white);
}
.v35-store .v38-signup-actions {
  display: flex; flex-wrap: wrap; gap: 7px; margin: 11px 0 9px;
}
.v35-store .v38-signup-actions button {
  border: 0; border-radius: 999px; padding: 8px 12px; background: var(--store-primary);
  color: #fff; font-size: 12px; font-weight: 700; cursor: pointer;
}
.v35-store .v38-signup-actions .secondary {
  border: 1px solid #e5e7eb; background: #fff; color: #475569;
}


/* === miShop v39: private report-shop intake === */
.v35-store .v39-report-panel { width: min(560px,100%); padding: clamp(22px,4vw,34px); }
.v35-store .v39-report-panel h2 { margin: 7px 0 9px; font-size: 29px; letter-spacing: -.04em; }
.v35-store .v39-report-note { color: #64748b; font-size: 13px; line-height: 1.55; margin: 0 0 17px; padding-right: 22px; }
.v35-store .v39-report-form { display: grid; gap: 12px; }
.v35-store .v39-report-form label { display: grid; gap: 6px; color: #374151; font-size: 13px; font-weight: 650; }
.v35-store .v39-report-form input:not([type="checkbox"]),
.v35-store .v39-report-form select,
.v35-store .v39-report-form textarea {
  width: 100%; border: 1px solid #e5e7eb; border-radius: 14px; background: white;
  padding: 12px 14px; font: inherit; color: #111827; outline: none;
}
.v35-store .v39-report-form select { height: 48px; }
.v35-store .v39-report-form textarea { min-height: 126px; resize: vertical; }
.v35-store .v39-report-form input:focus,
.v35-store .v39-report-form select:focus,
.v35-store .v39-report-form textarea:focus { border-color: var(--store-primary); }
.v35-store .v39-report-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v35-store .v39-report-check {
  display: flex; align-items: flex-start; gap: 9px; font-weight: 500; line-height: 1.45; color: #64748b;
}
.v35-store .v39-report-check input { margin-top: 3px; accent-color: var(--store-primary); }
.v35-store .v39-report-form .v35-primary-button {
  width: 100%; border: 0; border-radius: 999px; background: var(--store-primary);
  color: white; padding: 14px; cursor: pointer; font-weight: 700;
}
.v35-store .v39-report-form .v35-primary-button:disabled { opacity: .64; cursor: wait; }
.v35-store .v39-report-status { min-height: 20px; margin: 0; font-size: 13px; line-height: 1.45; }
.v35-store .v39-report-status.success { color: #047857; }
.v35-store .v39-report-status.error { color: #b91c1c; }
@media (max-width: 560px) {
  .v35-store .v39-report-contact { grid-template-columns: 1fr; }
}


/* === miShop v39.1: shop-scoped chat sign-up conversion popup === */
.v35-store .v391-signup-popup { z-index: 94; }
.v35-store .v391-signup-panel {
  position: relative;
  z-index: 1;
  width: min(470px, 100%);
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15,23,42,.24);
  padding: clamp(25px, 5vw, 38px);
}
.v35-store .v391-signup-eyebrow {
  display: inline-flex;
  margin-bottom: 13px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--store-primary) 10%, white);
  color: var(--store-primary);
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.v35-store .v391-signup-panel h2 {
  margin: 0 0 11px;
  font-size: clamp(25px, 5vw, 32px);
  letter-spacing: -.045em;
  line-height: 1.1;
  color: #111827;
}
.v35-store .v391-signup-message {
  margin: 0 0 17px;
  color: #475569;
  font-size: 14px;
  line-height: 1.6;
}
.v35-store .v391-privacy-note {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 17px;
  color: #475569;
  padding: 14px 15px;
  font-size: 12.5px;
  line-height: 1.55;
  margin-bottom: 20px;
}
.v35-store .v391-privacy-note strong {
  color: #111827;
  display: block;
  margin-bottom: 3px;
}
.v35-store .v391-signup-buttons {
  display: grid;
  gap: 9px;
}
.v35-store .v391-signup-buttons .v35-primary-button {
  width: 100%;
  min-height: 50px;
}
.v35-store .v391-guest-button {
  min-height: 49px;
  border: 1px solid #e5e7eb;
  background: white;
  border-radius: 999px;
  cursor: pointer;
  color: #475569;
  font-weight: 650;
}
.v35-store .v391-guest-button:hover { background: #f8fafc; }
.v35-store .v35-customer-note {
  border-left: 3px solid var(--store-primary);
  padding-left: 12px;
}


/* === MiShop v40 Standard Checkout & Revenue Foundation === */
.v35-store .v40-checkout-panel { width: min(540px, 100%); }
.v35-store .v40-checkout-account {
  margin: 16px 0; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 16px;
  background: #f8fafc; color: #475569; font-size: 13px; line-height: 1.45;
}
.v35-store .v40-checkout-account p { margin: 0; }
.v35-store .v40-checkout-account button {
  border: 0; padding: 0; background: transparent; color: var(--store-primary);
  font-weight: 700; text-decoration: underline; cursor: pointer;
}
.v35-store .v40-steps {
  display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; gap: 7px;
  margin: 0 0 18px; padding: 0;
}
.v35-store .v40-steps li {
  min-width: 0; padding: 9px 4px; border-radius: 999px; background: #f1f5f9;
  color: #64748b; font-size: 11px; font-weight: 700; text-align: center;
}
.v35-store .v40-steps li.active { background: var(--store-primary); color: #fff; }
.v35-store .v40-steps li.complete {
  background: color-mix(in srgb, var(--store-primary) 13%, #fff);
  color: var(--store-primary);
}
.v35-store .v40-checkout-form { display: block !important; }
.v35-store .v40-checkout-step { display: none; gap: 10px; }
.v35-store .v40-checkout-step.active { display: grid; }
.v35-store .v40-checkout-step h3 {
  margin: 0 0 4px; font-size: 18px; letter-spacing: -.025em; color: #111827;
}
.v35-store .v40-help {
  margin: 0 0 7px; font-size: 12px; line-height: 1.45; color: #64748b;
}
.v35-store .v40-checkout-form input,
.v35-store .v40-checkout-form select,
.v35-store .v40-checkout-form textarea {
  width: 100%; border: 1px solid #e5e7eb; border-radius: 14px;
  background: #fff; color: #111827; padding: 13px 14px; outline: none;
}
.v35-store .v40-checkout-form input,
.v35-store .v40-checkout-form select { height: 48px; }
.v35-store .v40-checkout-form textarea { min-height: 76px; resize: vertical; }
.v35-store .v40-checkout-form input:focus,
.v35-store .v40-checkout-form select:focus,
.v35-store .v40-checkout-form textarea:focus {
  border-color: var(--store-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--store-primary) 13%, transparent);
}
.v35-store .v40-choice-list {
  display: grid; gap: 8px; margin-top: 6px;
}
.v35-store .v40-choice-title {
  margin: 4px 0 0; font-size: 12px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .08em;
}
.v35-store .v40-choice {
  display: flex; gap: 10px; align-items: flex-start; padding: 12px;
  border: 1px solid #e5e7eb; border-radius: 16px; cursor: pointer;
}
.v35-store .v40-choice input {
  width: 17px !important; height: 17px !important; padding: 0 !important; margin: 2px 0 0;
}
.v35-store .v40-choice span { display: grid; gap: 3px; font-size: 13px; }
.v35-store .v40-choice strong { font-size: 14px; color: #111827; }
.v35-store .v40-choice small { color: #64748b; line-height: 1.4; }
.v35-store .v40-empty-choice {
  padding: 14px; border: 1px dashed #cbd5e1; border-radius: 16px;
  background: #f8fafc; color: #475569; font-size: 13px; line-height: 1.45;
}
.v35-store .v40-payment-notice {
  margin: 4px 0 0; padding: 12px; border-radius: 14px;
  background: #fff7ed; color: #9a3412; font-size: 12px; line-height: 1.45;
}
.v35-store .v40-controls {
  display: flex; justify-content: space-between; gap: 9px; margin-top: 10px;
}
.v35-store .v40-controls.end { justify-content: flex-end; }
.v35-store .v40-controls button {
  flex: 1; display: inline-flex; justify-content: center; align-items: center; gap: 8px;
  margin-top: 0; border: 0; border-radius: 999px; padding: 14px 18px;
  background: var(--store-primary); color: #fff; font-weight: 700; cursor: pointer;
}
.v35-store .v40-controls button.secondary {
  flex: 0 0 auto; min-width: 110px; border: 1px solid #e5e7eb;
  background: #fff; color: #334155;
}
.v35-store .v40-order-review {
  display: grid; gap: 9px; padding: 14px; border: 1px solid #e5e7eb; border-radius: 18px; background: #f8fafc;
}
.v35-store .v40-order-review div {
  display: flex; justify-content: space-between; gap: 15px; font-size: 12px; color: #64748b;
}
.v35-store .v40-order-review strong { max-width: 62%; color: #111827; text-align: right; }
.v35-store .v40-order-review .total {
  border-top: 1px solid #e2e8f0; padding-top: 9px; font-size: 15px; font-weight: 700;
}
.v35-store .v40-checkout-result { margin-top: 13px; }
.v35-store .v40-confirmation {
  display: grid; gap: 7px; padding: 15px; border: 1px solid #d1fae5;
  border-radius: 18px; background: #ecfdf5; color: #065f46; font-size: 13px;
}
.v35-store .v40-confirmation strong { font-size: 16px; color: #064e3b; }
.v35-store .v40-confirmation p { margin: 0; line-height: 1.5; }
@media (max-width: 520px) {
  .v35-store .v40-steps li { font-size: 10px; }
  .v35-store .v40-controls { flex-direction: column-reverse; }
  .v35-store .v40-controls button.secondary { min-width: 0; }
}

/* === MiShop v40.1 — shop-scoped customer account centre and wishlist header === */
.v35-store .v401-wishlist-top { position: relative; }
.v35-store .v401-wishlist-top b {
  position: absolute; top: -3px; right: -3px; min-width: 17px; height: 17px;
  padding: 0 4px; border-radius: 999px; background: var(--store-primary); color: #fff;
  display: grid; place-items: center; font-size: 10px; font-weight: 700;
}
.v35-store .v401-account-panel { width: min(820px, calc(100vw - 24px)); max-height: min(92vh, 900px); overflow: auto; }
.v35-store .v401-account-centre { min-height: 420px; }
.v35-store .v401-loading, .v35-store .v401-empty {
  padding: 28px 18px; border: 1px dashed #d8dee7; border-radius: 16px; color: #64748b; text-align: center;
}
.v35-store .v401-account-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-right: 30px; }
.v35-store .v401-account-header h2 { margin: 4px 0; font-size: clamp(24px, 3vw, 31px); }
.v35-store .v401-account-header p:not(.v35-eyebrow) { margin: 0; color: #64748b; }
.v35-store .v401-account-header > button {
  border: 1px solid #e2e8f0; background: #fff; color: #334155; border-radius: 10px; padding: 9px 13px; cursor: pointer;
}
.v35-store .v401-boundary {
  margin: 18px 0; padding: 12px 14px; background: color-mix(in srgb, var(--store-primary) 7%, white);
  border-radius: 12px; color: #475569; font-size: 13px;
}
.v35-store .v401-account-nav { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 11px; border-bottom: 1px solid #eef2f7; }
.v35-store .v401-account-nav button {
  border: 0; white-space: nowrap; padding: 10px 13px; border-radius: 999px; cursor: pointer; background: #f1f5f9; color: #475569; font-weight: 600;
}
.v35-store .v401-account-nav button.active { background: var(--store-primary); color: #fff; }
.v35-store .v401-status { min-height: 20px; margin: 14px 0 0; color: #15803d; font-size: 13px; }
.v35-store .v401-status.error { color: #b91c1c; }
.v35-store .v401-pane { display: grid; gap: 14px; padding-top: 6px; }
.v35-store .v401-pane h3 { margin: 0; font-size: 20px; color: #0f172a; }
.v35-store .v401-help { margin: -7px 0 2px; color: #64748b; font-size: 13px; line-height: 1.45; }
.v35-store .v401-form { display: grid; gap: 12px; }
.v35-store .v401-form label { display: grid; gap: 6px; color: #475569; font-size: 13px; font-weight: 600; }
.v35-store .v401-form input:not([type="checkbox"]), .v35-store .v401-form textarea, .v35-store .v401-checkout-saved select {
  width: 100%; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; padding: 12px; font: inherit; color: #111827;
}
.v35-store .v401-form textarea { min-height: 70px; resize: vertical; }
.v35-store .v401-form input:focus, .v35-store .v401-form textarea:focus, .v35-store .v401-checkout-saved select:focus {
  outline: 2px solid color-mix(in srgb, var(--store-primary) 25%, transparent); border-color: var(--store-primary);
}
.v35-store .v401-form label small { color: #94a3b8; font-weight: 500; }
.v35-store .v401-checkbox { grid-template-columns: auto 1fr; align-items: center; gap: 9px !important; font-weight: 500 !important; }
.v35-store .v401-checkbox input { width: 16px; height: 16px; accent-color: var(--store-primary); }
.v35-store .v401-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.v35-store .v401-form-actions { display: flex; justify-content: flex-end; gap: 9px; }
.v35-store .v401-form-actions .secondary { background: #fff; border: 1px solid #e2e8f0; color: #334155; border-radius: 10px; padding: 11px 15px; cursor: pointer; }
.v35-store .v401-address-list { display: grid; gap: 9px; }
.v35-store .v401-address {
  display: flex; justify-content: space-between; gap: 14px; border: 1px solid #e7edf4; border-radius: 14px; padding: 13px; background: #fff;
}
.v35-store .v401-address.preferred { border-color: color-mix(in srgb, var(--store-primary) 35%, #e7edf4); }
.v35-store .v401-address strong { margin-right: 8px; }
.v35-store .v401-address span { background: color-mix(in srgb, var(--store-primary) 10%, white); color: var(--store-primary); padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.v35-store .v401-address p { margin: 7px 0 4px; color: #334155; font-size: 13px; }
.v35-store .v401-address small { color: #64748b; }
.v35-store .v401-inline-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.v35-store .v401-inline-actions button {
  border: 1px solid #e2e8f0; background: #fff; color: #334155; border-radius: 9px; padding: 7px 9px; font-size: 12px; cursor: pointer;
}
.v35-store .v401-address-form { margin-top: 10px; border-top: 1px solid #eef2f7; padding-top: 15px; }
.v35-store .v401-address-form h4 { margin: 0 0 3px; font-size: 16px; }
.v35-store .v401-order-list { display: grid; gap: 10px; }
.v35-store .v401-order { border: 1px solid #e7edf4; border-radius: 14px; padding: 14px; }
.v35-store .v401-order header, .v35-store .v401-order footer { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.v35-store .v401-order header small { display: block; margin-top: 4px; color: #64748b; font-size: 11px; }
.v35-store .v401-order header span { color: var(--store-primary); background: color-mix(in srgb, var(--store-primary) 8%, white); border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 700; }
.v35-store .v401-order-items { margin: 13px 0; padding: 10px 0; border-top: 1px solid #eef2f7; border-bottom: 1px solid #eef2f7; }
.v35-store .v401-order-items p { display: flex; justify-content: space-between; margin: 6px 0; color: #475569; font-size: 13px; }
.v35-store .v401-wishlist-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.v35-store .v401-wishlist-grid article { display: grid; grid-template-columns: 86px 1fr; gap: 10px; border: 1px solid #e7edf4; border-radius: 13px; padding: 9px; }
.v35-store .v401-wishlist-grid img { width: 86px; height: 102px; border-radius: 9px; object-fit: cover; background: #f8fafc; }
.v35-store .v401-wishlist-grid article > div { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.v35-store .v401-wishlist-grid small { color: #64748b; }
.v35-store .v401-wishlist-grid strong { color: #0f172a; line-height: 1.25; }
.v35-store .v401-checkout-saved { padding: 11px; border: 1px solid #e7edf4; border-radius: 12px; background: #f8fafc; }
.v35-store .v401-checkout-saved label { display: grid; gap: 7px; font-size: 13px; font-weight: 600; color: #475569; }
@media (max-width: 620px) {
  .v35-store .v401-account-panel { width: 100%; max-height: 96vh; padding: 20px 14px; }
  .v35-store .v401-grid, .v35-store .v401-wishlist-grid { grid-template-columns: 1fr; }
  .v35-store .v401-address { display: grid; }
  .v35-store .v401-account-header { padding-right: 24px; }
}

/* ------------------------------------------------------------------
   MiShop v46 Imported Storefront Design Library
   Production-safe renderer additions: no fabricated offers, testimonials,
   payment badges or delivery claims.
------------------------------------------------------------------ */
.v46-announcement{display:flex;align-items:center;justify-content:center;gap:1.1rem;padding:.78rem 1rem;background:var(--store-primary,#111827);color:#fff;font-size:.84rem;letter-spacing:.02em}.v46-announcement span{opacity:.72;border-left:1px solid rgba(255,255,255,.35);padding-left:1.1rem}
.v46-hero{position:relative;min-height:min(70vh,620px);display:flex;align-items:flex-end;overflow:hidden;margin:0 0 2.3rem}.v46-hero-image,.v46-hero-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v46-hero-fill{background:linear-gradient(125deg,var(--store-primary,#111827),var(--store-secondary,#374151))}.v46-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(10deg,rgba(5,7,11,.80) 4%,rgba(5,7,11,.42) 44%,rgba(5,7,11,.10) 100%)}
.v46-hero-copy{position:relative;z-index:1;max-width:670px;color:#fff;padding:clamp(2rem,6vw,4.7rem);display:grid;gap:1rem}.v46-hero-copy h1{margin:0;font-size:clamp(2.5rem,6.2vw,5rem);line-height:.94;letter-spacing:-.06em}.v46-hero-copy>p:not(.v35-eyebrow){max-width:520px;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.7;color:rgba(255,255,255,.8)}.v46-hero-actions{display:flex;gap:.8rem;align-items:center;margin-top:.5rem}
.v46-hero-modern{border-radius:0 0 2.4rem 2.4rem}.v46-hero-modern:after{background:linear-gradient(20deg,rgba(10,20,34,.84),rgba(10,20,34,.18))}
.v46-hero-editorial{min-height:min(78vh,720px)}.v46-hero-editorial .v46-hero-copy{max-width:820px}.v46-hero-editorial .v46-hero-copy h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em}.v46-hero-editorial:after{background:linear-gradient(0deg,rgba(22,19,18,.8),rgba(22,19,18,.08))}
.v46-hero-bold{border:3px solid #090909;margin:1.2rem clamp(.75rem,2vw,1.5rem) 2.2rem;min-height:min(64vh,560px)}.v46-hero-bold .v46-hero-copy h1{text-transform:uppercase;font-weight:900}.v46-hero-bold .v35-primary-button{border-radius:0;background:#fff;color:#111}
.v46-hero-luxury{min-height:min(82vh,760px);background:#0c0c0e}.v46-hero-luxury .v46-hero-copy{align-items:end;text-align:center;max-width:760px;margin:auto}.v46-hero-luxury .v46-hero-copy h1{font-family:Georgia,serif;font-weight:400;letter-spacing:.03em}.v46-hero-luxury .v35-eyebrow{color:#d0ad6a}.v46-hero-luxury .v35-primary-button{background:#c9a96e;color:#0c0c0e}
.v46-hero-neon{min-height:min(72vh,680px);background:#03060d}.v46-hero-neon:after{background:linear-gradient(85deg,rgba(3,6,13,.92),rgba(3,6,13,.3))}.v46-hero-neon .v35-eyebrow,.v46-hero-neon h1{color:#15ffc5;text-shadow:0 0 24px rgba(21,255,197,.25)}.v46-hero-neon .v35-primary-button{background:#15ffc5;color:#02050b;box-shadow:0 0 20px rgba(21,255,197,.34)}
.v46-hero-organic{margin:1rem clamp(.75rem,3vw,2.2rem) 2.6rem;border-radius:2rem;min-height:min(66vh,590px)}.v46-hero-organic:after{background:linear-gradient(60deg,rgba(48,49,37,.68),rgba(48,49,37,.12))}.v46-hero-organic .v35-primary-button{background:#798c70}
.v46-section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.4rem}.v46-section-title h2{font-size:clamp(1.65rem,2.6vw,2.25rem);letter-spacing:-.04em;margin:.2rem 0 0}
.v46-featured{padding:clamp(2rem,5vw,3.2rem) clamp(1rem,4vw,3rem);max-width:1320px;margin:auto}.v46-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.v46-feature-card{border:0;background:transparent;text-align:left;cursor:pointer;display:grid;gap:.8rem}.v46-feature-card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#f2f2f2;border-radius:1rem}.v46-feature-card span{display:grid;gap:.2rem}.v46-feature-card small{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#6d7280}.v46-feature-card strong{font-size:1rem;color:#15171d}
.v46-featured-editorial .v46-feature-card img{aspect-ratio:3/4;border-radius:0}.v46-featured-luxury{background:#111113;color:#f6f1e8}.v46-featured-luxury .v46-feature-card strong,.v46-featured-luxury h2{color:#f6f1e8}.v46-featured-luxury .v46-feature-card small{color:#c9a96e}.v46-featured-luxury .v46-feature-card img{border-radius:0}.v46-featured-neon{background:#050911;color:#fff}.v46-featured-neon h2,.v46-featured-neon .v46-feature-card strong{color:#fff}.v46-featured-neon .v46-feature-card img{border:1px solid rgba(21,255,197,.32);border-radius:.35rem}.v46-featured-organic{background:#f3eee4;border-radius:2rem;margin-top:1rem}
.v46-story{max-width:1140px;margin:1.2rem auto 2.5rem;padding:clamp(2.3rem,5vw,4rem);display:grid;gap:.9rem;text-align:center}.v46-story h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(2rem,3.4vw,3.1rem);margin:0}.v46-story p:last-child{max-width:720px;margin:auto;color:#60636a;line-height:1.8}.v46-story-luxury{background:#111113;color:#f7efe1}.v46-story-luxury p:last-child{color:#d8d0c2}.v46-story-luxury .v35-eyebrow{color:#c9a96e}.v46-story-organic{background:#f4efe6;border-radius:2rem}
.v46-offers{margin:0 auto 2rem;max-width:1320px;border:3px solid #0b0b0c;padding:1.4rem clamp(1rem,3vw,2rem);display:flex;gap:2rem;align-items:center}.v46-offers h2{margin:.25rem 0 0;text-transform:uppercase;font-size:clamp(1.55rem,2.7vw,2.1rem)}.v46-offer-items{flex:1;display:flex;gap:.8rem;overflow:auto}.v46-offer-items .v36-mini-product{min-width:128px}
.v46-release{max-width:1320px;margin:auto;padding:1.8rem clamp(1rem,4vw,3rem);background:#050911;color:#fff;border-top:1px solid rgba(21,255,197,.4);border-bottom:1px solid rgba(21,255,197,.4)}.v46-release h2{margin:.25rem 0 1.25rem;color:#15ffc5;letter-spacing:-.04em}.v46-release>div{display:flex;gap:1rem;overflow:auto}.v46-release .v36-mini-product{background:#0b1221;border:1px solid rgba(21,255,197,.22);color:#fff}
.v46-contact-cta{max-width:1240px;margin:2.6rem auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1.6rem,4vw,2.6rem);border-radius:1.2rem;background:#f4f6f8}.v46-contact-cta h2{margin:.25rem 0 .4rem;letter-spacing:-.04em}.v46-contact-cta p:last-child{color:#646a72;margin:0}
.v35-template-modern_commerce_v1 .v35-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v35-template-editorial_atelier_v1 .v35-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v35-template-bold_retail_v1 .v35-product-card{border:2px solid #0b0b0c;border-radius:0}.v35-template-noir_luxury_v1{background:#0e0e10;color:#f6f1e8}.v35-template-noir_luxury_v1 .v35-header{background:#0e0e10;color:#fff;border-color:rgba(201,169,110,.25)}.v35-template-noir_luxury_v1 .v35-results h2,.v35-template-noir_luxury_v1 .v35-brand strong{color:#f6f1e8}.v35-template-noir_luxury_v1 .v35-product-card{background:#151519;color:#fff}.v35-template-noir_luxury_v1 .v35-product-card strong{color:#fff}.v35-template-neon_district_v1{background:#03060d;color:#ecfaff}.v35-template-neon_district_v1 .v35-header{background:#03060d;color:#fff;border-color:rgba(21,255,197,.22)}.v35-template-neon_district_v1 .v35-product-card{background:#08101e;color:#fff;border:1px solid rgba(21,255,197,.2)}.v35-template-neon_district_v1 .v35-product-card strong,.v35-template-neon_district_v1 .v35-results h2{color:#eefcff}.v35-template-terra_living_v1{background:#fbf8f1}.v35-template-terra_living_v1 .v35-product-card{background:#fff;border-radius:1.2rem}
@media(max-width:900px){.v46-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v46-offers,.v46-contact-cta{display:grid}.v35-template-modern_commerce_v1 .v35-product-grid,.v35-template-editorial_atelier_v1 .v35-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.v46-hero{min-height:64vh}.v46-hero-copy{padding:1.4rem}.v46-featured-grid{gap:.75rem}.v46-featured{padding:1.5rem .8rem}.v46-story{margin:0 .75rem 1.4rem;padding:1.8rem 1rem}.v46-announcement{justify-content:flex-start;overflow:hidden;white-space:nowrap}}


/* v46.2 — merchant-selected palette binding for imported designs */
.v35-template-modern_commerce_v1,.v35-template-editorial_atelier_v1,.v35-template-bold_retail_v1,.v35-template-noir_luxury_v1,.v35-template-neon_district_v1,.v35-template-terra_living_v1{--v46-primary:var(--store-primary,#145cff);--v46-secondary:var(--store-secondary,var(--store-primary,#145cff));--v46-accent:var(--store-accent,var(--store-primary,#145cff))}
.v35-template-modern_commerce_v1 .v46-hero-fill,.v35-template-editorial_atelier_v1 .v46-hero-fill,.v35-template-bold_retail_v1 .v46-hero-fill,.v35-template-terra_living_v1 .v46-hero-fill{background:linear-gradient(125deg,var(--v46-primary),var(--v46-secondary))}
.v35-template-modern_commerce_v1 .v35-primary-button,.v35-template-editorial_atelier_v1 .v35-primary-button,.v35-template-bold_retail_v1 .v35-primary-button,.v35-template-terra_living_v1 .v35-primary-button{background:var(--v46-primary);color:#fff}
.v35-template-modern_commerce_v1 .v46-announcement,.v35-template-terra_living_v1 .v46-announcement{background:var(--v46-primary)}
.v35-template-modern_commerce_v1 .v46-feature-card small,.v35-template-editorial_atelier_v1 .v46-feature-card small,.v35-template-terra_living_v1 .v46-feature-card small{color:var(--v46-primary)}
.v35-template-bold_retail_v1 .v46-announcement{background:var(--v46-accent);color:#111}.v35-template-bold_retail_v1 .v46-offers{border-color:var(--v46-primary)}.v35-template-bold_retail_v1 .v35-product-card{border-color:var(--v46-primary)}
.v35-template-noir_luxury_v1 .v46-hero-fill{background:linear-gradient(125deg,color-mix(in srgb,var(--v46-primary) 34%,#0e0e10),color-mix(in srgb,var(--v46-secondary) 28%,#151519))}.v35-template-noir_luxury_v1 .v35-eyebrow,.v35-template-noir_luxury_v1 .v46-feature-card small,.v35-template-noir_luxury_v1 .v46-story-luxury .v35-eyebrow{color:var(--v46-accent)}.v35-template-noir_luxury_v1 .v35-primary-button{background:var(--v46-accent);color:#0c0c0e}.v35-template-noir_luxury_v1 .v35-header{border-color:color-mix(in srgb,var(--v46-accent) 34%,transparent)}
.v35-template-neon_district_v1 .v46-hero-fill{background:linear-gradient(125deg,color-mix(in srgb,var(--v46-primary) 36%,#03060d),color-mix(in srgb,var(--v46-secondary) 30%,#08101e))}.v35-template-neon_district_v1 .v35-eyebrow,.v35-template-neon_district_v1 .v46-hero h1,.v35-template-neon_district_v1 .v46-release h2{color:var(--v46-accent);text-shadow:0 0 24px color-mix(in srgb,var(--v46-accent) 30%,transparent)}.v35-template-neon_district_v1 .v35-primary-button{background:var(--v46-accent);color:#02050b;box-shadow:0 0 20px color-mix(in srgb,var(--v46-accent) 34%,transparent)}.v35-template-neon_district_v1 .v46-feature-card img,.v35-template-neon_district_v1 .v35-product-card{border-color:color-mix(in srgb,var(--v46-accent) 35%,transparent)}
.v35-template-terra_living_v1 .v46-featured-organic,.v35-template-terra_living_v1 .v46-story-organic{background:color-mix(in srgb,var(--v46-accent) 10%,#fbf8f1)}

/* v47 local payment selection cards */
.v47-payment-option{display:flex;align-items:center;gap:.75rem}
.v47-payment-logo{width:48px;height:38px;object-fit:contain;border-radius:.65rem;background:#fff;padding:.32rem;flex:0 0 auto}


/* MiShop v47.2 merchant-controlled public social links */
.v472-social-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.v472-social-links a{display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:.45rem .8rem;color:inherit;text-decoration:none;font-size:.83rem;font-weight:700;transition:border-color .18s ease,transform .18s ease}
.v472-social-links a:hover{border-color:var(--store-accent);transform:translateY(-1px)}


/* v47.2.2 public merchant marketing surface */
.v472-campaign-showcase { display: grid; gap: 1rem; padding: clamp(.8rem,2vw,1.25rem) clamp(1rem,4vw,3rem); }
.v472-campaign-card { position: relative; min-height: clamp(220px,32vw,390px); overflow: hidden; border-radius: 1.35rem; background: color-mix(in srgb, var(--store-primary) 92%, #111); box-shadow: 0 12px 38px rgba(0,0,0,.13); }
.v472-campaign-image, .v472-campaign-fill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v472-campaign-fill { background: linear-gradient(120deg, var(--store-primary), var(--store-secondary)); }
.v472-campaign-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.46) 47%, rgba(0,0,0,.08) 100%); }
.v472-campaign-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .8rem; min-height: clamp(220px,32vw,390px); max-width: min(600px,82%); padding: clamp(1.25rem,5vw,3.4rem); color: #fff; }
.v472-campaign-eyebrow { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .86; }
.v472-campaign-copy h2 { margin: 0; font-size: clamp(1.65rem,3.4vw,3.05rem); line-height: 1.05; color: #fff; }
.v472-campaign-copy p:not(.v472-campaign-eyebrow) { margin: 0 0 .35rem; max-width: 43rem; color: rgba(255,255,255,.84); line-height: 1.55; }
.v472-campaign-copy .v35-primary-button { background: var(--store-accent, #fff); border-color: transparent; color: #fff; }
.v472-social-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.v472-social-links a { display: inline-flex; padding: .4rem .75rem; border-radius: 999px; border: 1px solid rgba(127,127,127,.22); text-decoration: none; font-size: .85rem; }
@media (min-width: 900px) { .v472-campaign-showcase:has(.v472-campaign-card + .v472-campaign-card) { grid-template-columns: repeat(2, minmax(0,1fr)); } .v472-campaign-showcase:has(.v472-campaign-card + .v472-campaign-card) .v472-campaign-card, .v472-campaign-showcase:has(.v472-campaign-card + .v472-campaign-card) .v472-campaign-copy { min-height: 300px; } }
@media (max-width: 640px) { .v472-campaign-card::after { background: linear-gradient(0deg, rgba(0,0,0,.76), rgba(0,0,0,.16)); } .v472-campaign-copy { justify-content: flex-end; max-width: 100%; padding: 1.2rem; } }

/* MiShop v47.2.3 promotion placement and dismissible popup controls */
.v472-campaign-showcase[data-promotion-placement="TOP_BANNER"] { padding-top: clamp(.65rem,1.4vw,1rem); padding-bottom: clamp(.65rem,1.4vw,1rem); }
.v472-campaign-showcase[data-promotion-placement="AFTER_HERO"] { margin-top: clamp(.4rem,1.2vw,1rem); }
.v472-campaign-showcase[data-promotion-placement="BEFORE_PRODUCTS"] { margin-top: clamp(.3rem,1vw,.8rem); margin-bottom: clamp(.4rem,1.2vw,1rem); }
.v472-campaign-showcase[data-promotion-placement="BOTTOM_OF_SHOP"] { margin: clamp(1rem,3vw,2.5rem) 0; }
.v472-promo-popup[hidden] { display: none; }
.v472-promo-popup { position: fixed; inset: 0; z-index: 160; display: grid; place-items: center; padding: 1rem; background: rgba(2,6,23,.66); backdrop-filter: blur(4px); }
.v472-promo-popup-panel { position: relative; width: min(780px,100%); animation: v472PopupIn .22s ease-out; }
.v472-promo-popup-panel .v472-campaign-card { min-height: clamp(300px,53vw,470px); }
.v472-promo-close { position: absolute; z-index: 4; right: .75rem; top: .75rem; width: 2.45rem; height: 2.45rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(15,23,42,.62); color: #fff; font-size: 1.55rem; line-height: 1; cursor: pointer; }
.v472-promo-close:hover { background: rgba(15,23,42,.9); }
@keyframes v472PopupIn { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width:640px) { .v472-promo-popup { align-items: end; padding: .7rem; } .v472-promo-popup-panel .v472-campaign-card { min-height: min(70vh,520px); } }

/* v47.5 Assisted delivery and fulfilment choices */
.v475-fulfilment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.v475-mode{min-height:74px}
.v475-location-help{margin:0 0 10px}
.v475-location-status{margin:10px 0;padding:11px 13px;border-radius:14px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);color:#b45309;font-size:13px;font-weight:600}
.v475-location-status.confirmed{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.25);color:#047857}
#v475-pickup-message{margin:16px 0}
@media(max-width:640px){.v475-fulfilment-options{grid-template-columns:1fr}}

/* v47.6 Verified pickup branches and plain-language checkout */
#v476-pickup-branches { margin-top: .85rem; display: grid; gap: .65rem; }
.v476-pickup-branch { background: rgba(255,255,255,.62); border: 1px solid rgba(15,23,42,.10); }
.v476-pickup-branch span { display: grid; gap: .2rem; }
.v476-pickup-branch small { color: var(--muted, #64748b); }
#v475-pickup-message > p { margin: 0 0 .7rem; font-size: .92rem; line-height: 1.5; }

/* v47.9.1 Product option selection */
.v479-product-options{margin:18px 0;padding:16px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.v479-product-options h3{margin:0 0 4px;font-size:1rem;color:#0f172a}
.v479-product-options p{margin:0 0 12px;color:#64748b;font-size:.88rem}
.v479-option-group{margin:12px 0}
.v479-option-group label{display:block;margin-bottom:8px;font-weight:700;color:#111827;font-size:.9rem}
.v479-option-choices{display:flex;flex-wrap:wrap;gap:8px}
.v479-option-choice{border:1px solid rgba(15,23,42,.16);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;font-size:.86rem;color:#0f172a;cursor:pointer;transition:.16s ease}
.v479-option-choice:hover,.v479-option-choice.selected{border-color:#111827;background:#111827;color:#fff;transform:translateY(-1px)}
.v479-option-status{display:block;margin-top:10px;color:#64748b;font-weight:600}
.v479-cart-options{display:block;margin-top:4px;color:#64748b;font-size:.78rem;font-weight:600}
/* v47.9 — real variant stock availability */
.v479-option-choice.unavailable,.v479-option-choice:disabled{opacity:.42;cursor:not-allowed;background:#f1f5f9!important;color:#64748b!important;border-color:#cbd5e1!important;transform:none!important;text-decoration:line-through}
.v479-option-choice.unavailable:hover,.v479-option-choice:disabled:hover{background:#f1f5f9!important;color:#64748b!important;transform:none!important}
.v479-option-status{line-height:1.45}


.v479-option-field{display:block;margin:12px 0;color:#111827;font-weight:700;font-size:.9rem}
.v479-option-field span{display:block;margin-bottom:8px}
.v479-option-select{width:100%;min-height:42px;border:1px solid rgba(15,23,42,.16);border-radius:14px;background:#fff;color:#0f172a;padding:8px 12px;font-weight:650}
.v35-card-specs{display:none!important}

/* === MiShop v47.9.4 — Premium product detail UI polish === */
.v35-store #v35-product-modal {
  padding: clamp(10px, 2vw, 22px);
}
.v35-store #v35-product-modal .v35-modal-backdrop {
  background: rgba(15, 23, 42, .76);
  backdrop-filter: blur(10px) saturate(115%);
}
.v35-store #v35-product-modal .v35-modal-panel {
  width: min(1180px, calc(100vw - 28px));
  max-height: min(94vh, 900px);
  border-radius: clamp(24px, 3vw, 40px);
  padding: clamp(22px, 3.4vw, 44px);
  border: 1px solid rgba(226, 232, 240, .92);
  background:
    radial-gradient(circle at 22% 4%, rgba(248, 250, 252, .98), rgba(255,255,255,.98) 38%, rgba(248,250,252,.96) 100%);
  box-shadow: 0 38px 100px rgba(2, 6, 23, .34);
}
.v35-store #v35-product-modal .v35-modal-close,
.v35-store .cart-close,
.v35-store .v35-customer-panel .v35-modal-close {
  display: inline-grid;
  place-items: center;
  font-size: 0 !important;
  line-height: 1;
  color: #0f172a;
  border: 1px solid rgba(203, 213, 225, .92);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 25px rgba(15,23,42,.08);
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.v35-store #v35-product-modal .v35-modal-close::before,
.v35-store .cart-close::before,
.v35-store .v35-customer-panel .v35-modal-close::before {
  content: "×";
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-1px);
}
.v35-store #v35-product-modal .v35-modal-close:hover,
.v35-store .cart-close:hover,
.v35-store .v35-customer-panel .v35-modal-close:hover {
  transform: translateY(-1px) scale(1.02);
  border-color: rgba(15, 23, 42, .28);
  background: #fff;
}
.v35-store #v35-product-modal .v35-detail {
  grid-template-columns: minmax(320px, .95fr) minmax(360px, .9fr);
  gap: clamp(26px, 5vw, 68px);
  align-items: center;
}
.v35-store #v35-product-modal .v35-detail-gallery {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.v35-store #v35-product-modal .v35-detail-main {
  width: 100%;
  max-height: min(69vh, 690px);
  aspect-ratio: 1 / 1.06;
  object-fit: contain;
  border-radius: 28px;
  background: linear-gradient(145deg, #f8fafc, #fff);
  box-shadow: inset 0 0 0 1px rgba(226,232,240,.72);
  padding: clamp(6px, 1vw, 14px);
}
.v35-store #v35-product-modal .v35-thumbs {
  gap: 14px;
  margin-top: 18px;
  padding: 2px;
}
.v35-store #v35-product-modal .v35-thumbs button {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  border: 1px solid rgba(203,213,225,.86);
  background: #fff;
  padding: 5px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.v35-store #v35-product-modal .v35-thumbs button:hover {
  transform: translateY(-2px);
  border-color: rgba(15,23,42,.35);
}
.v35-store #v35-product-modal .v35-thumbs img {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  object-fit: cover;
}
.v35-store #v35-product-modal .v35-detail-copy {
  justify-content: flex-start;
  padding: clamp(10px, 2vw, 22px) 0;
}
.v35-store #v35-product-modal .v35-detail-copy .v35-eyebrow {
  color: #e11d48;
  letter-spacing: .32em;
  font-size: 12px;
  margin-bottom: 18px;
}
.v35-store #v35-product-modal .v35-detail-copy h2 {
  color: #0f172a;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .98;
  letter-spacing: -.06em;
  margin-bottom: 18px;
}
.v35-store #v35-product-modal .v35-rating {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 2px 0 16px;
  color: #f59e0b;
}
.v35-store #v35-product-modal .v35-rating span {
  font-size: 19px;
  letter-spacing: 2px;
}
.v35-store #v35-product-modal .v35-rating small {
  color: #64748b;
  font-size: 16px;
}
.v35-store #v35-product-modal .v35-price {
  margin: 0 0 18px;
  padding-top: 0;
}
.v35-store #v35-product-modal .v35-price strong {
  font-size: clamp(30px, 3.8vw, 44px);
  color: #0f172a;
  letter-spacing: -.055em;
}
.v35-store #v35-product-modal .v35-detail-description {
  color: #475569;
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 22px;
}
.v35-store #v35-product-modal .v35-detail-copy > hr,
.v35-store #v35-product-modal .v35-detail-copy::after {
  border-color: rgba(226, 232, 240, .88);
}
.v35-store #v35-product-modal .v35-stock {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin: 18px 0 18px;
  color: #059669;
  font-size: 18px;
  font-weight: 800;
}
.v35-store #v35-product-modal .v35-stock::before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: #059669;
  border: 3px solid #10b981;
  font-size: 16px;
  font-weight: 900;
}
.v35-store #v35-product-modal .v479-product-options {
  margin: 18px 0 26px;
  padding: clamp(18px, 2.5vw, 28px);
  border-radius: 22px;
  border: 1px solid rgba(203, 213, 225, .9);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}
.v35-store #v35-product-modal .v479-product-options h3 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: clamp(20px, 2.5vw, 28px);
  line-height: 1.12;
  letter-spacing: -.04em;
}
.v35-store #v35-product-modal .v479-product-options p {
  margin: 0 0 18px;
  color: #64748b;
  font-size: 15px;
}
.v35-store #v35-product-modal .v479-option-group { margin: 18px 0 0; }
.v35-store #v35-product-modal .v479-option-group label {
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
  margin-bottom: 12px;
}
.v35-store #v35-product-modal .v479-option-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}
.v35-store #v35-product-modal .v479-option-choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid rgba(203, 213, 225, .95);
  background: #fff;
  color: #0f172a;
  font-weight: 800;
  font-size: 15px;
  box-shadow: 0 8px 20px rgba(15,23,42,.045);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}
.v35-store #v35-product-modal .v479-option-choice::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  background: #fff;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.7);
}
.v35-store #v35-product-modal .v479-option-choice[data-label="Black"]::before { background: #0f172a; border-color: #0f172a; }
.v35-store #v35-product-modal .v479-option-choice[data-label="Brown"]::before { background: #92400e; border-color: #92400e; }
.v35-store #v35-product-modal .v479-option-choice[data-label="White"]::before { background: #fff; border-color: #cbd5e1; }
.v35-store #v35-product-modal .v479-option-choice:hover {
  transform: translateY(-2px);
  border-color: rgba(15,23,42,.38);
  box-shadow: 0 15px 30px rgba(15,23,42,.08);
}
.v35-store #v35-product-modal .v479-option-choice.selected {
  background: #0f172a;
  color: #fff;
  border-color: #ef4444;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(239,68,68,.95), 0 18px 34px rgba(15,23,42,.14);
  transform: translateY(-1px);
}
.v35-store #v35-product-modal .v479-option-choice.selected::after {
  content: "✓";
  position: absolute;
  right: -9px;
  top: -10px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 15px;
  border: 3px solid #fff;
  box-shadow: 0 8px 18px rgba(239,68,68,.28);
}
.v35-store #v35-product-modal .v479-option-choice.unavailable,
.v35-store #v35-product-modal .v479-option-choice:disabled {
  opacity: .46;
  cursor: not-allowed;
  background: #f8fafc !important;
  color: #64748b !important;
  border-color: #cbd5e1 !important;
  transform: none !important;
  text-decoration: none;
}
.v35-store #v35-product-modal .v479-option-choice.unavailable::before,
.v35-store #v35-product-modal .v479-option-choice:disabled::before {
  background: repeating-linear-gradient(-45deg, #e2e8f0 0 4px, #f8fafc 4px 8px);
  border-color: #cbd5e1;
}
.v35-store #v35-product-modal .v479-option-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e2e8f0;
  color: #475569;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.45;
}
.v35-store #v35-product-modal .v479-option-status::before {
  content: "□";
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  color: #10b981;
  border: 2px solid rgba(16,185,129,.5);
  font-size: 14px;
}
.v35-store #v35-product-modal .v35-modal-add {
  width: 100%;
  min-height: 74px;
  margin-top: 6px;
  border: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 58%, #b91c1c 100%) !important;
  color: #fff !important;
  font-size: clamp(16px, 2vw, 19px);
  font-weight: 900;
  letter-spacing: -.015em;
  box-shadow: 0 22px 45px rgba(220,38,38,.26);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.v35-store #v35-product-modal .v35-modal-add svg {
  width: 32px;
  height: 32px;
}
.v35-store #v35-product-modal .v35-modal-add:hover {
  transform: translateY(-2px);
  filter: saturate(108%);
  box-shadow: 0 28px 58px rgba(220,38,38,.32);
}
.v35-store #v35-product-modal .v35-modal-add:disabled,
.v35-store #v35-product-modal .v35-modal-add[aria-disabled="true"] {
  opacity: .56;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
@media (max-width: 900px) {
  .v35-store #v35-product-modal .v35-detail { display: block; }
  .v35-store #v35-product-modal .v35-detail-main { max-height: 54vh; }
  .v35-store #v35-product-modal .v35-detail-copy h2 { font-size: clamp(30px, 9vw, 44px); }
  .v35-store #v35-product-modal .v35-modal-add { min-height: 62px; }
}
@media (max-width: 560px) {
  .v35-store #v35-product-modal { padding: 0; align-items: end; }
  .v35-store #v35-product-modal .v35-modal-panel {
    width: 100%;
    max-height: 96vh;
    border-radius: 28px 28px 0 0;
    padding: 18px;
  }
  .v35-store #v35-product-modal .v479-option-choice { min-height: 44px; padding: 10px 15px; font-size: 14px; }
  .v35-store #v35-product-modal .v35-thumbs button { width: 60px; height: 60px; }
}
/* === end MiShop v47.9.4 === */

/* v48.0A negotiation panel */
.v480-negotiation{margin:18px 0;padding:18px;border:1px solid rgba(245,158,11,.22);border-radius:24px;background:linear-gradient(180deg,rgba(255,251,235,.9),rgba(255,255,255,.95));box-shadow:0 14px 35px rgba(15,23,42,.08)}
.v480-negotiation h3{margin:0 0 6px;font-size:17px;color:#111827}.v480-negotiation p{margin:0;color:#6b7280;font-size:13px;line-height:1.5}.v480-negotiation-form{display:grid;grid-template-columns:minmax(110px,.8fr) 1.2fr auto;gap:10px;margin-top:14px}.v480-negotiation-form input{min-height:44px;border:1px solid #e5e7eb;border-radius:16px;padding:0 12px;background:white}.v480-negotiation-form button{min-height:44px;border:0;border-radius:16px;background:#111827;color:white;font-weight:800;padding:0 18px}.v480-negotiation-status{display:block;margin-top:10px;font-size:13px;color:#6b7280}.v480-negotiation-status.ok{color:#047857}.v480-negotiation-status.error{color:#b91c1c}@media(max-width:720px){.v480-negotiation-form{grid-template-columns:1fr}.v480-negotiation-form button{width:100%}}

/* v48.0B shared cart */
.v480b-shared-cart{margin:16px 0 4px}.v480b-shared-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border:1px solid rgba(59,130,246,.16);border-radius:22px;background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(255,255,255,.98));box-shadow:0 14px 35px rgba(15,23,42,.06)}.v480b-shared-card strong{display:block;color:#0f172a;font-size:15px}.v480b-shared-card p{margin:4px 0 0;color:#64748b;font-size:13px;line-height:1.45}.v480b-shared-card small{display:block;margin-top:9px;color:#64748b;font-size:12px}.v480b-shared-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v480b-shared-actions button{border:0;border-radius:999px;background:#111827;color:#fff;font-weight:800;padding:10px 14px;cursor:pointer}.v480b-shared-actions button.secondary{background:#fff;color:#111827;border:1px solid #dbeafe}.v480b-shared-actions button:disabled{opacity:.45;cursor:not-allowed}.v480b-link{color:#1d4ed8!important}.v480b-invite-banner{position:fixed;left:50%;bottom:28px;z-index:125;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:min(92vw,620px);padding:14px 16px;border-radius:22px;background:#111827;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.28);font:600 13px system-ui}.v480b-invite-banner strong{font-weight:900}.v480b-invite-banner span{opacity:.82}.v480b-invite-banner button{border:0;border-radius:999px;background:#fff;color:#111827;font-weight:900;padding:9px 12px}@media(max-width:720px){.v480b-shared-card{display:block}.v480b-shared-actions{justify-content:flex-start;margin-top:12px}.v480b-invite-banner{display:block;text-align:left}.v480b-invite-banner button{margin-top:10px;width:100%}}
/* end v48.0B shared cart */


/* === MiShop v48.0B.2 — checkout/account layering and shared-cart UI polish === */
.v35-store .cart-drawer {
  z-index: 900;
  background: rgba(15, 23, 42, .72);
  backdrop-filter: blur(8px);
}
.v35-store .cart-panel {
  position: relative;
  z-index: 901;
  width: min(520px, 100%);
  padding: 28px 28px 34px;
  border-left: 1px solid rgba(226, 232, 240, .9);
  box-shadow: -28px 0 90px rgba(15, 23, 42, .22);
}
.v35-store .v35-modal {
  z-index: 1300;
}
.v35-store .v35-modal-backdrop {
  background: rgba(15, 23, 42, .74);
  backdrop-filter: blur(10px);
}
.v35-store .v35-customer-panel {
  width: min(560px, calc(100vw - 32px));
  border-radius: 30px;
  border: 1px solid rgba(226, 232, 240, .9);
  box-shadow: 0 38px 120px rgba(15, 23, 42, .35);
}
.v35-store .v35-customer-panel h2 {
  font-size: clamp(28px, 4vw, 36px);
  line-height: 1.03;
}
.v35-store .cart-close,
.v35-store .v35-customer-panel .v35-modal-close {
  display: grid;
  place-items: center;
  float: none;
  position: absolute;
  right: 22px;
  top: 22px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(203, 213, 225, .9);
  background: rgba(255, 255, 255, .96);
  color: #0f172a;
  font-size: 0;
  box-shadow: 0 18px 45px rgba(15,23,42,.10);
}
.v35-store .cart-close::before,
.v35-store .v35-customer-panel .v35-modal-close::before {
  content: "×";
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
}
.v35-store .cart-panel h2 {
  font-size: clamp(28px, 3vw, 34px);
  letter-spacing: -.06em;
  color: #0f172a;
  margin: 0 58px 16px 0;
}
.v35-store .checkout-trust {
  margin: 8px 0 22px;
  gap: 8px;
}
.v35-store .checkout-trust span {
  background: #fff;
  color: #475569;
  border-color: #e2e8f0;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}
.v35-store #cart-lines {
  margin: 8px 0 18px;
  border-block: 1px solid #e5e7eb;
}
.v35-store .cart-line {
  align-items: flex-start;
  padding: 15px 0;
  color: #0f172a;
}
.v35-store .cart-line > span:first-child,
.v35-store .cart-line > div:first-child {
  min-width: 0;
}
.v35-store .cart-line strong,
.v35-store .cart-line b {
  color: #0f172a;
}
.v35-store .cart-line small,
.v35-store .v479-cart-options {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}
.v35-store .cart-line.total {
  padding-top: 18px;
  font-size: 19px;
  color: #0f172a;
}
.v35-store .v40-checkout-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 18px;
}
.v35-store .v40-checkout-steps button,
.v35-store .v40-step-marker {
  min-height: 40px;
  border-radius: 999px;
  border: 0;
  background: #f1f5f9;
  color: #475569;
  font-weight: 800;
  font-size: 12px;
}
.v35-store .v40-checkout-steps button.active,
.v35-store .v40-step-marker.active {
  background: #dc2626;
  color: #fff;
}
.v35-store .v40-checkout-step h3 {
  color: #0f172a;
  font-size: 20px;
  letter-spacing: -.035em;
}
.v35-store .v40-checkout-form input,
.v35-store .v40-checkout-form select,
.v35-store .v40-checkout-form textarea,
.v35-store #checkout-form input,
.v35-store #checkout-form select,
.v35-store #checkout-form textarea {
  border-radius: 16px;
  border: 1px solid #dbe4ef;
  background: #fff;
  color: #0f172a;
}
.v35-store #checkout-form button,
.v35-store .v40-checkout-form button {
  border-radius: 999px;
  font-weight: 900;
}
.v35-store .v480b-shared-cart {
  margin: 20px 0 14px;
}
.v35-store .v480b-shared-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(203, 213, 225, .85);
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 50px rgba(15, 23, 42, .07);
}
.v35-store .v480b-shared-kicker {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v35-store .v480b-shared-card strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  letter-spacing: -.035em;
}
.v35-store .v480b-shared-card p {
  max-width: 310px;
  margin: 6px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}
.v35-store .v480b-shared-card small {
  margin-top: 10px;
  color: #64748b;
  line-height: 1.45;
}
.v35-store .v480b-shared-actions {
  justify-content: flex-end;
  min-width: 150px;
}
.v35-store .v480b-shared-actions button {
  min-width: 138px;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 16px;
  background: #0f172a;
  color: #fff;
  font-size: 13px;
  line-height: 1.15;
  white-space: nowrap;
  box-shadow: 0 16px 32px rgba(15, 23, 42, .18);
}
.v35-store .v480b-shared-actions button.secondary {
  background: #fff;
  color: #0f172a;
  border: 1px solid #dbeafe;
  box-shadow: 0 10px 24px rgba(15,23,42,.07);
}
.v35-store .v480b-invite-banner {
  z-index: 1350;
  border-radius: 18px;
}
.v35-store #v35-toast,
#v35-toast {
  z-index: 1400 !important;
}
@media (max-width: 720px) {
  .v35-store .cart-panel {
    width: 100%;
    max-height: 94vh;
    padding: 24px 18px 30px;
  }
  .v35-store .v480b-shared-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .v35-store .v480b-shared-actions {
    width: 100%;
    justify-content: stretch;
  }
  .v35-store .v480b-shared-actions button {
    width: 100%;
  }
}
/* === end MiShop v48.0B.2 === */

/* === MiShop v48.0B.3 — cart item management and product preview === */
.v35-store #cart-lines{
  display:grid;
  gap:12px;
  border-block:1px solid #eef2f7;
  padding:14px 0;
}
.v35-store .v480b3-empty-cart{
  display:grid;
  gap:5px;
  padding:22px 4px;
  color:#64748b;
}
.v35-store .v480b3-empty-cart strong{color:#0f172a;font-size:15px}
.v35-store .cart-line.v480b3-cart-item{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:12px;
  border:1px solid #e8eef7;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.v35-store .v480b3-thumb{
  width:68px;
  height:68px;
  border:1px solid #e5eaf3;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fafc,#fff);
  overflow:hidden;
  padding:0;
  cursor:pointer;
  display:grid;
  place-items:center;
  color:#0f172a;
  font-weight:900;
}
.v35-store .v480b3-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.v35-store .v480b3-cart-main{
  min-width:0;
  display:grid;
  gap:8px;
}
.v35-store .v480b3-cart-name{
  appearance:none;
  border:0;
  background:transparent;
  color:#0f172a;
  font:800 14px/1.25 system-ui,-apple-system,Segoe UI,sans-serif;
  text-align:left;
  padding:0;
  cursor:pointer;
}
.v35-store .v480b3-cart-name:hover{text-decoration:underline;text-underline-offset:3px}
.v35-store .v480b3-cart-options{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.v35-store .v480b3-cart-options span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#475569;
  font-size:11px;
  font-weight:700;
}
.v35-store .v480b3-cart-options b{color:#0f172a;font-weight:900}
.v35-store .v480b3-added-by{color:#64748b;font-size:11px;font-weight:700}
.v35-store .v480b3-cart-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:2px;
}
.v35-store .v480b3-cart-actions button{
  border:1px solid #e2e8f0;
  background:#fff;
  color:#0f172a;
  min-width:30px;
  height:30px;
  border-radius:999px;
  padding:0 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.v35-store .v480b3-cart-actions span{
  min-width:28px;
  text-align:center;
  font-weight:900;
  color:#0f172a;
}
.v35-store .v480b3-cart-actions .v480b3-view{
  color:#1d4ed8;
  border-color:#bfdbfe;
  background:#eff6ff;
}
.v35-store .v480b3-cart-actions .v480b3-remove{
  color:#b91c1c;
  border-color:#fecaca;
  background:#fff7f7;
}
.v35-store .v480b3-line-money{
  display:grid;
  justify-items:end;
  gap:3px;
  white-space:nowrap;
}
.v35-store .v480b3-line-money strong{color:#0f172a;font-size:14px;font-weight:900}
.v35-store .v480b3-line-money small{color:#64748b;font-size:11px;font-weight:700}
.v35-store .cart-line.total.v480b3-cart-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 4px 4px;
  border-top:1px solid #e5e7eb;
  font-size:17px;
  font-weight:900;
}
@media(max-width:640px){
  .v35-store .cart-line.v480b3-cart-item{grid-template-columns:58px minmax(0,1fr);}
  .v35-store .v480b3-thumb{width:58px;height:58px;border-radius:14px;}
  .v35-store .v480b3-line-money{grid-column:2;justify-items:start;}
  .v35-store .v480b3-cart-actions button{height:32px;}
}

/* === MiShop v48.0B.4 — mobile marketplace cart card UI polish === */
.v35-store .cart-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.v35-store #cart-lines{
  gap:12px;
  border-block:0;
  padding:12px 0 16px;
}
.v35-store .v480b4-shop-group{
  display:grid;
  gap:10px;
}
.v35-store .v480b4-shop-group > header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.v35-store .v480b4-shop-group > header label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#0f172a;
  font-weight:900;
  font-size:13px;
}
.v35-store .v480b4-shop-group > header input,
.v35-store .v480b4-select input{
  accent-color:var(--store-primary,#e11d48);
}
.v35-store .v480b4-shop-group > header small{
  color:#64748b;
  font-weight:800;
  font-size:12px;
}
.v35-store .cart-line.v480b4-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:24px 74px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px;
  border:1px solid #e4eaf3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
.v35-store .v480b4-select{
  display:grid;
  place-items:center;
  min-height:74px;
}
.v35-store .v480b4-select input{
  width:16px;
  height:16px;
}
.v35-store .v480b4-thumb{
  width:74px;
  height:74px;
  border-radius:16px;
  border:1px solid #dbe5f0;
  background:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}
.v35-store .v480b4-thumb img{
  object-fit:cover;
}
.v35-store .v480b4-cart-main{
  min-width:0;
  display:grid;
  gap:7px;
}
.v35-store .v480b4-row-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}
.v35-store .v480b4-row-top strong{
  color:#0f172a;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}
.v35-store .v480b4-cart-name{
  color:#0f172a;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
  max-width:100%;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.v35-store .v480b4-storeline{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  color:#64748b;
  font-size:11px;
  font-weight:750;
}
.v35-store .v480b4-storeline b{
  color:#334155;
  font-weight:900;
}
.v35-store .v480b4-muted{
  color:#64748b;
  font-weight:700;
}
.v35-store .v480b4-store-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#16a34a;
  box-shadow:0 0 0 3px rgba(22,163,74,.12);
}
.v35-store .v480b4-cart-options{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.v35-store .v480b4-cart-options span{
  border-radius:9px;
  padding:4px 7px;
  font-size:10.5px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  color:#475569;
}
.v35-store .v480b4-cart-actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  margin-top:1px;
}
.v35-store .v480b4-cart-actions button{
  min-width:28px;
  height:28px;
  border-radius:999px;
  padding:0 9px;
  font-size:11px;
  font-weight:900;
}
.v35-store .v480b4-step{
  background:#f8fafc!important;
  border-color:#dbe4ef!important;
  color:#0f172a!important;
}
.v35-store .v480b4-qty{
  min-width:26px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:12px;
  font-weight:950;
}
.v35-store .v480b4-view{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}
.v35-store .v480b4-remove{
  margin-left:auto;
  background:#fff7f7!important;
  border-color:#fecaca!important;
  color:#b91c1c!important;
}
.v35-store .v480b4-unit{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.v35-store .cart-line.total.v480b4-cart-total{
  position:sticky;
  bottom:0;
  z-index:6;
  margin-top:4px;
  padding:14px 16px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  box-shadow:0 -10px 30px rgba(15,23,42,.08),0 12px 30px rgba(15,23,42,.06);
}
.v35-store .v480b4-cart-total div{
  display:grid;
  gap:1px;
}
.v35-store .v480b4-cart-total span{
  color:#64748b;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.v35-store .v480b4-cart-total small{
  color:#94a3b8;
  font-size:11px;
  font-weight:800;
}
.v35-store .v480b4-cart-total strong{
  color:#0f172a;
  font-size:18px;
  font-weight:950;
}
.v35-store #checkout-form{
  margin-top:12px;
  border-top:1px solid #e2e8f0;
  padding-top:14px;
}
.v35-store .v480b4-empty-cart{
  border:1px dashed #cbd5e1;
  border-radius:20px;
  background:#fff;
  text-align:center;
  padding:26px 16px;
}
@media(max-width:640px){
  .v35-store .cart-panel{
    width:100%;
    border-radius:24px 24px 0 0;
  }
  .v35-store .cart-line.v480b4-cart-item{
    grid-template-columns:22px 68px minmax(0,1fr);
    gap:8px;
    padding:9px;
    border-radius:16px;
  }
  .v35-store .v480b4-thumb{width:68px;height:68px;border-radius:14px;}
  .v35-store .v480b4-select{min-height:68px;}
  .v35-store .v480b4-row-top{gap:8px;}
  .v35-store .v480b4-cart-name{font-size:12.5px;}
  .v35-store .v480b4-row-top strong{font-size:13px;}
  .v35-store .v480b4-cart-actions .v480b4-view{display:none;}
}
/* === end v48.0B.4 cart UI polish === */
