:root{--color-white: #ffffff;--color-dark-grey: #E0AFA0;--color-cream: #F4F3EE;--color-green: #d9a190;--color-light-grey: #F4F3EE;--color-primary: var(--color-dark-grey);--color-primary-light: var(--color-green);--color-primary-dark: var(--color-dark-grey);--color-accent: var(--color-green);--color-accent-light: var(--color-green);--color-text-primary: var(--color-dark-grey);--color-text-secondary: var(--color-dark-grey);--color-text-muted: var(--color-dark-grey);--color-text-inverse: var(--color-white);--color-background: var(--color-white);--color-background-secondary: var(--color-light-grey);--color-background-tertiary: var(--color-cream);--color-surface: var(--color-white);--color-surface-hover: var(--color-light-grey);--color-border: var(--color-light-grey);--color-border-hover: var(--color-green);--color-border-focus: var(--color-green);--shadow-sm: 0 1px 2px rgba(88, 91, 83, .1);--shadow-md: 0 2px 4px rgba(88, 91, 83, .1);--shadow-lg: 0 4px 8px rgba(88, 91, 83, .1);--shadow-xl: 0 8px 16px rgba(88, 91, 83, .1);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-2xl: 0;--font-family-primary: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Inter", "SF Pro Display", system-ui, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--space-1: .125rem;--space-2: .25rem;--space-3: .5rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.25rem;--space-8: 1.5rem;--space-10: 2rem;--space-12: 2.5rem;--space-16: 3rem;--space-20: 4rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--container-max-width: 1280px;--container-padding: var(--space-3)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.configurator-error{background:var(--color-cream);border:1px solid var(--color-border);color:var(--color-text-primary);padding:var(--space-2);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);font-size:.875rem;display:none}.bracelet-configurator{max-width:var(--container-max-width);margin:0 auto;padding:var(--container-padding);font-family:var(--font-family-primary);line-height:1.4;color:var(--color-text-primary);background:var(--color-background);min-height:100vh}.configurator__header{text-align:center;margin-bottom:var(--space-4);position:relative}.configurator__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-extrabold);font-family:var(--font-family-display);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:1.1;letter-spacing:-.025em}.step-nav{display:flex;justify-content:center;align-items:stretch;list-style:none;padding:0;margin:0 auto var(--space-4);max-width:600px;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.step-nav__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);transition:all var(--transition-normal);cursor:pointer;position:relative;flex:1;min-width:0;background:transparent}.step-nav__item:hover{background:var(--color-light-grey)}.step-nav__item--active{background:var(--color-green);color:var(--color-text-inverse)}.step-nav__number{width:24px;height:24px;background:var(--color-background-secondary);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:.75rem;transition:all var(--transition-normal);border:1px solid var(--color-border);position:relative}.step-nav__item--active .step-nav__number{background:var(--color-white);color:var(--color-text-primary);border-color:var(--color-white)}.step-nav__label{font-size:.625rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;line-height:1.2}.step-nav__item--active .step-nav__label{color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.configurator__price-bar{background:var(--color-surface);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);position:relative;overflow:hidden}.price-display{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.price-section{display:flex;align-items:center;gap:var(--space-2)}.price-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:.875rem}.price-amount{color:var(--color-primary);font-size:1.25rem;font-weight:var(--font-weight-extrabold);letter-spacing:-.025em;font-family:var(--font-family-display)}.start-again-btn{background:var(--color-green);color:var(--color-text-inverse);border:none;padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.start-again-btn:hover{background:var(--color-dark-grey)}.configurator__steps{min-height:50vh;margin-bottom:var(--space-6)}.step{display:none;opacity:0;transform:translateY(5px)}.step--active{display:block;opacity:1;transform:translateY(0);animation:fadeSlideIn var(--transition-slow) ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.step__content{background:var(--color-surface);padding:var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);position:relative;overflow:hidden}.step__title{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:var(--font-weight-bold);font-family:var(--font-family-display);color:var(--color-text-primary);margin-bottom:var(--space-1);text-align:center;line-height:1.2;letter-spacing:-.02em}.step__description{font-size:.875rem;color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-4);max-width:400px;margin-left:auto;margin-right:auto;line-height:1.4}.bead-styles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-top:var(--space-3)}.bead-style{position:relative;background:var(--color-surface);border:2px solid var(--color-border);padding:var(--space-3);cursor:pointer;transition:all var(--transition-normal);overflow:hidden}.bead-style:hover{border-color:var(--color-green)}.bead-style--selected{border-color:var(--color-green);background:var(--color-cream)}.bead-style__image{width:100%;aspect-ratio:1;overflow:hidden;margin-bottom:var(--space-2);background:var(--color-background-secondary);display:flex;align-items:center;justify-content:center;position:relative}.bead-style__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.bead-style:hover .bead-style__image img{transform:scale(1.05)}.bead-style__placeholder{color:var(--color-text-muted);font-size:.875rem;text-align:center}.bead-style__info{text-align:center}.bead-style__label{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);line-height:1.3}.bead-style__price{font-size:.75rem;font-weight:var(--font-weight-bold);color:var(--color-primary);font-family:var(--font-family-display)}.size-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.size-option{position:relative;cursor:pointer;transition:all var(--transition-normal)}.size-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.size-option input[type=radio]:checked+.size-option__content{background:var(--color-green);border-color:var(--color-green);color:var(--color-text-inverse)}.size-option input[type=radio]:checked+.size-option__content .size-option__label{color:var(--color-text-inverse)}.size-option__content{background:var(--color-surface);border:2px solid var(--color-border);padding:var(--space-2);text-align:center;transition:all var(--transition-normal);min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:var(--space-1)}.size-option__label{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}.size-option__measurement{font-size:.625rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.size-option--custom .size-option__content{flex-direction:column;gap:var(--space-1)}.custom-size-input{display:flex;align-items:center;gap:var(--space-1);justify-content:center}.custom-size-input input[type=number]{width:50px;padding:var(--space-1);border:1px solid var(--color-border);font-size:.75rem;text-align:center;background:var(--color-background);transition:border-color var(--transition-fast)}.custom-size-input input[type=number]:focus{outline:none;border-color:var(--color-green)}.custom-size-unit{font-size:.625rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.gemstone-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);margin-top:var(--space-4);align-items:start}.gemstone-gallery{background:linear-gradient(135deg,#fff,#f4f3ee);padding:var(--space-6);border:1px solid var(--color-border);position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014}.gallery__header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);text-align:center}.gallery__title{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);font-family:var(--font-family-display);letter-spacing:-.01em}.gallery__count{font-size:.875rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);background:var(--color-cream);padding:var(--space-1) var(--space-3);display:inline-block}.gallery__search{position:relative;margin-bottom:var(--space-4)}.gallery__search input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-8);border:2px solid var(--color-border);font-size:.875rem;background:var(--color-background);transition:all var(--transition-fast);box-shadow:0 2px 8px #0000000a}.gallery__search input:focus{outline:none;border-color:var(--color-green);background:var(--color-surface);box-shadow:0 4px 12px #9db29726}.gallery__search:before{content:"\1f50d";position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);font-size:.875rem;color:var(--color-text-muted);pointer-events:none}.gallery__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);justify-content:center}.filter-tag{background:var(--color-surface);border:2px solid var(--color-border);padding:var(--space-2) var(--space-3);cursor:pointer;transition:all var(--transition-normal);font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.025em}.filter-tag:hover{border-color:var(--color-green);background:var(--color-cream);transform:translateY(-1px)}.filter-tag--active{background:var(--color-green);border-color:var(--color-green);color:var(--color-text-inverse);box-shadow:0 2px 8px #9db2974d}.gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3)}.gallery__loading{text-align:center;padding:var(--space-6);color:var(--color-text-muted);font-style:italic;font-size:.875rem}.gem-item{background:var(--color-surface);border:2px solid var(--color-border);padding:var(--space-3);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f;aspect-ratio:1;display:flex;flex-direction:column}.gem-item:hover{border-color:var(--color-green);transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.gem-item:active{transform:translateY(0)}.gem-item--selected{border-color:var(--color-green);background:linear-gradient(135deg,var(--color-cream) 0%,#ffffff 100%);transform:translateY(-1px);box-shadow:0 6px 20px #9db29733}.gem-item--selected:after{content:"\2713";position:absolute;top:var(--space-2);right:var(--space-2);width:20px;height:20px;background:var(--color-green);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:var(--font-weight-bold);box-shadow:0 2px 6px #9db29766;animation:checkmarkAppear var(--transition-normal) ease-out}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}.gem-item[aria-grabbed=true]{opacity:.9;transform:rotate(3deg) scale(1.05);z-index:1000;box-shadow:0 12px 30px #0003}.gem-item__image{width:100%;flex:1;overflow:hidden;margin-bottom:var(--space-2);background:linear-gradient(135deg,#f4f3ee,#fff);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 2px 4px #0000000f}.gem-item:hover .gem-item__image{transform:scale(1.05)}.gem-item__image img{width:100%;height:100%;object-fit:contain;transition:transform var(--transition-normal);filter:brightness(1.05) saturate(1.1)}.gem-item__info{text-align:center;flex-shrink:0}.gem-item__name{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);line-height:1.3;text-transform:capitalize}.gem-item__price{font-size:.75rem;color:var(--color-green);font-weight:var(--font-weight-bold);font-family:var(--font-family-display)}.bracelet-canvas{background:linear-gradient(135deg,#fff,#f4f3ee);padding:var(--space-6);border:1px solid var(--color-border);position:relative;overflow:hidden;min-height:400px;box-shadow:0 4px 20px #00000014}.canvas__header{text-align:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border)}.canvas__title{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);font-family:var(--font-family-display);letter-spacing:-.01em}.canvas__progress{color:var(--color-text-secondary);font-size:.875rem;font-weight:var(--font-weight-medium);background:var(--color-cream);padding:var(--space-1) var(--space-3);display:inline-block}.canvas__instructions{text-align:center;margin-bottom:var(--space-4);padding:var(--space-3);background:linear-gradient(135deg,var(--color-cream) 0%,#ffffff 100%);border:2px solid var(--color-border);box-shadow:0 2px 8px #0000000a}.canvas__instructions p{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;font-weight:var(--font-weight-medium)}.canvas__instructions .highlight{color:var(--color-green);font-weight:var(--font-weight-bold)}.canvas__bracelet{display:flex;justify-content:center;align-items:center;min-height:280px;position:relative;padding:var(--space-4)}.design-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:16px;pointer-events:none;z-index:-1}.bracelet-circle{width:100%;max-width:350px;aspect-ratio:1;border:6px solid #b7b7b7;border-radius:50%;position:relative;background:linear-gradient(145deg,#fbfbfb,#f0f0f0);box-shadow:0 8px 25px #0000001f,inset 0 2px 4px #ffffffe6,inset 0 -2px 6px #00000014;transition:all var(--transition-normal);overflow:visible}.bracelet-circle:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:linear-gradient(45deg,#e5e5e5,#fff,#dcdcdc);z-index:-1;opacity:.6;filter:blur(2px)}.bracelet-circle:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.3) 0%,transparent 70%);pointer-events:none;z-index:0}.bracelet-inner{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:50%;background:linear-gradient(145deg,#fafafa,#f2f2f2);box-shadow:inset 0 2px 8px #0000001a;z-index:1}.bracelet-beads{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;z-index:1}.bracelet-bead{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 35%,#fff,#dcdcdc 55%,#9c9c9c);box-shadow:0 1px 3px #00000040}.bracelet-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.overlay-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.overlay-bar{width:28px;height:6px;background:linear-gradient(145deg,#d9d9d9,#bfbfbf);border-radius:4px;box-shadow:0 1px 3px #0003,inset 0 1px 2px #fff9}.overlay-bar--small{width:18px;height:5px}.overlay-heart{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#cf2e2e;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.gem-slot{position:absolute;width:40px;height:40px;border:3px solid #b7b7b7;border-radius:50%;background:linear-gradient(145deg,#fff,#f3f3f3);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0000001f,inset 0 1px 2px #fffc;z-index:2}.gem-slot:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:linear-gradient(45deg,#f5f5f5,#dcdcdc);z-index:-1;opacity:.7;filter:blur(1px)}.gem-slot--1{top:8%;left:50%}.gem-slot--2{top:22%;left:78%}.gem-slot--3{top:50%;left:92%}.gem-slot--4{top:78%;left:78%}.gem-slot--5{top:92%;left:50%}.gem-slot--6{top:78%;left:22%}.gem-slot--7{top:50%;left:8%}.gem-slot--8{top:22%;left:22%}.gem-slot:hover{border-color:var(--color-green);background:linear-gradient(145deg,#fff,#efefef);transform:translate(-50%,-50%) scale(1.1);box-shadow:0 6px 20px #9db2974d,inset 0 1px 2px #ffffffe6}.gem-slot--drag-over{border-color:var(--color-green);background:var(--color-green);transform:translate(-50%,-50%) scale(1.15);animation:pulseSlot 1s infinite;box-shadow:0 8px 25px #9db29766}@keyframes pulseSlot{0%,to{box-shadow:0 0 #9db29799}50%{box-shadow:0 0 0 8px #9db29700}}.gem-slot--filled{border-color:var(--color-green);background:linear-gradient(145deg,var(--color-cream) 0%,#ffffff 100%);box-shadow:0 6px 20px #9db29740,inset 0 1px 2px #ffffffe6}.gem-slot--allowed{border-color:var(--color-green);background:linear-gradient(145deg,#ffffff 0%,var(--color-cream) 100%);box-shadow:0 8px 24px #9db29740,0 0 0 4px #9db29726,inset 0 1px 2px #ffffffe6}.gem-slot--disabled{opacity:.35;filter:grayscale(60%);border-style:dashed;cursor:not-allowed;pointer-events:none;transform:translate(-50%,-50%)}.gem-slot--disabled:hover{transform:translate(-50%,-50%);box-shadow:none}.allowed-slots-legend{margin-top:var(--space-3);text-align:center;font-size:.75rem;color:var(--color-text-secondary)}.slot-number{font-size:.75rem;font-weight:var(--font-weight-bold);color:#c9a96e;transition:all var(--transition-fast);text-shadow:0 1px 2px rgba(255,255,255,.8)}.gem-slot:hover .slot-number{color:var(--color-green);transform:scale(1.1)}.gem-slot--filled .slot-number{display:none}.slot-content{position:absolute;top:3px;right:3px;bottom:3px;left:3px;overflow:hidden;display:flex;align-items:center;justify-content:center}.slot-gem{width:100%;height:100%;overflow:hidden;position:relative;box-shadow:inset 0 1px 3px #0003}.slot-gem img{width:100%;height:100%;object-fit:cover;filter:brightness(1.1) saturate(1.2) contrast(1.1)}.slot-gem__name{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:.625rem;color:var(--color-text-secondary);background:linear-gradient(135deg,var(--color-surface) 0%,#ffffff 100%);padding:var(--space-1) var(--space-2);white-space:nowrap;opacity:0;transition:opacity var(--transition-fast);pointer-events:none;box-shadow:0 2px 6px #0000001a;font-weight:var(--font-weight-semibold)}.gem-slot:hover .slot-gem__name{opacity:1}.selected-gems{background:linear-gradient(135deg,#fff,#f4f3ee);padding:var(--space-4);border:1px solid var(--color-border);min-height:300px;box-shadow:0 4px 20px #00000014}.selected-gems h4{font-size:1rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border);font-family:var(--font-family-display);text-align:center;letter-spacing:-.01em}.gems-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-3)}.gems-list::-webkit-scrollbar{display:none}.selected-gem{position:relative;background:var(--color-surface);border:2px solid var(--color-border);padding:var(--space-2);transition:all var(--transition-fast);box-shadow:0 2px 8px #0000000f}.selected-gem:hover{background:var(--color-surface-hover);border-color:var(--color-green);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.selected-gem__slot{position:absolute;top:var(--space-1);left:var(--space-1);width:16px;height:16px;border-radius:50%;background:var(--color-green);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:var(--font-weight-bold);z-index:2;box-shadow:0 1px 3px #0003}.selected-gem__image{width:100%;height:50px;overflow:hidden;background:linear-gradient(135deg,#f4f3ee,#fff);margin-bottom:var(--space-2);box-shadow:inset 0 1px 3px #0000000f}.selected-gem__image img{width:100%;height:100%;object-fit:cover;filter:brightness(1.05) saturate(1.1)}.selected-gem__info{text-align:center}.selected-gem__name{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);line-height:1.3;text-transform:capitalize}.selected-gem__price{font-size:.625rem;color:var(--color-green);font-weight:var(--font-weight-bold);font-family:var(--font-family-display)}.selected-gem__remove{position:absolute;top:var(--space-1);right:var(--space-1);width:16px;height:16px;border-radius:50%;background:#dc2626;color:var(--color-text-inverse);border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:var(--font-weight-bold);z-index:3;box-shadow:0 1px 3px #0003}.selected-gem__remove:hover{background:#b91c1c;transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.no-gems{text-align:center;color:var(--color-text-muted);font-style:italic;padding:var(--space-4);font-size:.625rem;grid-column:1 / -1}.extra-details{margin-top:var(--space-3)}.extra-details__label{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);display:block}.extra-details__textarea{width:100%;min-height:60px;padding:var(--space-2);border:1px solid var(--color-border);font-size:.75rem;font-family:var(--font-family-primary);background:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast);resize:vertical}.extra-details__textarea:focus{outline:none;border-color:var(--color-green);background:var(--color-surface-hover)}.character-count{text-align:right;margin-top:var(--space-1);font-size:.625rem;color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.bracelet-physics-viewer{background:linear-gradient(135deg,#fff,#f4f3ee);padding:var(--space-6);border:1px solid var(--color-border);position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014}.physics-review-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}.viewer__title{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);font-family:var(--font-family-display);text-align:center;letter-spacing:-.01em}.viewer__description{font-size:.875rem;color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-4);line-height:1.5}.physics-viewer-container{background:#000;position:relative;overflow:hidden;aspect-ratio:1;box-shadow:0 8px 25px #0003}#braceletCanvas{width:100%;height:100%;display:block}#braceletCanvas:active{cursor:grabbing}.canvas-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;min-height:100%;width:100%}.canvas-loading-overlay.show{opacity:1!important;visibility:visible!important}.loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);position:relative;z-index:101}.loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #ffffff;border-radius:50%;animation:loadingSpin 1s linear infinite}.loading-text{font-size:1rem;font-weight:var(--font-weight-semibold);color:#fff;margin:0;letter-spacing:.025em}@keyframes loadingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.physics-order-summary{background:var(--color-surface);padding:var(--space-4);border:1px solid var(--color-border);box-shadow:0 4px 20px #00000014;height:fit-content;position:sticky;top:var(--space-4)}.physics-order-summary h3{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border);font-family:var(--font-family-display);text-align:center;letter-spacing:-.01em}.summary-section{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.summary-section:last-child{border-bottom:none;margin-bottom:0}.summary-section h4{font-size:.875rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.025em}.summary-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-1);gap:var(--space-2)}.summary-item:last-child{margin-bottom:0}.summary-item--total{font-weight:var(--font-weight-bold);font-size:1.125rem;padding-top:var(--space-2);border-top:2px solid var(--color-border);color:var(--color-text-primary)}.summary-label{font-size:.75rem;color:var(--color-text-secondary);line-height:1.4;flex:1}.summary-price{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.summary-item--total .summary-label,.summary-item--total .summary-price{font-size:1rem;color:var(--color-text-primary)}.gem-slot-indicator{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--color-green);color:var(--color-text-inverse);font-size:.625rem;font-weight:var(--font-weight-bold);margin-right:var(--space-1);border-radius:50%}.summary-text{font-style:italic;color:var(--color-text-muted);font-size:.625rem;line-height:1.5}.review-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4);align-items:start}.design-preview{background:var(--color-surface);padding:var(--space-4);border:1px solid var(--color-border)}.design-preview h3{font-size:1rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-3);text-align:center;font-family:var(--font-family-display)}.order-summary{background:var(--color-surface);padding:var(--space-4);border:1px solid var(--color-border);position:sticky;top:var(--space-3)}.order-summary h3{font-size:1rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-3);text-align:center;font-family:var(--font-family-display)}.summary-section{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.summary-section:last-child{border-bottom:none;padding-top:var(--space-3)}.summary-section h4{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.summary-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1);font-size:.625rem}.summary-item--total{font-size:.875rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);padding-top:var(--space-2);border-top:1px solid var(--color-border);margin-top:var(--space-2)}.summary-label{color:var(--color-text-secondary)}.summary-price{color:var(--color-primary);font-weight:var(--font-weight-semibold);font-family:var(--font-family-display)}.step-navigation{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.nav-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);font-size:.75rem;font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all var(--transition-normal);position:relative;overflow:hidden;min-width:100px;justify-content:center}.nav-btn--primary{background:var(--color-green);color:var(--color-text-inverse)}.nav-btn--primary:hover{background:var(--color-dark-grey)}.nav-btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.nav-btn--secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.nav-btn--accent{background:var(--color-dark-grey);color:var(--color-text-inverse)}.nav-btn--accent:hover{background:var(--color-green)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)!important;font-size:.625rem}.text-primary{color:var(--color-primary)!important}.mb-4{margin-bottom:var(--space-4)!important}.mt-4{margin-top:var(--space-4)!important}.hidden{display:none!important}.loading{opacity:.6;pointer-events:none;position:relative}.loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid var(--color-border);border-top-color:var(--color-green);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.bracelet-configurator{padding:var(--space-2)}.configurator__title{font-size:clamp(1.25rem,5vw,1.75rem);margin-bottom:var(--space-2)}.step-nav{margin-bottom:var(--space-3)}.step-nav__item{padding:var(--space-1)}.step-nav__number{width:20px;height:20px;font-size:.625rem}.step-nav__label{font-size:.5rem}.configurator__price-bar{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.price-display{flex-direction:column;gap:var(--space-1);text-align:center}.price-amount{font-size:1rem}.step__content{padding:var(--space-3)}.step__title{font-size:clamp(1rem,3vw,1.5rem)}.bead-styles-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.size-options{grid-template-columns:repeat(2,1fr);gap:var(--space-1)}.size-option__content{padding:var(--space-1);min-height:40px}.gemstone-layout{grid-template-columns:1fr;gap:var(--space-4)}.gemstone-gallery{padding:var(--space-4)}.gallery__title{font-size:1rem}.gallery__search input{font-size:.75rem;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-6)}.gallery__grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:var(--space-2)}.gem-item{padding:var(--space-2)}.gem-item__name,.gem-item__price{font-size:.625rem}.bracelet-canvas{padding:var(--space-4);min-height:320px}.canvas__title{font-size:1rem}.bracelet-circle{max-width:250px;border-width:4px}.gem-slot{width:30px;height:30px;border-width:2px}.slot-number{font-size:.625rem}.selected-gems{padding:var(--space-3);min-height:250px}.gems-list{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:var(--space-2)}.selected-gem{padding:var(--space-1)}.selected-gem__image{height:40px}.selected-gem__name{font-size:.625rem}.selected-gem__price{font-size:.5rem}.selected-gem__slot{width:12px;height:12px;font-size:.5rem}.selected-gem__remove{width:12px;height:12px;font-size:.625rem}.bracelet-physics-viewer{padding:var(--space-3)}.physics-review-layout{grid-template-columns:1fr;gap:var(--space-4)}.physics-order-summary{position:static}.review-layout{grid-template-columns:1fr;gap:var(--space-3)}.order-summary{position:static;padding:var(--space-3)}.step-navigation{flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.nav-btn{width:100%;min-width:auto;padding:var(--space-2) var(--space-3)}}@media (max-width: 480px){.bracelet-configurator{padding:var(--space-1)}.step-nav{flex-wrap:wrap;justify-content:space-around}.step-nav__item{flex:none;min-width:50px}.bead-styles-grid{grid-template-columns:1fr 1fr}.size-options{grid-template-columns:1fr}.gemstone-gallery{padding:var(--space-3)}.gallery__title{font-size:.875rem}.gallery__grid{grid-template-columns:repeat(4,1fr);gap:var(--space-1)}.gem-item{padding:var(--space-1)}.gem-item__name,.gem-item__price{font-size:.5rem}.bracelet-canvas{padding:var(--space-3);min-height:280px}.bracelet-circle{max-width:200px;border-width:3px}.gem-slot{width:24px;height:24px}.slot-number{font-size:.5rem}.selected-gems{padding:var(--space-2)}.gems-list{grid-template-columns:repeat(3,1fr);gap:var(--space-1)}.selected-gem__image{height:32px}.selected-gem__slot{width:10px;height:10px;font-size:.375rem}.selected-gem__remove{width:10px;height:10px;font-size:.5rem}.physics-review-layout{grid-template-columns:1fr;gap:var(--space-3)}}@media print{.bracelet-configurator{background:#fff!important;color:#000!important}.step-nav,.nav-btn,.start-again-btn{display:none!important}.step__content{border:1px solid #ccc!important;page-break-inside:avoid}}
/*# sourceMappingURL=/cdn/shop/t/9/assets/configurator.css.map */
