:root{--color-primitive-blue-500: #5C7EA6;--color-primitive-burgundy-500: #8C3B4A;--color-primitive-cream-100: #F6EFEE;--color-primitive-cream-200: #EFE6E6;--color-primitive-cream-50: #FCF5F5;--color-primitive-gold-500: #D7A54B;--color-primitive-gold-600: #C99535;--color-primitive-gold-700: #B88428;--color-primitive-mauve-100: #E6DCE3;--color-primitive-mauve-200: #DCCED7;--color-primitive-mauve-300: #CBB6C7;--color-primitive-olive-500: #5A6B52;--color-primitive-petrol-500: #41555F;--color-primitive-petrol-600: #374850;--color-primitive-petrol-700: #2C3A41;--color-primitive-purple-500: #8A6B8F;--color-primitive-terracotta-500: #B56A4C;--color-primitive-warmGray-100: #F1F1F1;--color-primitive-warmGray-200: #D4CBC5;--color-primitive-warmGray-300: #B7AAA3;--color-primitive-warmGray-500: #6A5F5A;--color-semantic-bg-default: var(--color-primitive-cream-50);--color-semantic-bg-subtle: var(--color-primitive-cream-200);--color-semantic-border-default: var(--color-primitive-warmGray-200);--color-semantic-border-strong: var(--color-primitive-warmGray-300);--color-semantic-brand-accent: var(--color-primitive-mauve-200);--color-semantic-brand-primary: var(--color-primitive-gold-500);--color-semantic-brand-primaryActive: var(--color-primitive-gold-700);--color-semantic-brand-primaryHover: var(--color-primitive-gold-600);--color-semantic-focus-ring: var(--color-primitive-petrol-500);--color-semantic-status-danger: var(--color-primitive-burgundy-500);--color-semantic-status-exclusive: var(--color-primitive-purple-500);--color-semantic-status-info: var(--color-primitive-blue-500);--color-semantic-status-purchased: var(--color-primitive-warmGray-300);--color-semantic-status-success: var(--color-primitive-olive-500);--color-semantic-status-warning: var(--color-primitive-terracotta-500);--color-semantic-surface-default: var(--color-primitive-cream-200);--color-semantic-surface-raised: var(--color-primitive-cream-50);--color-semantic-text-inverse: var(--color-primitive-cream-50);--color-semantic-text-primary: var(--color-primitive-petrol-700);--color-semantic-text-secondary: var(--color-primitive-warmGray-500);--component-badge-height: 20px;--component-badge-paddingX: var(--space-2);--component-badge-radius: var(--radius-pill);--component-button-height-lg: 48px;--component-button-height-md: 40px;--component-button-height-sm: 32px;--component-button-paddingX-lg: var(--space-5);--component-button-paddingX-md: var(--space-4);--component-button-paddingX-sm: var(--space-3);--component-button-radius: var(--radius-md);--component-card-overlay: rgba(215,165,75,.2);--component-card-radius: var(--radius-lg);--component-input-height: 44px;--component-input-paddingX: var(--space-4);--component-input-radius: var(--radius-md);--component-modal-maxWidth: 560px;--component-modal-overlay: rgba(44,58,65,.4);--component-modal-radius: var(--radius-lg);--component-progress-height-lg: 12px;--component-progress-height-md: 8px;--component-progress-height-sm: 4px;--component-progress-radius: var(--radius-pill);--meta-generated: 2026-02-08;--meta-name: Crocheturas Design Tokens;--meta-source: Crocheturas UX analysis zip;--meta-version: .10;--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-pill: 999px;--radius-sm: 10px;--shadow-pressed: 0 1px 3px rgba(44,58,65,.16) inset;--shadow-soft: 0 2px 8px rgba(44,58,65,.1);--shadow-lift: 0 8px 28px rgba(44,58,65,.14);--shadow-warm: 0 8px 28px rgba(215,165,75,.22);--shadow-cozy: 0 2px 0 0 rgba(215,165,75,.4), 0 4px 16px rgba(44,58,65,.1);--space-0: 0;--space-1: 4px;--space-10: 40px;--space-12: 48px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-14: 56px;--space-16: 64px;--typography-fontFamily-brand: "Playfair Display", Georgia, "Times New Roman", serif;--typography-fontFamily-ui: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--typography-fontSize-lg: 18px;--typography-fontSize-md: 16px;--typography-fontSize-sm: 14px;--typography-fontSize-xl: 22px;--typography-fontSize-xs: 12px;--typography-fontWeight-medium: 500;--typography-fontWeight-regular: 400;--typography-fontWeight-semibold: 600;--typography-lineHeight-base: 1.4;--typography-lineHeight-relaxed: 1.6;--typography-lineHeight-tight: 1.2}.theme-dark{--color-semantic-bg-default: var(--color-primitive-petrol-700);--color-semantic-bg-subtle: var(--color-primitive-petrol-600);--color-semantic-surface-default: var(--color-primitive-petrol-600);--color-semantic-surface-raised: var(--color-primitive-petrol-500);--color-semantic-text-primary: var(--color-primitive-cream-50);--color-semantic-text-secondary: var(--color-primitive-warmGray-200);--color-semantic-text-inverse: var(--color-primitive-petrol-700);--color-semantic-border-default: color-mix(in srgb, var(--color-primitive-warmGray-300) 34%, var(--color-primitive-petrol-500));--color-semantic-border-strong: var(--color-primitive-warmGray-300);--color-semantic-brand-primary: var(--color-primitive-gold-600);--color-semantic-brand-primaryHover: var(--color-primitive-gold-700);--color-semantic-brand-primaryActive: var(--color-primitive-gold-700);--color-semantic-focus-ring: var(--color-primitive-gold-500)}:root{color-scheme:light;--dp-bg: #faf1e5;--dp-bg-subtle: #f2e7d2;--dp-surface: #fff8ec;--dp-paper: #fffcf6;--dp-text: #3a2e26;--dp-text-strong: #4d3f35;--dp-text-muted: #8b7a6a;--dp-border: #ecddc4;--dp-border-strong: #ddc9ac;--dp-accent: #d17456;--dp-accent-bg: #fae2d6;--dp-accent-text: #9c4a30;--dp-success: #94a87e;--dp-success-bg: #e6ebdc;--dp-success-text: #5e6f4a;--dp-subscription: #d7a54b;--dp-subscription-bg: #fbeacb;--dp-subscription-text: #8a6a2c;--dp-danger: #8c3b4a;--dp-focus-ring: #d17456;--dp-space-0: 0;--dp-space-1: 4px;--dp-space-2: 8px;--dp-space-3: 12px;--dp-space-4: 16px;--dp-space-5: 20px;--dp-space-6: 24px;--dp-space-8: 32px;--dp-space-10: 40px;--dp-space-12: 48px;--dp-space-16: 64px;--dp-space-20: 80px;--dp-page-max: 1180px;--dp-page-pad-x: 36px;--dp-page-pad-y: 52px;--dp-header-height: 68px;--dp-radius-sm: 10px;--dp-radius: 16px;--dp-radius-lg: 22px;--dp-radius-pill: 999px;--dp-shadow-sm: 0 8px 18px rgb(58 46 38 / .08);--dp-shadow: 0 14px 36px rgb(58 46 38 / .12);--dp-shadow-lg: 0 22px 60px rgb(58 46 38 / .18);--dp-font-display: "DM Serif Display", "Playfair Display", Georgia, serif;--dp-font-ui: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dp-fs-hero: 64px;--dp-fs-h1: 52px;--dp-fs-h2: 34px;--dp-fs-h3: 22px;--dp-fs-lg: 17px;--dp-fs-body: 15.5px;--dp-fs-sm: 13px;--dp-fs-xs: 11px;--dp-lh-tight: .95;--dp-lh-heading: 1.08;--dp-lh-body: 1.55;--rd-color-canvas: var(--dp-bg);--rd-color-canvas-muted: var(--dp-bg-subtle);--rd-color-surface: var(--dp-surface);--rd-color-surface-strong: var(--dp-paper);--rd-color-text: var(--dp-text);--rd-color-text-strong: var(--dp-text-strong);--rd-color-muted: var(--dp-text-muted);--rd-color-border: var(--dp-border);--rd-color-border-strong: var(--dp-border-strong);--rd-color-accent: var(--dp-accent);--rd-color-accent-muted: var(--dp-accent-bg);--rd-color-accent-strong: var(--dp-accent-text);--rd-color-success: var(--dp-success);--rd-color-success-muted: var(--dp-success-bg);--rd-color-success-strong: var(--dp-success-text);--rd-color-subscription: var(--dp-subscription);--rd-color-subscription-muted: var(--dp-subscription-bg);--rd-color-subscription-strong: var(--dp-subscription-text);--rd-color-danger: var(--dp-danger);--rd-color-focus: var(--dp-focus-ring);--rd-font-display: var(--dp-font-display);--rd-font-body: var(--dp-font-ui);--rd-font-ui: var(--dp-font-ui);--rd-page-max: var(--dp-page-max);--rd-page-pad-x: var(--dp-page-pad-x);--rd-page-pad-y: var(--dp-page-pad-y);--rd-header-height: var(--dp-header-height);--rd-header-height-mobile: 62px;--rd-space-1: var(--dp-space-1);--rd-space-2: var(--dp-space-2);--rd-space-3: var(--dp-space-3);--rd-space-4: var(--dp-space-4);--rd-space-5: var(--dp-space-5);--rd-space-6: var(--dp-space-6);--rd-space-8: var(--dp-space-8);--rd-space-10: var(--dp-space-10);--rd-space-12: var(--dp-space-12);--rd-space-16: var(--dp-space-16);--rd-space-20: var(--dp-space-20);--rd-radius-sm: var(--dp-radius-sm);--rd-radius-md: var(--dp-radius);--rd-radius-lg: var(--dp-radius-lg);--rd-radius-pill: var(--dp-radius-pill);--rd-shadow-sm: var(--dp-shadow-sm);--rd-shadow-md: var(--dp-shadow);--rd-shadow-lg: var(--dp-shadow-lg);--rd-shadow-card: var(--dp-shadow-sm);--rd-shadow-header: 0 12px 34px rgb(58 46 38 / .1);--rd-header-bg: color-mix(in srgb, var(--dp-paper) 88%, transparent);--rd-header-bg-solid: var(--dp-paper);--rd-header-border: color-mix(in srgb, var(--dp-border) 78%, transparent);--rd-header-blur: 18px}[data-theme=dark],.theme-dark{color-scheme:dark;--dp-bg: #2c3a41;--dp-bg-subtle: #374850;--dp-surface: #41555f;--dp-paper: #34464f;--dp-text: #fcf5f5;--dp-text-strong: #fffaf4;--dp-text-muted: #d4cbc5;--dp-border: #5a6970;--dp-border-strong: #748088;--dp-accent: #e39376;--dp-accent-bg: color-mix(in srgb, #e39376 18%, #374850);--dp-accent-text: #ffd7c7;--dp-success: #afbf99;--dp-success-bg: color-mix(in srgb, #afbf99 18%, #2c3a41);--dp-success-text: #d9e6c8;--dp-subscription: #e4bd67;--dp-subscription-bg: color-mix(in srgb, #e4bd67 18%, #2c3a41);--dp-subscription-text: #ffe5a5;--dp-danger: #d67684;--dp-focus-ring: #e39376;--rd-shadow-sm: 0 8px 18px rgb(0 0 0 / .22);--rd-shadow-md: 0 14px 36px rgb(0 0 0 / .28);--rd-shadow-lg: 0 22px 60px rgb(0 0 0 / .34);--rd-shadow-card: var(--rd-shadow-sm);--rd-shadow-header: 0 16px 38px rgb(0 0 0 / .28);--rd-header-bg: color-mix(in srgb, var(--dp-bg) 92%, transparent);--rd-header-bg-solid: var(--dp-paper);--rd-header-border: color-mix(in srgb, var(--dp-border-strong) 62%, transparent)}@media(max-width:760px){:root{--dp-page-pad-x: 18px;--dp-page-pad-y: 34px;--dp-fs-hero: 46px;--dp-fs-h1: 38px;--dp-fs-h2: 28px}}:root{--z-overlay: 1000;--z-modal: 1100;--surface-base: var(--color-semantic-bg-subtle);--color-bg: var(--color-semantic-bg-default);--color-surface: var(--color-semantic-surface-raised);--color-text: var(--color-semantic-text-primary);--color-text-inverse: var(--color-semantic-text-inverse);--color-border: var(--color-semantic-border-default);--color-focus: var(--color-semantic-focus-ring);--color-primary-600: var(--color-semantic-brand-primary);--color-danger-600: var(--color-semantic-status-danger);--color-backdrop: var(--component-modal-overlay)}.theme-dark{--surface-base: var(--color-semantic-bg-subtle);--color-bg: var(--color-semantic-bg-default);--color-surface: var(--color-semantic-surface-raised);--color-text: var(--color-semantic-text-primary);--color-text-inverse: var(--color-semantic-text-inverse);--color-border: var(--color-semantic-border-default);--color-focus: var(--color-semantic-focus-ring);--color-primary-600: var(--color-semantic-brand-primary);--color-danger-600: var(--color-semantic-status-danger);--color-backdrop: var(--component-modal-overlay)}html,body{height:100%}body{margin:0;background-color:var(--color-bg);background-image:linear-gradient(45deg,rgba(215,165,75,.045) 25%,transparent 25%),linear-gradient(-45deg,rgba(215,165,75,.045) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(215,165,75,.045) 75%),linear-gradient(-45deg,transparent 75%,rgba(215,165,75,.045) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;color:var(--color-text);font-family:var(--typography-fontFamily-ui);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}img{max-width:100%;height:auto}h1,h2,h3{font-family:var(--typography-fontFamily-brand);line-height:var(--typography-lineHeight-tight);margin:0;font-weight:600;letter-spacing:-.01em}h1{font-weight:700;font-style:italic}h2,h3{font-weight:600}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.ds-overlay-backdrop{background:var(--color-backdrop)}.ds-overlay-backdrop--transparent{background:transparent}.ds-overlay-panel{z-index:var(--z-modal, 1100)}.ds-toast-overlay{z-index:calc(var(--z-modal, 1100) + 1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root,.theme-dark{--color-semantic-bg-default: var(--dp-bg);--color-semantic-bg-subtle: var(--dp-bg-subtle);--color-semantic-surface-default: var(--dp-surface);--color-semantic-surface-raised: var(--dp-paper);--color-semantic-text-primary: var(--dp-text);--color-semantic-text-secondary: var(--dp-text-muted);--color-semantic-text-inverse: var(--dp-paper);--color-semantic-border-default: var(--dp-border);--color-semantic-border-strong: var(--dp-border-strong);--color-semantic-brand-primary: var(--dp-accent);--color-semantic-brand-primaryHover: color-mix(in srgb, var(--dp-accent) 86%, var(--dp-text));--color-semantic-brand-primaryActive: var(--dp-accent-text);--color-semantic-brand-accent: var(--dp-accent-bg);--color-semantic-focus-ring: var(--dp-focus-ring);--color-semantic-status-danger: var(--dp-danger);--color-semantic-status-success: var(--dp-success);--color-semantic-status-warning: var(--dp-accent);--color-semantic-status-exclusive: var(--dp-subscription);--color-semantic-status-info: var(--dp-success);--color-semantic-status-purchased: var(--dp-text-muted);--color-bg: var(--dp-bg);--color-surface: var(--dp-paper);--color-text: var(--dp-text);--color-text-inverse: var(--dp-paper);--color-border: var(--dp-border);--color-focus: var(--dp-focus-ring);--color-primary-600: var(--dp-accent);--color-danger-600: var(--dp-danger);--component-button-radius: var(--dp-radius-pill);--component-input-radius: var(--dp-radius-sm);--component-card-radius: var(--dp-radius-lg);--component-modal-radius: var(--dp-radius-lg);--component-modal-overlay: rgb(58 46 38 / .38);--radius-lg: var(--dp-radius-lg);--radius-md: var(--dp-radius);--radius-sm: var(--dp-radius-sm);--radius-pill: var(--dp-radius-pill);--shadow-soft: var(--dp-shadow-sm);--shadow-lift: var(--dp-shadow);--shadow-warm: var(--dp-shadow);--typography-fontFamily-brand: var(--dp-font-display);--typography-fontFamily-ui: var(--dp-font-ui);--typography-lineHeight-base: var(--dp-lh-body);--typography-lineHeight-tight: var(--dp-lh-heading)}html{background:var(--dp-bg)}body{background:var(--dp-bg);background-image:none;color:var(--dp-text);font-family:var(--dp-font-ui)}h1,h2,h3{font-family:var(--dp-font-display);font-weight:400;letter-spacing:0}h1{font-style:normal}:focus-visible{outline-color:var(--dp-focus-ring)}input,select,textarea{accent-color:var(--dp-accent)}input[type=checkbox]{width:16px;height:16px;border-radius:4px}input[type=file]::file-selector-button{min-height:36px;margin-right:var(--dp-space-3);border:1px solid color-mix(in srgb,var(--dp-accent) 28%,var(--dp-border));border-radius:var(--dp-radius-pill);background:var(--dp-accent-bg);color:var(--dp-accent-text);cursor:pointer;font:inherit;font-size:var(--dp-fs-sm);font-weight:800;padding:0 var(--dp-space-4)}input[type=file]::file-selector-button:hover{background:color-mix(in srgb,var(--dp-accent-bg) 72%,var(--dp-paper))}.cart-preview-root{position:fixed;inset:0 0 auto;z-index:100;height:100vh;height:100dvh}.cart-preview__backdrop{position:absolute;inset:0;background:#3a2e2657;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.cart-preview{position:absolute;inset:0 0 auto auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(430px,100vw);height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;border-left:1px solid var(--dp-border);background:var(--dp-paper);color:var(--dp-text);box-shadow:var(--rd-shadow-lg)}.cart-preview__header,.cart-preview__footer{padding:var(--dp-space-5)}.cart-preview__header{display:flex;justify-content:space-between;gap:var(--dp-space-4);border-bottom:1px solid var(--dp-border)}.cart-preview__eyebrow{color:var(--dp-accent-text);font-size:var(--dp-fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cart-preview h2{margin:var(--dp-space-1) 0 0;color:var(--dp-text-strong);font-family:var(--dp-font-display);font-size:var(--dp-fs-h3);font-weight:400;letter-spacing:0;line-height:var(--dp-lh-heading)}.cart-preview__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--dp-border);border-radius:50%;background:var(--dp-surface);color:inherit;cursor:pointer;font-size:24px;line-height:1}.cart-preview__body{display:grid;align-content:start;gap:var(--dp-space-3);min-height:0;overflow:auto;padding:var(--dp-space-4)}.cart-preview__item,.cart-preview__empty,.cart-preview__muted{border:1px solid var(--dp-border);border-radius:var(--dp-radius);background:color-mix(in srgb,var(--dp-surface) 72%,var(--dp-paper));padding:var(--dp-space-3)}.cart-preview__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--dp-space-3)}.cart-preview__item div,.cart-preview__empty{display:grid;gap:var(--dp-space-1);min-width:0}.cart-preview__item strong{overflow-wrap:anywhere;color:var(--dp-text-strong)}.cart-preview__item span,.cart-preview__item small,.cart-preview__empty span,.cart-preview__muted{color:var(--dp-text-muted);font-size:var(--dp-fs-sm)}.cart-preview__footer{display:grid;gap:var(--dp-space-4);border-top:1px solid var(--dp-border);background:color-mix(in srgb,var(--dp-surface) 74%,var(--dp-paper))}.cart-preview__total,.cart-preview__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--dp-space-3)}.cart-preview__actions ds-button .ds-btn{min-height:40px;border-radius:var(--dp-radius-pill);font-size:var(--dp-fs-sm);font-weight:800;padding:0 var(--dp-space-4)}.cart-preview__actions ds-button.ds-btn--primary .ds-btn{background:var(--dp-accent);color:#fff}.cart-preview__actions ds-button.ds-btn--secondary .ds-btn{border-color:color-mix(in srgb,var(--dp-accent) 26%,var(--dp-border));background:var(--dp-surface);color:var(--dp-accent-text)}@media(max-width:640px){.cart-preview__actions{align-items:stretch;flex-direction:column}}.preview__lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0d141cd1}.preview__lightbox-panel{width:min(100%,1040px);gap:12px}.preview__lightbox-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.preview__lightbox-image{display:block;width:100%;max-height:78vh;object-fit:contain;border-radius:var(--r);background:var(--sf)}.preview__lightbox-count{min-width:48px;color:#fff;text-align:center}
