@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Montserrat:wght@300;400;500;600;700&display=swap";.App{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:var(--bg);user-select:none;-webkit-user-select:none}.canvas-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:all;touch-action:none;-webkit-touch-callout:none;background:var(--bg)}.canvas-wrapper>canvas{width:100%!important;height:100%!important;display:block}.brand-header{position:absolute;top:28px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;animation:fadeInDown .7s ease both}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.brand-name{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:300;letter-spacing:.44em;text-transform:uppercase;color:var(--text-primary);line-height:1}.brand-sub{font-size:8px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);line-height:1}.product-info{position:absolute;left:0;top:0;bottom:0;width:300px;z-index:15;pointer-events:none}.product-info-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:1;pointer-events:all}.product-info-close{position:absolute;top:20px;right:20px;background:#0000000d;border:none;width:32px;height:32px;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--text-primary);cursor:pointer;z-index:10;transition:background .2s;pointer-events:all}.product-info-close:hover{background:#0000001a}.product-info-inner{pointer-events:all;background:#ffffffed;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-right:1px solid rgba(0,0,0,.06);width:100%;height:100%;padding:80px 24px 24px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;animation:slideInLeft .5s cubic-bezier(.22,1,.36,1) both}.product-info-inner::-webkit-scrollbar{display:none}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.info-divider{width:100%;height:1px;background:#00000012;margin:14px 0}.product-collection{font-size:8px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 7px}.product-name{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:400;color:var(--text-primary);line-height:1.2;margin:0 0 4px}.product-sku{font-size:8px;letter-spacing:.12em;color:var(--text-muted);margin:0}.product-price-block{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 3px}.product-price{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500;color:var(--text-primary)}.product-price-original{font-size:13px;color:var(--text-muted);text-decoration:line-through}.product-discount{font-size:9px;font-weight:700;background:var(--gold);color:#fff;padding:2px 6px;border-radius:2px}.product-tax{font-size:8px;color:var(--text-muted);letter-spacing:.03em;margin:0}.product-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:14px}.product-tab{flex:1;padding:8px 0;font-family:Montserrat,sans-serif;font-size:8px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px}.product-tab.active{color:var(--text-primary);border-bottom-color:var(--gold)}.product-tab:hover:not(.active){color:var(--text-primary)}.tab-panel{margin-bottom:0}.product-description{font-size:11px;line-height:1.8;color:var(--text-secondary);margin:0 0 12px}.product-features{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.product-feature-tag{font-size:7.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border:1px solid rgba(0,0,0,.1);border-radius:2px;padding:4px 7px}.product-meta-label{font-size:7.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin:0 0 7px}.product-materials-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.product-material-item{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.product-material-item:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#00000012;border:1px solid rgba(0,0,0,.07);border-radius:6px;overflow:hidden}.spec-item{background:#fffc;padding:10px 12px;display:flex;flex-direction:column;gap:3px}.spec-label{font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.spec-value{font-size:11px;font-weight:500;color:var(--text-primary)}.in-stock{color:#2e7d32!important}.out-stock{color:#c17d00!important}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:var(--gold);color:#fff;font-family:Montserrat,sans-serif;font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border:none;border-radius:3px;cursor:pointer;margin-bottom:7px;transition:background .22s,transform .15s}.btn-primary:hover{background:#b8922e;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 20px;background:transparent;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:8.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(0,0,0,.13);border-radius:3px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-glow)}.trust-badges{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.07)}.trust-badge{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1}.trust-badge svg{color:var(--gold)}.trust-badge span{font-size:7px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);text-align:center;line-height:1.3}.ring-selector{position:absolute;top:50%;right:24px;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:10px;animation:fadeIn .6s ease .2s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ring-selector-label{font-size:7px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--text-secondary);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);margin-bottom:6px}.ring-rail{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding:2px;scrollbar-width:none}.ring-rail::-webkit-scrollbar{display:none}.ring-card{position:relative;width:56px;height:56px;border-radius:50%;cursor:pointer;flex-shrink:0;transition:transform .25s ease}.ring-card:hover{transform:scale(1.07)}.ring-card:active{transform:scale(.97)}.ring-card-inner{width:56px;height:56px;border-radius:50%;overflow:hidden;border:1.5px solid rgba(0,0,0,.08);transition:border-color .25s,box-shadow .25s;background:#fff;box-shadow:0 2px 8px #0000000f}.ring-card.active .ring-card-inner{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-dim),0 4px 16px var(--gold-glow)}.ring-card-inner img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.92);transition:filter .25s}.ring-card:hover .ring-card-inner img,.ring-card.active .ring-card-inner img{filter:brightness(1)}.ring-card-tick{position:absolute;bottom:-1px;right:-1px;width:17px;height:17px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:opacity .22s,transform .22s cubic-bezier(.18,1.2,.4,1);box-shadow:0 1px 5px #00000026}.ring-card.active .ring-card-tick{opacity:1;transform:scale(1)}.ring-card-tick svg{width:8px;height:8px;stroke:#fff;stroke-width:2.5;fill:none}.ring-configurator{position:absolute;bottom:0;left:300px;right:88px;z-index:20;display:flex;justify-content:center;padding:0 16px 24px;pointer-events:none;animation:slideInUp .5s cubic-bezier(.22,1,.36,1) .15s both}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.configurator-panel{pointer-events:all;background:#ffffffeb;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(0,0,0,.07);border-radius:10px;padding:16px 24px;display:flex;gap:20px;align-items:center;width:100%;max-width:760px;position:relative;box-shadow:0 4px 24px #0000000f,0 1px #ffffffe6 inset}.configurator-panel:before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.45;border-radius:1px}.config-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0;min-width:0}.config-divider{width:1px;height:52px;align-self:center;background:linear-gradient(180deg,transparent,rgba(0,0,0,.1),transparent);flex-shrink:0}.config-label{font-size:7.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--text-muted);line-height:1;white-space:nowrap}.stone-toggle{display:flex;border:1px solid rgba(0,0,0,.1);border-radius:5px;overflow:hidden}.stone-toggle-btn{flex:1;padding:7px 13px;font-family:Montserrat,sans-serif;font-size:8.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-secondary);background:transparent;transition:background .18s,color .18s;cursor:pointer;white-space:nowrap;border:none}.stone-toggle-btn.active{background:var(--gold);color:#fff}.stone-toggle-btn:not(.active):hover{background:#0000000a;color:var(--text-primary)}.cut-options{display:grid;grid-template-columns:1fr 1fr;gap:5px}.cut-btn{padding:6px 9px;font-family:Montserrat,sans-serif;font-size:7.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);background:transparent;border:1px solid rgba(0,0,0,.08);border-radius:3px;cursor:pointer;transition:all .18s;white-space:nowrap;text-align:center}.cut-btn:hover:not(.active){border-color:var(--gold-dim);color:var(--text-primary)}.cut-btn.active{border-color:var(--gold);color:var(--gold);background:var(--gold-glow);font-weight:600}.swatch-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center;max-width:132px}.swatch{width:24px;height:24px;border-radius:50%;cursor:pointer;position:relative;transition:transform .18s;flex-shrink:0;box-shadow:0 1px 4px #0000001f}.swatch:hover{transform:scale(1.14)}.swatch:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1.5px solid transparent;transition:border-color .18s}.swatch.active{transform:scale(1.1)}.swatch.active:after{border-color:var(--gold)}.swatch.swatch-gold{background:radial-gradient(circle at 35% 35%,#f0c060,#a07828)}.swatch.swatch-silver{background:radial-gradient(circle at 35% 35%,#e8e8e8,#909090)}.swatch.swatch-ruby{background:radial-gradient(circle at 35% 35%,#e8405a,#8b0020)}.swatch.swatch-sapphire{background:radial-gradient(circle at 35% 35%,#4080e0,#1030a0)}.mobile-info-btn{position:absolute;top:20px;right:20px;z-index:25;background:#ffffffe6;border:1px solid rgba(0,0,0,.08);width:38px;height:38px;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--text-primary);cursor:pointer;box-shadow:0 2px 10px #00000012}.loading-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:15vh;pointer-events:none}.loading-content{display:flex;flex-direction:column;align-items:center;gap:14px;animation:fadeIn .4s ease both}.loading-ring{position:relative;width:76px;height:76px;display:flex;justify-content:center;align-items:center}.loading-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.loading-ring-progress{transition:stroke-dasharray .3s ease-out}.loading-ring-text{font-family:Montserrat,sans-serif;font-size:10px;font-weight:500;color:var(--gold)}.loading-brand{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;letter-spacing:.4em;color:var(--text-primary);margin-top:6px}.loading-sub{font-size:8px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.loading-msg{font-size:10px;color:var(--text-muted);letter-spacing:.08em;margin-top:6px}@media (max-width: 960px){.product-info{display:none}.ring-configurator{left:0;right:76px}}@media (max-width: 768px){.App{height:100dvh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column}.canvas-wrapper{position:relative;width:100%;flex:1 1 auto;min-height:200px;overflow:hidden;touch-action:none}.brand-header{position:absolute;top:14px;left:50%;transform:translate(-50%)}.brand-name{font-size:16px;letter-spacing:.38em}.mobile-info-btn{top:14px;right:14px;width:34px;height:34px}.ring-selector{position:relative;top:auto;right:auto;transform:none;width:100%;flex-direction:column;align-items:flex-start;padding:0 0 4px;gap:4px;animation:none;background:var(--bg);flex-shrink:0;flex-grow:0}.ring-selector-label{writing-mode:horizontal-tb;transform:none;margin-bottom:0;margin-left:16px;margin-top:2px}.ring-rail{flex-direction:row;max-height:none;width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 16px 6px;gap:8px}.ring-card,.ring-card-inner{width:44px;height:44px}.ring-card-tick{width:15px;height:15px}.ring-card-tick svg{width:7px;height:7px}.ring-configurator{position:relative;bottom:auto;left:auto;right:auto;padding:6px 12px 12px;justify-content:stretch;animation:none;flex-shrink:0;flex-grow:0}.configurator-panel{background:#fffffffa;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0;padding:0;width:100%;max-width:100%;box-shadow:0 2px 12px #00000012}.configurator-panel:before{display:none}.config-divider{display:none}.config-section{flex:none;padding:12px 12px 10px;gap:7px;min-width:0}.config-section:nth-child(1),.config-section:nth-child(3){border-bottom:1px solid rgba(0,0,0,.06)}.config-section:nth-child(1),.config-section:nth-child(5){border-right:1px solid rgba(0,0,0,.06)}.swatch-row{gap:6px}.config-label{font-size:7px}.stone-toggle-btn{padding:7px 8px;font-size:8px}.cut-btn{padding:6px 5px;font-size:7px}.swatch{width:24px;height:24px}.swatch-row{gap:7px}.product-info.mobile-open{display:flex;position:fixed;width:100%;height:100%;z-index:100;pointer-events:all}.product-info.mobile-open .product-info-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:all}.product-info.mobile-open .product-info-inner{position:absolute;bottom:0;left:0;right:0;width:100%;height:85%;border-radius:20px 20px 0 0;border-right:none;padding:28px 20px 32px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;animation:slideUpSheet .35s cubic-bezier(.22,1,.36,1) both;z-index:2}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.category-tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none;padding:8px 16px 0;gap:6px;margin-bottom:0;width:100%}.category-tabs::-webkit-scrollbar{display:none}.category-tab{writing-mode:horizontal-tb;transform:none;font-size:8px;font-weight:600;letter-spacing:.12em;padding:5px 12px;border-radius:20px;white-space:nowrap;border:1px solid rgba(0,0,0,.1);background:none;color:var(--text-secondary);flex-shrink:0;cursor:pointer;transition:all .18s}.category-tab.active{background:var(--gold);color:#fff;border-color:var(--gold)}}.category-tabs{display:flex;gap:4px;width:100%}.category-tab{background:none;border:none;font-family:inherit;font-weight:600;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color .2s,background .2s}.category-tab:hover{color:var(--text-primary);background:#0000000a}.category-tab.active{color:var(--gold);font-weight:700}@media (min-width: 769px){.category-tabs{flex-direction:column;margin-bottom:4px}.category-tab{font-size:7px;letter-spacing:.18em;padding:4px 6px;border-radius:4px;text-align:center;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}}@media (max-width: 380px){.canvas-wrapper{height:52vw;min-height:200px}.config-section{padding:8px 10px}.cut-btn{font-size:7px;padding:6px 4px}.swatch{width:22px;height:22px}.brand-name{font-size:15px;letter-spacing:.32em}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gold: #C9A84C;--gold-dim: rgba(201, 168, 76, .4);--gold-glow: rgba(201, 168, 76, .12);--bg: #FAF9F6;--surface: rgba(255, 255, 255, .85);--surface-border: rgba(0, 0, 0, .08);--text-primary: #1C1A17;--text-secondary: rgba(28, 26, 23, .55);--text-muted: rgba(28, 26, 23, .35);font-family:Montserrat,sans-serif;font-size:13px;font-weight:400;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-height:100dvh;background:var(--bg);overflow:hidden}button{font-family:Montserrat,sans-serif;cursor:pointer;border:none;outline:none;background:none}button:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
