/* Buttons */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;cursor:pointer;text-decoration:none;font:400 17px/1.24 var(--font-text);letter-spacing:-0.374px;border-radius:var(--rounded-pill);padding:11px 22px;background:var(--color-primary);color:#fff;transition:transform .12s ease}
.ds-btn:hover{text-decoration:none}
.ds-btn:active{transform:scale(0.95)}
.ds-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ds-btn--secondary{background:transparent;color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}
.ds-btn--dark{background:var(--color-ink);color:#fff;border-radius:var(--rounded-sm);padding:8px 15px;font:400 14px/1.29 var(--font-text);letter-spacing:-0.224px}
.ds-btn--pearl{background:var(--color-surface-pearl);color:var(--color-ink-muted-80);border-radius:var(--rounded-md);padding:8px 14px;font:400 14px/1.43 var(--font-text);letter-spacing:-0.224px;box-shadow:0 0 0 3px var(--color-divider-soft)}
.ds-btn--store-hero{font:300 18px/1 var(--font-text);letter-spacing:0;padding:14px 28px}
.ds-btn--icon{width:44px;height:44px;padding:0;border-radius:var(--rounded-full);background:var(--color-surface-chip-translucent);color:var(--color-ink)}
.ds-btn[disabled]{color:var(--color-ink-muted-48);cursor:default}
.ds-btn[disabled]:active{transform:none}
/* Text links */
.ds-link{color:var(--link);text-decoration:none}
.ds-link:hover{text-decoration:underline}
.ds-link--on-dark{color:var(--link-on-dark)}
/* Global nav */
.ds-global-nav{background:var(--color-surface-black);color:#fff;height:44px;display:flex;align-items:center;justify-content:center;gap:36px;font:400 12px/1 var(--font-text);letter-spacing:-0.12px}
.ds-global-nav a{color:rgba(255,255,255,0.8);text-decoration:none}
.ds-global-nav a:hover{color:#fff}
.ds-global-nav__brand{font-weight:600;color:#fff}
/* Sub nav (frosted) */
.ds-sub-nav{position:sticky;top:0;z-index:10;height:52px;display:flex;align-items:center;background:var(--frosted-bg);backdrop-filter:var(--blur-frosted);-webkit-backdrop-filter:var(--blur-frosted);border-bottom:var(--border-soft);padding:0 22px}
.ds-sub-nav__inner{width:100%;max-width:var(--container-text);margin:0 auto;display:flex;align-items:center;gap:24px}
.ds-sub-nav__title{font:600 21px/1.19 var(--font-text);letter-spacing:0.231px;color:var(--color-ink);margin-right:auto}
.ds-sub-nav__links{display:flex;align-items:center;gap:24px;font:400 14px/1.29 var(--font-text);letter-spacing:-0.224px}
.ds-sub-nav__links a{color:var(--color-ink);text-decoration:none}
.ds-sub-nav .ds-btn{padding:6px 14px;font-size:14px}
/* Product tiles */
.ds-tile{padding:var(--space-section) 22px;text-align:center;background:var(--color-canvas);color:var(--color-ink)}
.ds-tile--parchment{background:var(--color-canvas-parchment)}
.ds-tile--dark{background:var(--color-surface-tile-1);color:var(--text-on-dark)}
.ds-tile--dark-2{background:var(--color-surface-tile-2);color:var(--text-on-dark)}
.ds-tile--dark-3{background:var(--color-surface-tile-3);color:var(--text-on-dark)}
.ds-tile__title{font:600 40px/1.1 var(--font-display);letter-spacing:0;margin:0}
.ds-tile__tagline{font:400 28px/1.14 var(--font-text);letter-spacing:0.196px;margin:10px 0 0}
.ds-tile__ctas{display:flex;gap:16px;justify-content:center;margin-top:22px}
.ds-tile__media{margin-top:var(--space-xxl);display:flex;justify-content:center}
.ds-product-shadow{box-shadow:var(--shadow-product)}
/* Store utility card */
.ds-store-card{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--rounded-lg);padding:var(--space-lg);text-align:left}
.ds-store-card__media{border-radius:var(--rounded-sm);overflow:hidden;aspect-ratio:1/1;background:var(--color-canvas-parchment);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}
.ds-store-card__name{font:600 17px/1.24 var(--font-text);letter-spacing:-0.374px;margin:0}
.ds-store-card__price{font:400 17px/1.47 var(--font-text);letter-spacing:-0.374px;margin:4px 0 8px;color:var(--color-ink)}
/* Configurator chip */
.ds-chip{display:flex;align-items:center;gap:12px;background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--rounded-pill);padding:12px 16px;cursor:pointer;font:400 14px/1.43 var(--font-text);letter-spacing:-0.224px;transition:transform .12s ease}
.ds-chip:active{transform:scale(0.95)}
.ds-chip--selected{border:2px solid var(--color-primary-focus);padding:11px 15px}
.ds-chip__detail{color:var(--color-ink-muted-48);margin-left:auto}
/* Floating sticky bar */
.ds-sticky-bar{position:sticky;bottom:0;z-index:10;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 32px;background:var(--frosted-bg);backdrop-filter:var(--blur-frosted);-webkit-backdrop-filter:var(--blur-frosted);border-top:var(--border-soft)}
/* Search input */
.ds-search{display:flex;align-items:center;gap:10px;height:44px;background:var(--color-canvas);border:var(--border-soft);border-radius:var(--rounded-pill);padding:0 20px;color:var(--color-ink)}
.ds-search svg{flex:none;opacity:.45}
.ds-search input{border:0;outline:0;flex:1;background:transparent;font:400 17px/1.47 var(--font-text);letter-spacing:-0.374px;color:var(--color-ink)}
.ds-search input::placeholder{color:var(--color-ink-muted-48)}
/* Footer */
.ds-footer{background:var(--color-canvas-parchment);color:var(--color-ink-muted-80);padding:64px 22px}
.ds-footer__inner{max-width:var(--container-text);margin:0 auto}
.ds-footer__cols{display:flex;flex-wrap:wrap;gap:40px}
.ds-footer__col h4{font:600 14px/1.29 var(--font-text);letter-spacing:-0.224px;color:var(--color-ink);margin:0 0 6px}
.ds-footer__col a{display:block;font:400 17px/2.41 var(--font-text);letter-spacing:0;color:var(--color-ink-muted-80);text-decoration:none}
.ds-footer__col a:hover{text-decoration:underline}
.ds-footer__legal{margin-top:40px;padding-top:16px;border-top:var(--border-hairline);font:400 12px/1.4 var(--font-text);letter-spacing:-0.12px;color:var(--color-ink-muted-48)}
/* Placeholder for product renders (no photography assets provided) */
.ds-render-placeholder{background:linear-gradient(0deg,var(--color-canvas-parchment),var(--color-canvas-parchment));display:flex;align-items:center;justify-content:center;color:var(--color-ink-muted-48);font:400 14px/1.43 var(--font-text);letter-spacing:-0.224px}
