/* Shopify-inspired section system */
:root {
  --cms-color-text: #1f2937;
  --cms-color-text-muted: #6b7280;
  --cms-color-bg: #ffffff;
  --cms-color-bg-subtle: #f9fafb;
  --cms-color-border: #e5e7eb;
  --cms-color-primary: #1a56db;
  --cms-color-primary-hover: #1e40af;
  --cms-radius: 12px;
  --cms-radius-sm: 8px;
  --cms-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --cms-shadow-md: 0 8px 24px rgba(15,23,42,.08);
  --cms-max: 1100px;
  --cms-section-y: 3.5rem;
  --cms-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.cms-body {
  margin: 0;
  font-family: var(--cms-font);
  color: var(--cms-color-text);
  background: var(--cms-color-bg);
  line-height: 1.65;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
a { color: var(--cms-color-primary); text-decoration: none; }
a:hover { color: var(--cms-color-primary-hover); }

/* Lang bar */
.cms-lang-bar {
  background: #0f172a;
  color: #94a3b8;
  font-size: 0.8rem;
  padding: 0.4rem 1.25rem;
  display: flex;
  justify-content: flex-end;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.cms-lang-bar a {
  color: #cbd5e1;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  text-decoration: none;
}
.cms-lang-bar a:hover, .cms-lang-bar a.active { background: #1e293b; color: #fff; }

/* Site header / footer slots */
.cms-site-header { border-bottom: 1px solid var(--cms-color-border); background: #fff; }
.cms-site-footer { margin-top: auto; border-top: 1px solid var(--cms-color-border); background: #0f172a; color: #94a3b8; }
.cms-main { flex: 1; width: 100%; }

/* Sections (Shopify-like) */
.cms-section {
  padding: var(--cms-section-y) 1.25rem;
}
.cms-section--flush { padding-left: 0; padding-right: 0; }
.cms-section__inner {
  max-width: var(--cms-max);
  margin: 0 auto;
}
.cms-section__title {
  text-align: center;
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  font-weight: 700;
  margin: 0 0 1.5rem;
  letter-spacing: -0.02em;
}
.cms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
}
.cms-card {
  background: var(--cms-color-bg-subtle);
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  padding: 1.35rem;
  box-shadow: var(--cms-shadow);
  transition: box-shadow .2s, transform .2s;
}
.cms-card:hover { box-shadow: var(--cms-shadow-md); transform: translateY(-2px); }
.cms-card h3 { margin: 0 0 0.5rem; font-size: 1.05rem; }
.cms-card p { margin: 0; color: var(--cms-color-text-muted); font-size: 0.95rem; }

/* Nav */
.cms-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem 1.5rem;
  background: #fff;
  max-width: var(--cms-max);
  margin: 0 auto;
  gap: 1rem;
  flex-wrap: wrap;
}
.cms-nav strong { font-size: 1.1rem; color: var(--cms-color-text); }
.cms-nav-links { display: flex; flex-wrap: wrap; gap: 0.25rem 1.1rem; }
.cms-nav-links a {
  color: var(--cms-color-text);
  font-size: 0.95rem;
  text-decoration: none;
  font-weight: 500;
}
.cms-nav-links a:hover { color: var(--cms-color-primary); }

/* Hero */
.cms-hero {
  padding: 4.5rem 1.5rem;
  text-align: center;
}
.cms-hero h1 {
  font-size: clamp(1.9rem, 4.5vw, 2.9rem);
  margin: 0 0 0.75rem;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.cms-hero p {
  opacity: 0.92;
  margin: 0 auto 1.35rem;
  font-size: 1.1rem;
  max-width: 36rem;
}
.cms-btn {
  display: inline-block;
  background: var(--cms-color-primary);
  color: #fff !important;
  padding: 0.7rem 1.4rem;
  border-radius: var(--cms-btn-radius, 8px);
  min-height: var(--cms-btn-height, 46px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, transform .15s;
}
.cms-btn:hover { background: var(--cms-color-primary-hover); transform: translateY(-1px); }
.cms-btn--light { background: #fff; color: var(--cms-color-primary) !important; }
.cms-btn--outline {
  background: transparent;
  color: var(--cms-color-primary) !important;
  border: 1.5px solid var(--cms-color-primary);
}

/* Products */
.cms-product {
  background: #fff;
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-card-radius, var(--cms-radius));
  padding: 1rem;
  text-align: center;
  box-shadow: var(--cms-shadow);
}
.cms-product img { display: block; margin: 0 auto 0.75rem; max-width: 100%; }
.cms-product h3 { margin: 0 0 0.35rem; font-size: 1rem; }
.cms-product p { color: var(--cms-color-text-muted); font-size: 0.9rem; margin: 0 0 0.5rem; }
.cms-product span { font-weight: 700; color: var(--cms-color-primary); }

/* Footer block */
.cms-footer {
  text-align: center;
  padding: 2rem 1.25rem;
  background: #0f172a;
  color: #94a3b8;
  font-size: 0.9rem;
}

/* Form */
.cms-form-section { padding: var(--cms-section-y) 1.25rem; }
.cms-form {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-sizing: border-box;
}
.cms-form input, .cms-form textarea, .cms-form select {
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--cms-color-border);
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  width: var(--cms-input-w, 100%);
  max-width: 100%;
  box-sizing: border-box;
}
.cms-form button { display:inline-flex;align-items:center;justify-content:center;min-height:var(--cms-btn-height,46px);background:var(--cms-color-primary);color:#fff;padding:.75rem 1.25rem;border:none;border-radius:var(--cms-btn-radius,8px);cursor:pointer;font:600 1rem/1 var(--cms-font);transition:background .15s,transform .15s; }
.cms-form button:hover{background:var(--cms-color-primary-hover);transform:translateY(-1px)}

/* Isolated: 组件自带样式，减少对全站 section 间距的依赖，但保留自身结构 */
.cms-block--isolated.cms-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.cms-block--isolated .cms-section__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.cms-block--isolated * { box-sizing: border-box; }

/* Blog */
.cms-blog-wrap { max-width: 800px; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
.cms-article-card {
  background: #fff;
  border-radius: var(--cms-radius);
  padding: 1.35rem 1.5rem;
  margin-bottom: 1rem;
  border: 1px solid var(--cms-color-border);
  box-shadow: var(--cms-shadow);
}
.cms-article-card h2 { margin: 0 0 0.4rem; font-size: 1.15rem; }
.cms-article-card h2 a { color: var(--cms-color-primary); text-decoration: none; }
.cms-article-card .meta { font-size: 0.8rem; color: #9ca3af; }
.cms-article-card .excerpt { color: var(--cms-color-text-muted); font-size: 0.95rem; margin-top: 0.5rem; }

/* 404 */
.cms-404 {
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 1.25rem;
}
.cms-404__code {
  font-size: clamp(4rem, 12vw, 7rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #1a56db, #7c3aed);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin-bottom: 0.5rem;
}
.cms-404 h1 { font-size: 1.5rem; margin: 0 0 0.75rem; }
.cms-404 p { color: var(--cms-color-text-muted); max-width: 28rem; margin: 0 auto 1.5rem; }
.cms-404__actions { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

.form-toast {
  position: fixed; top: 20px; left: 50%; transform: translateX(-50%);
  background: #059669; color: #fff; padding: 0.85rem 1.5rem;
  border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.2); z-index: 9999;
  font-size: 0.95rem; display: none;
}
.form-toast.show { display: block; }

@media (max-width: 640px) {
  .cms-nav { flex-direction: column; align-items: flex-start; }
  :root { --cms-section-y: 2.5rem; }
}

/* Responsive: tablet & mobile */
@media (max-width: 1024px) {
  :root { --cms-section-y: 2.75rem; }
  .cms-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}
@media (max-width: 768px) {
  :root { --cms-section-y: 2.25rem; --cms-max: 100%; }
  .cms-nav {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.75rem 1rem;
  }
  .cms-nav-links {
    width: 100%;
    gap: 0.5rem 0.85rem;
  }
  .cms-hero { padding: 3rem 1.15rem; }
  .cms-hero h1 { font-size: 1.65rem; }
  .cms-section__title { font-size: 1.35rem; }
  .cms-grid { grid-template-columns: 1fr; gap: 1rem; }
  .cms-blog-wrap { padding: 1.5rem 1rem 3rem; }
  .cms-card, .cms-product { padding: 1.1rem; }
  .cms-image-banner { min-height: 280px !important; }
  .cms-lang-bar { justify-content: center; }
  .cms-form { max-width: 100%; }
}
@media (max-width: 480px) {
  .cms-btn { width: 100%; text-align: center; }
  .cms-404__actions { flex-direction: column; }
  .cms-404__actions .cms-btn { width: 100%; }
}
/* Fluid media inside components */
.cms-section img, .cms-product img, .content img {
  max-width: 100%;
  height: auto;
}
.cms-section iframe {
  max-width: 100%;
}

/* 避免与用户自定义 nav 冲突：主题导航仅限 .cms-nav */
.cms-body > .cms-lang-bar { position: relative; z-index: 1100; }
.cms-raw-html { position: relative; }
.cms-fixed-nav-spacer { display: block; }
/* 用户 fixed 导航不吃掉点击区域以外的布局 */

/* 简易导航紧凑，避免 section 虚高 */
.cms-navbar-wrap { margin: 0; padding: 0; }
.cms-section.cms-section--flush { padding-top: 0; padding-bottom: 0; }

/* V12 stable storefront sections */
.cms-testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--cms-grid-gap,1.25rem)}
.cms-testimonial{margin:0;padding:1.4rem;background:var(--cms-card-bg,#fff);border:1px solid var(--cms-color-border);border-radius:var(--cms-card-radius,var(--cms-radius));box-shadow:var(--cms-card-shadow,var(--cms-shadow));transition:transform var(--cms-motion-duration,.18s) ease,box-shadow var(--cms-motion-duration,.18s) ease,border-color var(--cms-motion-duration,.18s) ease}.cms-testimonial:hover{transform:translateY(var(--cms-motion-lift,-2px));border-color:color-mix(in srgb,var(--cms-color-primary) 30%,var(--cms-color-border));box-shadow:0 14px 32px rgba(15,23,42,.09)}
.cms-testimonial blockquote{margin:0 0 1rem;font-size:1rem;line-height:1.7;color:var(--cms-color-text)}
.cms-testimonial figcaption{display:flex;flex-direction:column;gap:.1rem;font-size:.88rem}.cms-testimonial figcaption span{color:var(--cms-color-text-muted)}

/* V12 commerce design system */
.cms-btn--primary{background:var(--cms-color-primary);color:#fff!important;border:1px solid var(--cms-color-primary)}
.cms-btn--secondary{background:transparent;color:var(--cms-color-primary)!important;border:1px solid var(--cms-color-primary)}
.cms-btn--text{background:transparent!important;color:var(--cms-color-primary)!important;border:0;padding-left:0;padding-right:0;min-height:auto}
.cms-eyebrow{margin:0 0 .35rem;color:var(--cms-color-text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.cms-collection__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:2rem;border-bottom:1px solid var(--cms-color-border);padding-bottom:1.25rem}
.cms-collection__header h1{margin:0;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;letter-spacing:-.035em}.cms-collection__count{margin:0;color:var(--cms-color-text-muted);font-size:.88rem}
.cms-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(1rem,2.2vw,1.6rem)}
.cms-product-card{min-width:0;background:var(--cms-color-bg-subtle);border:1px solid var(--cms-color-border);border-radius:var(--cms-card-radius,var(--cms-radius));overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.cms-product-card:hover{transform:translateY(-2px);box-shadow:var(--cms-shadow-md)}
.cms-product-card__media{display:block;aspect-ratio:1/1;background:#f6f6f6;overflow:hidden}.cms-product-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.cms-product-card:hover .cms-product-card__media img{transform:scale(var(--cms-motion-scale,1.025))}
.cms-product-card__placeholder{height:100%;display:grid;place-items:center;color:var(--cms-color-text-muted)}
.cms-product-card__body{padding:1rem}.cms-product-card__title{color:var(--cms-color-text);text-decoration:none}.cms-product-card__title h2{font-size:1rem;line-height:1.35;margin:0 0 .45rem}.cms-product-card__body p{font-size:.88rem;color:var(--cms-color-text-muted);margin:0 0 .7rem;line-height:1.55}.cms-product-card__price{font-size:1rem;font-weight:700;margin-bottom:.85rem}.cms-product-card__price span{font-size:.8rem;font-weight:400;color:var(--cms-color-text-muted);margin-left:.25rem}.cms-product-card__actions .cms-btn{width:100%}
.cms-empty-state{padding:2rem;border:1px dashed var(--cms-color-border);border-radius:var(--cms-radius);color:var(--cms-color-text-muted)}
.cms-product-detail{padding-top:clamp(1.25rem,3vw,2.5rem)}
.cms-pd-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}.cms-pd-info{position:sticky;top:1.25rem}.cms-pd-title{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 .75rem}.cms-pd-summary{color:var(--cms-color-text-muted);font-size:1rem;line-height:1.65}.cms-pd-price{font-size:1.35rem;font-weight:700;margin:1.1rem 0}.cms-pd-sku{font-size:.78rem;color:var(--cms-color-text-muted)}.cms-pd-specs{margin:1rem 0 1.25rem;border-top:1px solid var(--cms-color-border)}.cms-pd-specs td{padding:.65rem 0;border-bottom:1px solid var(--cms-color-border);font-size:.88rem}.cms-pd-specs td:first-child{color:var(--cms-color-text-muted);width:42%}.cms-pd-cta{width:100%;margin-top:.4rem}.cms-pd-desc{max-width:820px;margin:3rem auto 0;line-height:1.8}
@media(max-width:760px){.cms-collection__header{align-items:flex-start;flex-direction:column}.cms-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.cms-product-card__body{padding:.8rem}.cms-product-card__body p{display:none}.cms-pd-grid{grid-template-columns:1fr}.cms-pd-info{position:static}.cms-btn{min-height:44px}.cms-section{padding-left:1rem;padding-right:1rem}}
@media(max-width:420px){.cms-product-grid{grid-template-columns:1fr 1fr}.cms-product-card__title h2{font-size:.92rem}.cms-product-card__price{font-size:.92rem}}
.cms-input{flex:1;min-width:180px;min-height:44px;padding:.65rem .8rem;border:1px solid var(--cms-color-border);border-radius:var(--cms-radius-sm);font:inherit;background:var(--cms-color-bg);color:var(--cms-color-text)}
.cms-input:focus{outline:2px solid color-mix(in srgb,var(--cms-color-primary) 24%,transparent);outline-offset:1px;border-color:var(--cms-color-primary)}


/* V12.2 Design System */
.cms-body{font-family:var(--cms-font);color:var(--cms-color-text);background:var(--cms-color-bg)}
.cms-body h1,.cms-body h2,.cms-body h3,.cms-body h4{font-family:var(--cms-heading-font,var(--cms-font))}
.cms-section__title{font-size:calc(clamp(1.4rem,3vw,1.85rem) * var(--cms-heading-scale,1))}
.cms-grid{gap:var(--cms-grid-gap,1.25rem)}
.cms-form input,.cms-form textarea,.cms-form select{min-height:var(--cms-input-height,46px);border-radius:var(--cms-input-radius,8px)}
.cms-section img{border-radius:var(--cms-image-radius,10px)}
.cms-product-showcase__header{text-align:center;max-width:720px;margin:0 auto 1.7rem}.cms-product-showcase__header h2{margin:0;font-size:calc(clamp(1.45rem,3vw,2rem) * var(--cms-heading-scale,1))}.cms-product-showcase__subtitle{color:var(--cms-color-text-muted);line-height:1.6;margin:.55rem 0 0}
.cms-product-showcase__grid{display:grid;grid-template-columns:repeat(var(--pg-cols,4),minmax(0,1fr));gap:var(--cms-grid-gap,24px)}
.cms-product-showcase__card{min-width:0;overflow:hidden;background:var(--cms-color-bg);border-radius:var(--cms-card-radius,12px);transition:transform var(--cms-motion-duration,.18s) ease,box-shadow var(--cms-motion-duration,.18s) ease,border-color var(--cms-motion-duration,.18s) ease}
.cms-product-showcase__card--minimal{border:0}.cms-product-showcase__card--border{border:1px solid var(--cms-color-border)}.cms-product-showcase__card--soft{border:1px solid transparent;background:var(--cms-color-bg-subtle)}.cms-product-showcase__card--elevated{border:1px solid color-mix(in srgb,var(--cms-color-border) 70%,transparent);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.cms-product-showcase__card:hover{transform:translateY(var(--cms-motion-lift,-2px));box-shadow:0 14px 34px rgba(15,23,42,.09)}.cms-product-showcase__media{display:block;aspect-ratio:var(--pg-ratio,1/1);background:var(--cms-color-bg-subtle);overflow:hidden}.cms-product-showcase__media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;transition:transform var(--cms-motion-duration,.18s) ease}.cms-product-showcase__card:hover .cms-product-showcase__media img{transform:scale(var(--cms-motion-scale,1.025))}.cms-product-showcase__placeholder{height:100%;display:grid;place-items:center;color:var(--cms-color-text-muted)}
.cms-product-showcase__body{padding:1rem;text-align:var(--pg-align,left)}.cms-product-showcase__brand{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cms-color-text-muted);margin-bottom:.3rem}.cms-product-showcase__title{text-decoration:none;color:var(--cms-color-text)}.cms-product-showcase__title h3{font-size:1rem;line-height:1.4;margin:0 0 .4rem}.cms-product-showcase__body p{font-size:.88rem;line-height:1.55;color:var(--cms-color-text-muted);margin:.2rem 0 .65rem}.cms-product-showcase__price{font-weight:700;margin:.4rem 0 .8rem}.cms-product-showcase__body .cms-btn{width:100%}
@media(max-width:900px){.cms-product-showcase__grid{grid-template-columns:repeat(var(--pg-cols-t,2),minmax(0,1fr))}}
@media(max-width:600px){.cms-product-showcase__grid{grid-template-columns:repeat(var(--pg-cols-m,2),minmax(0,1fr));gap:.75rem}.cms-product-showcase__body{padding:.75rem}.cms-product-showcase__body p{font-size:.8rem}.cms-product-showcase__body .cms-btn{font-size:.82rem;padding:.55rem .65rem}}

/* V12.3: Theme is authoritative unless a block explicitly opts out. */
.cms-block-root:not(.cms-block--isolated){color:var(--cms-color-text);font-family:var(--cms-font)}
.cms-block-root:not(.cms-block--isolated) .cms-btn,.cms-block-root:not(.cms-block--isolated) button.cms-btn{border-radius:var(--cms-btn-radius)!important;min-height:var(--cms-btn-height)}
.cms-block-root:not(.cms-block--isolated) .cms-btn--primary{background:var(--cms-color-primary)!important;color:#fff!important;border-color:var(--cms-color-primary)!important}
.cms-block-root:not(.cms-block--isolated) input:not([type=checkbox]):not([type=radio]),.cms-block-root:not(.cms-block--isolated) select,.cms-block-root:not(.cms-block--isolated) textarea{border-radius:var(--cms-input-radius)!important;min-height:var(--cms-input-height);border-color:var(--cms-color-border)}
.cms-block-root:not(.cms-block--isolated) .cms-card,.cms-block-root:not(.cms-block--isolated) .cms-feature-card,.cms-block-root:not(.cms-block--isolated) .cms-testimonial{border-radius:var(--cms-card-radius)!important;border-color:var(--cms-color-border)!important}
.cms-block-root:not(.cms-block--isolated) h1,.cms-block-root:not(.cms-block--isolated) h2,.cms-block-root:not(.cms-block--isolated) h3{font-family:var(--cms-heading-font);color:var(--cms-color-text)}
.cms-block-root:not(.cms-block--isolated) .cms-btn-preset{background:var(--cms-color-primary)!important;color:#fff!important;border-color:var(--cms-color-primary)!important;border-radius:var(--cms-btn-radius)!important}
.cms-block-root:not(.cms-block--isolated) .cms-hero,.cms-block-root:not(.cms-block--isolated) .cms-cta{background:var(--cms-color-primary)!important;color:#fff!important}
.cms-block-root:not(.cms-block--isolated) .cms-marquee{background:var(--cms-color-secondary)!important;color:#fff!important}
.cms-block-root:not(.cms-block--isolated) .cms-footer{background:var(--cms-footer-bg)!important;color:var(--cms-footer-text)!important}
.cms-block-root:not(.cms-block--isolated) [style*="color:#6b7280"],.cms-block-root:not(.cms-block--isolated) [style*="color: #6b7280"]{color:var(--cms-color-text-muted)!important}

/* V12.7 product detail — responsive, Theme-token driven */
.cms-pdp{padding:clamp(1rem,2vw,2rem) 1.25rem var(--cms-section-y);background:var(--cms-color-bg)}.cms-pdp__inner{max-width:var(--cms-max);margin:0 auto}.cms-pdp__crumb{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.2rem 0 1.35rem;font-size:.78rem;color:var(--cms-color-text-muted)}.cms-pdp__crumb a{color:var(--cms-color-text-muted)}.cms-pdp__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:start}.cms-pdp__gallery{min-width:0}.cms-pdp__main{position:relative;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;border:1px solid var(--cms-color-border);border-radius:var(--cms-card-radius,var(--cms-radius));background:var(--cms-color-bg-subtle);cursor:zoom-in}.cms-pdp__main img{width:100%;height:100%;display:block;object-fit:contain;background:var(--cms-color-bg)}.cms-pdp__empty{color:var(--cms-color-text-muted);cursor:default}.cms-pdp__zoom{position:absolute;right:.8rem;bottom:.8rem;width:42px;height:42px;border:1px solid var(--cms-color-border);border-radius:999px;background:color-mix(in srgb,var(--cms-color-bg) 92%,transparent);color:var(--cms-color-text);font-size:1.25rem;cursor:pointer}.cms-pdp__counter{display:none;position:absolute;left:50%;bottom:.75rem;transform:translateX(-50%);padding:.25rem .55rem;border-radius:999px;background:rgba(15,23,42,.68);color:#fff;font-size:.72rem}.cms-pdp__thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin-top:.75rem}.cms-pdp__thumb{aspect-ratio:1/1;padding:0;border:1px solid var(--cms-color-border);border-radius:var(--cms-radius-sm);overflow:hidden;background:var(--cms-color-bg);cursor:pointer}.cms-pdp__thumb img{width:100%;height:100%;object-fit:cover;display:block}.cms-pdp__thumb.is-active{border-color:var(--cms-color-primary);box-shadow:0 0 0 1px var(--cms-color-primary)}.cms-pdp__buy{position:sticky;top:1.25rem}.cms-pdp__brand{margin:0 0 .5rem;font-size:.75rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--cms-color-text-muted)}.cms-pdp__buy h1{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.04em;margin:0}.cms-pdp__price{display:flex;align-items:baseline;gap:.5rem;margin:1.15rem 0;font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:750;color:var(--cms-color-text)}.cms-pdp__price span{font-size:.82rem;font-weight:400;color:var(--cms-color-text-muted)}.cms-pdp__summary{font-size:1rem;line-height:1.7;color:var(--cms-color-text-muted);margin:0 0 1.2rem}.cms-pdp__highlights{display:grid;gap:.6rem;list-style:none;padding:1rem 0;margin:0 0 1rem;border-top:1px solid var(--cms-color-border);border-bottom:1px solid var(--cms-color-border)}.cms-pdp__highlights li{display:flex;gap:.65rem;align-items:flex-start;line-height:1.5}.cms-pdp__highlights li span{color:var(--cms-color-primary);font-weight:800}.cms-pdp__cta{width:100%;min-height:calc(var(--cms-btn-height,46px) + 6px);font-size:1rem}.cms-pdp__meta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.85rem;font-size:.75rem;color:var(--cms-color-text-muted)}.cms-pdp__details{margin-top:clamp(2.5rem,6vw,5rem)}.cms-pdp__section{padding:clamp(1.5rem,3vw,2.5rem) 0;border-top:1px solid var(--cms-color-border)}.cms-pdp__section h2{font-size:clamp(1.35rem,2.4vw,1.8rem);margin:0 0 1.25rem}.cms-pdp__description{max-width:850px;line-height:1.8}.cms-pdp__specs{margin:0;max-width:850px;border-top:1px solid var(--cms-color-border)}.cms-pdp__specs>div{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--cms-color-border)}.cms-pdp__specs dt{color:var(--cms-color-text-muted)}.cms-pdp__specs dd{margin:0}.cms-pdp__included{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.cms-pdp__included-item{display:flex;gap:.8rem;align-items:center;padding:.85rem;border:1px solid var(--cms-color-border);border-radius:var(--cms-card-radius,var(--cms-radius));background:var(--cms-color-bg-subtle)}.cms-pdp__included-item img{width:64px;height:64px;object-fit:cover;border-radius:var(--cms-radius-sm)}.cms-pdp__included-item span{display:block;margin-top:.2rem;color:var(--cms-color-text-muted);font-size:.82rem}.cms-pdp__section-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.cms-pdp__related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.cms-pdp__related .cms-product-card__title h3{font-size:.95rem;margin:0 0 .4rem}.cms-pdp__sticky{display:none}.cms-pd-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.94);align-items:center;justify-content:center;padding:1rem}.cms-pd-lightbox:not([hidden]){display:flex}.cms-pd-lightbox img{max-width:min(1100px,94vw);max-height:88vh;object-fit:contain}.cms-pd-lb-close,.cms-pd-lb-nav{position:absolute;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.12)}.cms-pd-lb-close{top:1rem;right:1rem;background:transparent;font-size:2rem}.cms-pd-lb-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%}.cms-pd-lb-prev{left:1rem}.cms-pd-lb-next{right:1rem}.cms-pd-lb-counter{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.82rem}
@media(max-width:1023px){.cms-pdp__hero{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:1.5rem}.cms-pdp__thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}.cms-pdp__related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cms-pdp{padding:.75rem 1rem calc(var(--cms-section-y) + 4.5rem)}.cms-pdp__crumb{margin-bottom:.8rem}.cms-pdp__hero{grid-template-columns:1fr;gap:1.25rem}.cms-pdp__buy{position:static}.cms-pdp__buy h1{font-size:clamp(1.65rem,8vw,2.2rem)}.cms-pdp__thumbs{display:none}.cms-pdp__counter{display:block}.cms-pdp__zoom{width:38px;height:38px}.cms-pdp__specs>div{grid-template-columns:1fr;gap:.25rem}.cms-pdp__related{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.cms-pdp__sticky{position:fixed;z-index:9990;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem max(1rem,env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--cms-color-bg) 96%,transparent);border-top:1px solid var(--cms-color-border);box-shadow:0 -8px 24px rgba(15,23,42,.08);backdrop-filter:blur(10px)}.cms-pdp__sticky>div{min-width:0}.cms-pdp__sticky strong{display:block}.cms-pdp__sticky span{display:block;max-width:45vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;color:var(--cms-color-text-muted)}.cms-pdp__sticky .cms-btn{flex:0 0 auto;min-height:44px}.cms-pd-lb-nav{width:42px;height:42px}}

/* V12.14: Preserve complete product images of any source aspect ratio. */
.cms-product-card__media img,.cms-product-showcase__media img,.cms-pdp__thumb img,
.cms-pdp__included-item img{object-fit:contain;background:var(--cms-color-bg,#fff)}
.cms-product-card:hover .cms-product-card__media img{transform:none}
.cms-product-showcase__card:hover .cms-product-showcase__media img{transform:none}
.cms-product-showcase[data-image-fit="cover"] .cms-product-showcase__media img{object-fit:cover}
.cms-product-showcase[data-image-fit="cover"] .cms-product-showcase__card:hover .cms-product-showcase__media img{transform:scale(var(--cms-motion-scale,1.025))}
.cms-product-search{margin:0 0 1rem}.cms-product-search label{display:block;font-size:.85rem;margin-bottom:.4rem}
.cms-product-search__controls{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.cms-product-search input{min-width:min(100%,260px);flex:1;border:1px solid var(--cms-color-border);border-radius:var(--cms-input-radius,8px);padding:.75rem}
.cms-view-switch{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin:0 0 1rem}
.cms-view-switch a{padding:.4rem .8rem;border:1px solid var(--cms-color-border);border-radius:6px;text-decoration:none;color:inherit}
.cms-view-switch a.is-active{border-color:var(--cms-color-primary);background:var(--cms-color-bg-subtle);font-weight:700}
.cms-product-grid--list{display:flex!important;flex-direction:column!important;gap:1rem}
.cms-product-grid--list .cms-product-card{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr);align-items:stretch}
.cms-product-grid--list .cms-product-card__media{height:100%;aspect-ratio:4/3;max-height:250px}
.cms-product-grid--list .cms-product-card__body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
@media(max-width:600px){.cms-product-grid--list .cms-product-card{grid-template-columns:110px minmax(0,1fr)}.cms-product-grid--list .cms-product-card__media{max-height:180px}.cms-product-search__controls{align-items:stretch}}

/* V12.15: shared accessible pagination, theme token driven. */
.cms-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem;margin:2rem 0;font-size:.875rem}
.cms-pagination a,.cms-pagination .cms-page-arrow,.cms-pagination .cms-page-number,.cms-pagination .cms-page-ellipsis{
  display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:42px;min-height:42px;
  padding:.45rem .75rem;border:1px solid var(--cms-color-border,#e2e8f0);border-radius:var(--cms-btn-radius,9px);
  background:var(--cms-color-bg,#fff);color:var(--cms-color-text,#334155);text-decoration:none;font-weight:600;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.cms-pagination a:hover{background:var(--cms-color-bg-subtle,#f8fafc);border-color:var(--cms-color-primary,#2563eb);color:var(--cms-color-primary,#2563eb)}
.cms-pagination a:focus-visible{outline:3px solid var(--cms-color-primary,#2563eb);outline-offset:2px}
.cms-pagination .cms-page-number.is-active{background:var(--cms-color-primary,#2563eb);color:#fff;border-color:var(--cms-color-primary,#2563eb)}
.cms-pagination .cms-page-arrow.is-disabled{opacity:.42;cursor:not-allowed}
.cms-pagination .cms-page-ellipsis{border:0;background:transparent;min-width:22px;padding:.2rem}
@media(max-width:480px){.cms-pagination{gap:.25rem}.cms-pagination .cms-page-arrow span{display:none}.cms-pagination a,.cms-pagination .cms-page-arrow,.cms-pagination .cms-page-number{min-width:38px;min-height:40px;padding:.35rem .55rem}}

/* V12.18 unified semantic theme tokens (older custom CSS may override them). */
:where(.cms-body) h1,:where(.cms-body) h2,:where(.cms-body) h3{color:var(--cms-heading-text,var(--cms-color-text));}
.cms-body a:not(.cms-btn){color:var(--cms-link,var(--cms-color-primary));}
.cms-body .cms-card,.cms-body .cms-product{background:var(--cms-card-bg,var(--cms-color-bg-subtle));}
.cms-body input:not([type=checkbox]):not([type=radio]),.cms-body textarea,.cms-body select{background:var(--cms-input-bg,var(--cms-color-bg));}
.cms-body .cms-btn:not(.cms-btn--light):not(.cms-btn--outline){color:var(--cms-button-text,#fff)!important;}
.cms-site-header{background:var(--cms-header-bg,#fff);}
.cms-site-footer{background:var(--cms-footer-bg,#0f172a);color:var(--cms-footer-text,#cbd5e1);}

/* V12.35: theme design system applies to outer rendered block as well as its children. */
.cms-block-root:not(.cms-block--isolated){background:var(--cms-color-bg,transparent); color:var(--cms-color-text); font-family:var(--cms-font);}
.cms-block-root:not(.cms-block--isolated) .cms-section{color:var(--cms-color-text)}
.cms-block-root:not(.cms-block--isolated) .cms-btn--primary {background:var(--cms-color-primary)!important; border-color:var(--cms-color-primary)!important;}
