:root{--color-gold:#c5a059;--color-gold-hover:#b08d4a;--color-black:#111;--color-dark-gray:#2c2c2e;--color-gray:#e5e5ea;--color-light-gray:#f5f5f7;--bg-main:#f5f5f7;--bg-card:#fff;--text-main:#1d1d1f;--text-muted:#86868b;--radius-sm:10px;--radius-md:18px;--radius-lg:24px;--shadow-sm:0 4px 14px #0000000a;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 40px #0000001f;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);letter-spacing:-.015em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.login-overlay{-webkit-backdrop-filter:saturate(180%)blur(20px);z-index:10000;background-color:#f5f5f7cc;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.login-box{text-align:center;background:#fff;border:1px solid #00000005;border-radius:24px;width:90%;max-width:420px;padding:48px;box-shadow:0 16px 40px #0000001f}.login-box h2{font-family:var(--font-family,-apple-system, sans-serif);letter-spacing:-.02em;color:var(--text-main,#1d1d1f);margin-bottom:.5rem;font-size:28px;font-weight:700}.login-box p{color:#666;margin-bottom:2rem;font-size:.95rem}.login-box form{flex-direction:column;gap:1rem;display:flex}.login-box input{color:var(--text-main,#1d1d1f);background-color:#0000000a;border:none;border-radius:12px;outline:none;padding:14px 16px;font-size:1rem;transition:all .2s}.login-box input:focus{background-color:#0000000f;box-shadow:0 0 0 4px #c5a05926}.login-box button{background-color:var(--color-black,#111);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:14px;font-size:1rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.login-box button:hover{background-color:var(--color-gold,#c5a059);transform:translateY(-2px);box-shadow:0 4px 14px #c5a0594d}.login-error{color:#e74c3c;text-align:left;margin:-.5rem 0 0;font-size:.9rem}.brand-selector-overlay{background-color:var(--bg-main);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.brand-selector-container{background:var(--bg-card);box-shadow:var(--shadow-lg);text-align:center;border-radius:24px;width:100%;max-width:800px;padding:48px}.brand-selector-container h2{color:var(--text-main);letter-spacing:-.02em;margin-bottom:12px;font-size:32px;font-weight:800}.brand-selector-container p{color:var(--text-muted);margin-bottom:40px;font-size:16px}.brand-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.brand-card{background:var(--bg-card);color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);border:2px solid #0000;border-radius:16px;padding:32px 20px;font-size:20px;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1)}.brand-card:hover{border-color:var(--color-gold);color:var(--color-gold);box-shadow:var(--shadow-md);transform:translateY(-6px)scale(1.02)}.brand-card:active{transform:scale(.98)}.no-brands{color:#999;font-style:italic}.sephora-home{color:#000;background-color:#fff;padding-bottom:60px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.sephora-story-container{scrollbar-width:none;padding:15px;overflow-x:auto}.sephora-story-container::-webkit-scrollbar{display:none}.sephora-story-bubbles{gap:20px;min-width:max-content;display:flex}.story-bubble-wrapper{cursor:pointer;flex-direction:column;align-items:center;gap:8px;width:75px;display:flex}.story-bubble{background-clip:content-box;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;padding:2px;transition:transform .2s;display:flex;box-shadow:0 0 0 2px #fff,0 0 0 3px #e5e5e5}.story-bubble:hover{transform:scale(1.05)}.story-bubble-text{color:#fff;text-transform:uppercase;font-size:32px;font-weight:800}.story-bubble-label{text-align:center;font-size:11px;font-weight:600;line-height:1.2}.sephora-hero-banner{background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;width:100%;height:600px;margin-bottom:10px;display:flex;position:relative}.sephora-hero-content{width:100%;padding:15px}.sephora-hero-card{background:#fff;border-radius:8px;width:100%;padding:20px;box-shadow:0 4px 12px #0000001a}.sephora-hero-title{margin:0 0 10px;font-size:18px;font-weight:800;line-height:1.2}.sephora-hero-discount{align-items:center;gap:10px;margin-bottom:15px;display:flex}.discount-badge{background:#f5f5f5;border-radius:4px;padding:8px 12px;font-size:16px;font-weight:800}.discount-text{margin:0;font-size:13px;font-weight:600;line-height:1.3}.sephora-btn-primary{color:#000;cursor:pointer;text-transform:uppercase;background:#fff;border:2px solid #000;border-radius:4px;width:100%;margin-bottom:10px;padding:14px;font-size:14px;font-weight:800;transition:all .2s}.sephora-btn-primary:hover{color:#fff;background:#000}.sephora-terms{color:#666;margin:0;font-size:10px}.sephora-category-chips{scrollbar-width:none;background:#ff1053;gap:10px;padding:10px 15px 20px;display:flex;overflow-x:auto}.sephora-category-chips::-webkit-scrollbar{display:none}.sephora-chip{white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #000;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:800;transition:background .2s}.sephora-chip:hover{background:#f5f5f5}.sephora-section{border-top:5px solid #f5f5f5;padding:20px 0}.sephora-section-header{justify-content:space-between;align-items:center;padding:0 15px 15px;display:flex}.sephora-section-title{margin:0;font-size:18px;font-weight:800}.sephora-btn-small{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700}.sephora-carousel{scrollbar-width:none;scroll-snap-type:x mandatory;gap:15px;padding:0 15px 20px;display:flex;overflow-x:auto}.sephora-carousel::-webkit-scrollbar{display:none}.sephora-product-card{scroll-snap-align:start;cursor:pointer;background:#fff;border:1px solid #eee;border-radius:4px;flex-direction:column;width:180px;min-width:180px;padding:12px;display:flex;position:relative}.sephora-product-card-top{z-index:2;justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex;position:relative}.sephora-badge-black{color:#fff;text-transform:uppercase;background:#000;border-radius:2px;padding:4px 6px;font-size:9px;font-weight:800}.sephora-heart-icon{color:#000;cursor:pointer}.sephora-product-image{justify-content:center;align-items:center;width:100%;height:150px;margin-bottom:15px;display:flex}.sephora-product-image img{object-fit:contain;max-width:100%;max-height:100%}.sephora-product-info{flex-direction:column;flex-grow:1;display:flex}.sephora-product-brand{margin-bottom:4px;font-size:13px;font-weight:800}.sephora-product-title{color:#333;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.sephora-product-price{margin-bottom:8px;font-size:15px;font-weight:800}.sephora-product-rating{color:#000;margin-bottom:6px;font-size:12px}.rating-count{color:#666;font-size:11px}.sephora-product-availability{color:#666;margin-bottom:12px;font-size:11px}.sephora-btn-outline{color:#000;cursor:pointer;background:#fff;border:1px solid #000;border-radius:4px;width:100%;margin-top:auto;padding:8px;font-size:13px;font-weight:800}.sephora-btn-outline:hover{background:#f5f5f5}.secondary-banners-container{flex-direction:column;gap:20px;margin-bottom:20px;display:flex}.sephora-secondary-banner{position:relative}.sephora-banner-img{object-fit:cover;width:100%;height:400px}.sephora-secondary-banner .sephora-hero-card{z-index:10;width:calc(100% - 30px);margin:-60px 15px 0;position:relative}@media (width>=768px){.sephora-home{max-width:1400px;margin:0 auto}.sephora-hero-banner{flex-direction:row;justify-content:flex-end;align-items:center;height:500px}.sephora-hero-content{width:450px;padding-right:50px}.sephora-hero-card{padding:30px}.sephora-hero-title{margin-bottom:15px;font-size:24px}.sephora-category-chips-desktop{gap:10px;margin-top:20px;display:flex}.sephora-chip-small{cursor:pointer;background:#fff;border:1px solid #000;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:800;transition:background .2s}.sephora-chip-small:hover{background:#f5f5f5}.secondary-banners-container{flex-direction:row;padding:0 15px}.sephora-secondary-banner{background:#fff;border:1px solid #eee;border-radius:8px;flex:1;display:flex;overflow:hidden}.sephora-secondary-banner .sephora-banner-img{object-fit:cover;width:40%;height:auto}.sephora-secondary-banner .sephora-hero-card{width:60%;box-shadow:none;flex-direction:column;justify-content:center;margin:0;display:flex}.sephora-carousel{gap:20px}.sephora-product-card{width:200px;min-width:200px}}.rc-slider{touch-action:none;box-sizing:border-box;-webkit-tap-highlight-color:#0000;border-radius:6px;width:100%;height:14px;padding:5px 0;position:relative}.rc-slider *{box-sizing:border-box;-webkit-tap-highlight-color:#0000}.rc-slider-rail{background-color:#e9e9e9;border-radius:6px;width:100%;height:4px;position:absolute}.rc-slider-track,.rc-slider-tracks{background-color:#abe2fb;border-radius:6px;height:4px;position:absolute}.rc-slider-track-draggable{z-index:1;box-sizing:content-box;background-clip:content-box;border-top:5px solid #0000;border-bottom:5px solid #0000;transform:translateY(-5px)}.rc-slider-handle{z-index:1;cursor:pointer;width:14px;height:14px;cursor:-webkit-grab;cursor:grab;opacity:.8;-webkit-user-select:none;user-select:none;touch-action:pan-x;background-color:#fff;border:2px solid #96dbfa;border-radius:50%;margin-top:-5px;position:absolute}.rc-slider-handle-dragging.rc-slider-handle-dragging.rc-slider-handle-dragging{border-color:#57c5f7;box-shadow:0 0 0 5px #96dbfa}.rc-slider-handle-dragging.rc-slider-handle-dragging.rc-slider-handle-dragging-delete{opacity:0}.rc-slider-handle:focus{box-shadow:none;outline:none}.rc-slider-handle:focus-visible{border-color:#2db7f5;box-shadow:0 0 0 3px #96dbfa}.rc-slider-handle-click-focused:focus{box-shadow:unset;border-color:#96dbfa}.rc-slider-handle:hover{border-color:#57c5f7}.rc-slider-handle:active{cursor:-webkit-grabbing;cursor:grabbing;border-color:#57c5f7;box-shadow:0 0 5px #57c5f7}.rc-slider-mark{width:100%;font-size:12px;position:absolute;top:18px;left:0}.rc-slider-mark-text{color:#999;text-align:center;vertical-align:middle;cursor:pointer;display:inline-block;position:absolute}.rc-slider-mark-text-active{color:#666}.rc-slider-step{background:0 0;width:100%;height:4px;position:absolute}.rc-slider-dot{vertical-align:middle;cursor:pointer;background-color:#fff;border:2px solid #e9e9e9;border-radius:50%;width:8px;height:8px;position:absolute;bottom:-2px}.rc-slider-dot-active{border-color:#96dbfa}.rc-slider-dot-reverse{margin-right:-4px}.rc-slider-disabled{background-color:#e9e9e9}.rc-slider-disabled .rc-slider-track{background-color:#ccc}.rc-slider-disabled .rc-slider-handle,.rc-slider-disabled .rc-slider-dot{box-shadow:none;cursor:not-allowed;background-color:#fff;border-color:#ccc}.rc-slider-disabled .rc-slider-mark-text,.rc-slider-disabled .rc-slider-dot{cursor:not-allowed!important}.rc-slider-vertical{width:14px;height:100%;padding:0 5px}.rc-slider-vertical .rc-slider-rail{width:4px;height:100%}.rc-slider-vertical .rc-slider-track{width:4px;bottom:0;left:5px}.rc-slider-vertical .rc-slider-track-draggable{border:0;border-left:5px solid #0000;border-right:5px solid #0000;transform:translate(-5px)}.rc-slider-vertical .rc-slider-handle{z-index:1;touch-action:pan-y;margin-top:0;margin-left:-5px;position:absolute}.rc-slider-vertical .rc-slider-mark{height:100%;top:0;left:18px}.rc-slider-vertical .rc-slider-step{width:4px;height:100%}.rc-slider-vertical .rc-slider-dot{margin-left:-2px}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear,.rc-slider-tooltip-zoom-down-leave{animation-duration:.3s;animation-play-state:paused;animation-fill-mode:both;display:block!important}.rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,.rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active{animation-name:rcSliderTooltipZoomDownIn;animation-play-state:running}.rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active{animation-name:rcSliderTooltipZoomDownOut;animation-play-state:running}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear{animation-timing-function:cubic-bezier(.23,1,.32,1);transform:scale(0)}.rc-slider-tooltip-zoom-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes rcSliderTooltipZoomDownIn{0%{transform-origin:50% 100%;opacity:0;transform:scale(0)}to{transform-origin:50% 100%;transform:scale(1)}}@keyframes rcSliderTooltipZoomDownOut{0%{transform-origin:50% 100%;transform:scale(1)}to{transform-origin:50% 100%;opacity:0;transform:scale(0)}}.rc-slider-tooltip{visibility:visible;box-sizing:border-box;-webkit-tap-highlight-color:#0000;position:absolute;top:-9999px;left:-9999px}.rc-slider-tooltip *{box-sizing:border-box;-webkit-tap-highlight-color:#0000}.rc-slider-tooltip-hidden{display:none}.rc-slider-tooltip-placement-top{padding:4px 0 8px}.rc-slider-tooltip-inner{color:#fff;text-align:center;background-color:#6c6c6c;border-radius:6px;min-width:24px;height:24px;padding:6px 2px;font-size:12px;line-height:1;text-decoration:none;box-shadow:0 0 4px #d9d9d9}.rc-slider-tooltip-arrow{border-style:solid;border-color:#0000;width:0;height:0;position:absolute}.rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow{border-width:4px 4px 0;border-top-color:#6c6c6c;margin-left:-4px;bottom:4px;left:50%}.advanced-filter-wrapper{margin-right:15px;display:inline-block;position:relative}.advanced-filter-btn{color:#1a1a1a;cursor:pointer;background-color:#fff;border:1px solid #e5e5ea;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000d}.advanced-filter-btn:hover{background-color:#f9f9f9;border-color:#d1d1d6}.advanced-filter-btn.active{color:#fff;background-color:#007aff;border-color:#007aff}.advanced-filter-popover{z-index:1000;background:#fff;border:1px solid #efefef;border-radius:12px;width:320px;padding:20px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000a}.popover-header{color:#1c1c1e;border-bottom:1px solid #f2f2f7;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;font-size:16px;font-weight:600;display:flex}.popover-header button{color:#007aff;cursor:pointer;background:0 0;border:none;font-size:13px}.filter-section{margin-bottom:20px}.filter-section-title{color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}.char-grid{flex-wrap:wrap;gap:8px;max-height:200px;padding-bottom:10px;display:flex;overflow-y:auto}.char-check-btn{color:#1c1c1e;cursor:pointer;background:#f2f2f7;border:1px solid #0000;border-radius:16px;padding:6px 12px;font-size:12px;transition:all .2s}.char-check-btn.selected{color:#007aff;background:#e5f0ff;border-color:#007aff;font-weight:500}.age-display{color:#3a3a3c;justify-content:space-between;margin-top:10px;font-size:14px;font-weight:500;display:flex}.rc-slider-track{background-color:#007aff!important}.rc-slider-handle{background-color:#fff!important;border:none!important;width:20px!important;height:20px!important;margin-top:-8px!important;box-shadow:0 1px 4px #0000004d!important}.rc-slider-handle:active{box-shadow:0 1px 6px #0006!important}.rc-slider-rail{background-color:#e5e5ea!important}:root{--tg-orange:#e28437;--tg-green:#589b67;--tg-purple:#8a68a0;--tg-gray:#c7c6c6;--glass-bg:#fffffff2;--glass-bg-hover:#fff;--glass-bg-subtle:#ffffffd9;--glass-border:#ffffffe6;--glass-highlight:#fffffff2;--glass-shadow:0 8px 32px #00000026;--glass-inner-shadow:inset 0 1px 1px #ffffffe6, inset 0 -1px 1px #0000000d;--glass-blur:blur(30px) saturate(180%);--tg-text-primary:#1d1d1f;--tg-text-secondary:#86868b;--tg-text-muted:#a1a1a6;--tg-radius:20px;--tg-radius-sm:14px;--tg-radius-lg:32px;--tg-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--tg-transition:cubic-bezier(.25, 1, .5, 1)}.tg-container{z-index:1000;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);font-family:var(--tg-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.tg-header{z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex;position:relative}.tg-back-btn,.tg-close-btn{border:1px solid var(--glass-border);background:var(--glass-bg-subtle);width:44px;height:44px;color:var(--tg-text-primary);cursor:pointer;box-shadow:var(--glass-shadow), var(--glass-inner-shadow);-webkit-backdrop-filter:blur(10px);transition:all .3s var(--tg-transition);border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.tg-back-btn:active,.tg-close-btn:active{background:var(--glass-bg-hover);transform:scale(.9)}.tg-step-indicator{color:var(--tg-text-secondary);letter-spacing:.8px;text-transform:uppercase;background:#ffffff80;border:1px solid #ffffff4d;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;box-shadow:inset 0 1px #fffc}.tg-progress-bar{background:#0000000a;border-radius:4px;flex-shrink:0;height:4px;margin:0 24px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.tg-progress-fill{background:linear-gradient(90deg, var(--tg-orange), var(--tg-purple));height:100%;transition:width .6s var(--tg-transition);border-radius:4px;box-shadow:0 0 10px #e2843766}.tg-slide-viewport{flex:1;position:relative;overflow:hidden}.tg-slide-track{height:100%;transition:transform .6s var(--tg-transition);will-change:transform;display:flex}.tg-slide{box-sizing:border-box;-webkit-overflow-scrolling:touch;flex-direction:column;min-width:100%;height:100%;padding:32px 24px 20px;display:flex;overflow-y:auto}.tg-question-icon{filter:drop-shadow(0 4px 8px #0000001a);margin-bottom:16px;font-size:42px}.tg-question-title{color:var(--tg-text-primary);letter-spacing:-.8px;margin:0 0 12px;font-size:32px;font-weight:800;line-height:1.15}.tg-question-subtitle{color:var(--tg-text-secondary);margin:0 0 32px;font-size:17px;font-weight:400;line-height:1.5}.tg-options-grid{flex-direction:column;flex:1;justify-content:flex-start;gap:16px;display:flex}.tg-option-card{border:1px solid var(--glass-border);border-radius:var(--tg-radius);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000008, var(--glass-inner-shadow);cursor:pointer;transition:all .3s var(--tg-transition);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#fff6;align-items:center;gap:16px;padding:20px;display:flex}.tg-option-card:hover{box-shadow:0 8px 24px #0000000f, var(--glass-inner-shadow);background:#fff9;transform:translateY(-2px)}.tg-option-card:active{transform:scale(.97)translateY(0)}.tg-option-card.selected{background:linear-gradient(135deg,#fffc,#ffffff80);border-color:#e2843766;box-shadow:0 0 0 2px #e284374d,0 8px 24px #e2843726,inset 0 1px 1px #fff}.tg-option-icon{background:#fff9;border:1px solid #fffc;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;transition:all .3s;display:flex;box-shadow:inset 0 2px 4px #fff,0 4px 8px #0000000d}.tg-option-card.selected .tg-option-icon{background:#e2843726;border-color:#e284374d}.tg-option-text{flex:1;min-width:0}.tg-option-label{color:var(--tg-text-primary);letter-spacing:-.3px;margin:0 0 4px;font-size:17px;font-weight:700}.tg-option-desc{color:var(--tg-text-secondary);margin:0;font-size:14px;line-height:1.4}.tg-option-check{width:28px;height:28px;transition:all .3s var(--tg-transition);background:#ffffff80;border:2px solid #0000001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px 3px #0000000d}.tg-option-card.selected .tg-option-check{border-color:var(--tg-orange);background:var(--tg-orange);box-shadow:0 0 12px #e2843766,inset 0 1px 1px #fff6}.tg-option-check-inner{background:0 0;border-radius:50%;width:10px;height:10px;transition:background .3s}.tg-option-card.selected .tg-option-check-inner{background:#fff;box-shadow:0 1px 2px #0003}.tg-footer{z-index:10;flex-shrink:0;padding:16px 24px 32px;position:relative}.tg-continue-btn{border-radius:var(--tg-radius);width:100%;height:60px;font-family:var(--tg-font);letter-spacing:-.3px;cursor:pointer;transition:all .3s var(--tg-transition);-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(10px);border:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.tg-continue-btn.active{color:#fff;background:#e28437d9;border:1px solid #ffffff4d;box-shadow:0 8px 24px #e284374d,inset 0 1px 1px #fff6}.tg-continue-btn.active:hover{background:#e28437;transform:translateY(-2px);box-shadow:0 12px 32px #e2843766,inset 0 1px 1px #ffffff80}.tg-continue-btn.active:active{transform:scale(.96)translateY(0)}.tg-continue-btn.inactive{color:var(--tg-text-muted);cursor:default;pointer-events:none;background:#0000000a;border:1px solid #fff3;box-shadow:inset 0 1px 1px #ffffff80}.tg-continue-arrow{transition:transform .3s var(--tg-transition);margin-left:8px;font-size:20px}.tg-continue-btn.active:hover .tg-continue-arrow{transform:translate(4px)}.tg-processing{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.tg-processing-spinner{width:64px;height:64px;margin-bottom:40px;position:relative}.tg-spinner-ring{filter:drop-shadow(0 2px 4px #0000001a);border:3px solid #0000;border-radius:50%;animation:1.2s cubic-bezier(.5,0,.5,1) infinite tg-spin;position:absolute;inset:0}.tg-spinner-ring:first-child{border-top-color:var(--tg-orange);animation-delay:0s}.tg-spinner-ring:nth-child(2){border-right-color:var(--tg-green);animation-direction:reverse;animation-delay:.15s;inset:8px}.tg-spinner-ring:nth-child(3){border-bottom-color:var(--tg-purple);animation-delay:.3s;inset:16px}@keyframes tg-spin{to{transform:rotate(360deg)}}.tg-processing-title{color:var(--tg-text-primary);text-align:center;letter-spacing:-.5px;margin:0 0 12px;font-size:22px;font-weight:800}.tg-processing-subtitle{color:var(--tg-text-secondary);text-align:center;margin:0;font-size:16px}.tg-processing-dots:after{content:"";animation:1.5s steps(4,end) infinite tg-dots}@keyframes tg-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.tg-results{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.tg-results-header{text-align:center;flex-shrink:0;padding:24px 24px 0}.tg-results-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--tg-green);letter-spacing:1px;text-transform:uppercase;background:#fff9;border:1px solid #fffc;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 2px 10px #0000000d,inset 0 1px 1px #fff}.tg-results-badge-dot{background:var(--tg-green);width:8px;height:8px;box-shadow:0 0 8px var(--tg-green);border-radius:50%}.tg-results-title{color:var(--tg-text-primary);letter-spacing:-1px;background:linear-gradient(135deg,#1d1d1f 0%,#434345 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 12px;font-size:34px;font-weight:800;line-height:1.15}.tg-results-subtitle{color:var(--tg-text-secondary);max-width:340px;margin:0 auto 32px;font-size:16px;line-height:1.5}.tg-products-list{flex-direction:column;gap:20px;padding:0 24px 24px;display:flex}.tg-product-card{border-radius:var(--tg-radius);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);transition:all .3s var(--tg-transition);background:#ffffff73;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000000a,inset 0 1px 1px #fffc}.tg-product-card:hover{background:#fff9;transform:translateY(-2px);box-shadow:0 12px 32px #00000014,inset 0 1px 1px #ffffffe6}.tg-product-accent{opacity:.8;width:100%;height:6px}.tg-product-content{padding:24px}.tg-product-step-badge{letter-spacing:1px;text-transform:uppercase;background:#ffffff80;border:1px solid #fff9;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:4px 12px 4px 4px;font-size:12px;font-weight:800;display:inline-flex}.tg-product-step-number{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:flex;box-shadow:0 2px 4px #0000001a}.tg-product-name{color:var(--tg-text-primary);letter-spacing:-.5px;margin:0 0 6px;font-size:20px;font-weight:800;line-height:1.3}.tg-product-code{color:var(--tg-text-muted);letter-spacing:.5px;margin:0 0 16px;font-family:monospace;font-size:13px;font-weight:600}.tg-product-description{color:var(--tg-text-secondary);margin:0 0 20px;font-size:15px;line-height:1.6}.tg-product-usage{border-radius:var(--tg-radius-sm);background:#ffffff80;border:1px solid #ffffffb3;align-items:flex-start;gap:12px;padding:16px;display:flex;box-shadow:inset 0 1px 2px #fffc}.tg-product-usage-icon{filter:drop-shadow(0 2px 4px #0000001a);flex-shrink:0;margin-top:2px;font-size:18px}.tg-product-usage-label{color:var(--tg-text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:12px;font-weight:800}.tg-product-usage-text{color:var(--tg-text-secondary);margin:0;font-size:14px;line-height:1.5}.tg-results-footer{background:linear-gradient(#fff0 0%,#fffc 100%);flex-direction:column;flex-shrink:0;gap:12px;padding:16px 24px 32px;display:flex}.tg-restart-btn{border-radius:var(--tg-radius);color:#fff;width:100%;height:60px;font-family:var(--tg-font);cursor:pointer;transition:all .3s var(--tg-transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent;background:#589b67d9;border:1px solid #ffffff4d;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;box-shadow:0 8px 24px #589b674d,inset 0 1px 1px #fff6}.tg-restart-btn:hover{background:#589b67;transform:translateY(-2px);box-shadow:0 12px 32px #589b6766,inset 0 1px 1px #ffffff80}.tg-restart-btn:active{transform:scale(.96)}.tg-close-guide-btn{border-radius:var(--tg-radius-sm);width:100%;height:50px;color:var(--tg-text-secondary);font-family:var(--tg-font);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .2s;display:flex}.tg-close-guide-btn:active{background:#0000000d;transform:scale(.98)}.tg-fade-in{animation:.8s cubic-bezier(.2,.8,.2,1) forwards tg-fade-in}@keyframes tg-fade-in{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.tg-result-card-enter{animation:tg-card-enter .7s var(--tg-transition) forwards;opacity:0}@keyframes tg-card-enter{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.tg-welcome{text-align:center;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;align-items:center;padding:40px 32px;display:flex;overflow-y:auto}.tg-welcome:before,.tg-welcome:after{content:"";margin:auto}.tg-welcome-icon-group{gap:12px;margin-bottom:32px;display:flex}.tg-welcome-icon-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border:1px solid #fffc;border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;animation:4s ease-in-out infinite tg-bubble-float;display:flex;box-shadow:0 8px 24px #0000000f,inset 0 2px 4px #fff}.tg-welcome-icon-bubble:first-child{animation-delay:0s}.tg-welcome-icon-bubble:nth-child(2){animation-delay:.4s}.tg-welcome-icon-bubble:nth-child(3){animation-delay:.8s}@keyframes tg-bubble-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}.tg-welcome-title{color:var(--tg-text-primary);letter-spacing:-1px;background:linear-gradient(135deg,#1d1d1f 0%,#434345 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 16px;font-size:36px;font-weight:800;line-height:1.1}.tg-welcome-desc{color:var(--tg-text-secondary);max-width:320px;margin:0 0 40px;font-size:17px;font-weight:400;line-height:1.5}.tg-welcome-features{flex-direction:column;gap:16px;width:100%;max-width:340px;margin-bottom:48px;display:flex}.tg-welcome-feature{border-radius:var(--tg-radius-sm);text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #fff9;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 4px 12px #00000005,inset 0 1px 1px #fffc}.tg-welcome-feature-icon{filter:drop-shadow(0 2px 4px #0000001a);flex-shrink:0;font-size:22px}.tg-welcome-feature-text{color:var(--tg-text-primary);letter-spacing:-.2px;font-size:15px;font-weight:600}.tg-start-btn{border-radius:var(--tg-radius);color:#fff;width:100%;max-width:340px;height:60px;font-family:var(--tg-font);cursor:pointer;transition:all .3s var(--tg-transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent;background:#e28437d9;border:1px solid #ffffff4d;justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex;box-shadow:0 8px 24px #e284374d,inset 0 1px 1px #fff6}.tg-start-btn:hover{background:#e28437;transform:translateY(-2px);box-shadow:0 12px 32px #e2843766,inset 0 1px 1px #ffffff80}.tg-start-btn:active{transform:scale(.96)}@media (width>=600px){.tg-container{border-radius:var(--tg-radius-lg);border:1px solid #fff6;width:440px;height:90vh;max-height:820px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 40px 100px #00000026,inset 0 0 0 1px #ffffff80}}.tg-overlay{z-index:999;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#0003;animation:.4s cubic-bezier(.2,.8,.2,1) forwards tg-overlay-in;position:fixed;inset:0}@keyframes tg-overlay-in{0%{opacity:0}to{opacity:1}}@supports (padding-top:env(safe-area-inset-top)){.tg-header{padding-top:calc(20px + env(safe-area-inset-top))}}@media (width<=600px){.tg-welcome{padding:10px 20px}.tg-welcome-icon-group{margin-bottom:16px}.tg-welcome-icon-bubble{width:48px;height:48px;font-size:24px}.tg-welcome-title{margin-bottom:12px;font-size:28px}.tg-welcome-desc{margin-bottom:24px;font-size:15px}.tg-welcome-features{gap:12px;margin-bottom:30px}.tg-welcome-feature{gap:12px;padding:12px}.tg-welcome-feature-text{font-size:14px}.tg-start-btn{height:52px;font-size:16px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.tg-footer,.tg-results-footer{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}.cart-overlay{-webkit-backdrop-filter:blur(5px);z-index:9999;background:#0006;justify-content:flex-end;display:flex;position:fixed;inset:0}.cart-panel{background:#fffffff2;flex-direction:column;width:100%;max-width:450px;height:100%;animation:.3s ease-out forwards slideInRight;display:flex;box-shadow:-5px 0 30px #0000001a}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:20px;display:flex}.cart-header h2{color:#1d1d1f;margin:0;font-size:20px;font-weight:600}.cart-close{cursor:pointer;color:#86868b;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:flex}.cart-content{flex-direction:column;flex:1;display:flex;overflow-y:auto}.cart-empty,.cart-success{text-align:center;color:#86868b;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.cart-success h3{color:#1d1d1f;margin:15px 0 5px}.cart-success button{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:8px;margin-top:20px;padding:10px 20px}.cart-items{flex-direction:column;flex:1;gap:15px;padding:20px;display:flex}.cart-item{background:#fff;border:1px solid #0000000d;border-radius:12px;flex-direction:column;padding:15px;display:flex;box-shadow:0 2px 10px #00000005}.cart-item-info h4{color:#1d1d1f;margin:0 0 5px;font-size:15px}.cart-item-price{font-size:14px}.cart-item-price .old-price{color:#86868b;margin-right:8px;text-decoration:line-through}.cart-item-price .new-price{color:#34c759;font-weight:600}.cart-item-actions{justify-content:space-between;align-items:center;margin-top:15px;display:flex}.quantity-controls{background:#f5f5f7;border-radius:6px;align-items:center;display:flex;overflow:hidden}.quantity-controls button{cursor:pointer;color:#1d1d1f;background:0 0;border:none;padding:5px 12px;font-size:16px}.quantity-controls span{padding:0 10px;font-size:14px;font-weight:500}.remove-btn{color:#ff3b30;cursor:pointer;background:0 0;border:none;padding:5px}.cart-footer{background:#f5f5f7cc;border-top:1px solid #0000000d;padding:20px}.cart-total{color:#1d1d1f;justify-content:space-between;margin-bottom:20px;font-size:18px;display:flex}.checkout-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:10px;width:100%;padding:15px;font-size:16px;font-weight:600;transition:opacity .2s}.checkout-btn:disabled{opacity:.6;cursor:not-allowed}.cart-error{color:#ff3b30;text-align:center;margin-bottom:10px;font-size:13px}.profile-overlay{-webkit-backdrop-filter:blur(5px);z-index:9999;background:#0006;justify-content:flex-end;display:flex;position:fixed;inset:0}.profile-panel{background:#f5f5f7;flex-direction:column;width:100%;max-width:600px;height:100%;animation:.3s ease-out forwards slideInRight;display:flex;box-shadow:-5px 0 30px #0000001a}.profile-header{background:#fff;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.profile-header-title{align-items:center;gap:10px;display:flex}.profile-header h2{color:#1d1d1f;margin:0;font-size:22px;font-weight:600}.profile-close{cursor:pointer;color:#86868b;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:flex}.profile-tabs{background:#fff;border-bottom:1px solid #0000000d;padding:0 30px;display:flex}.tab-btn{color:#86868b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:15px 0;font-size:15px;font-weight:500;transition:all .2s;display:flex}.tab-btn.active{color:#1d1d1f;border-bottom-color:#1d1d1f}.profile-content{flex:1;padding:30px;overflow-y:auto}.profile-loading,.profile-error{text-align:center;color:#86868b;padding:40px}.profile-error{color:#ff3b30}.profile-warning{color:#856404;background:#fff3cd;border-radius:8px;margin-bottom:20px;padding:15px;font-size:14px}.data-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.data-header h3{color:#1d1d1f;margin:0;font-size:18px}.section-title{color:#1d1d1f;border-bottom:1px solid #d1d1d6;align-items:center;gap:8px;margin:30px 0 15px;padding-bottom:10px;font-size:16px;display:flex}.edit-btn{color:#1d1d1f;cursor:pointer;background:#e5e5ea;border:none;border-radius:6px;align-items:center;gap:5px;padding:8px 15px;font-weight:500;display:flex}.edit-actions{gap:10px;display:flex}.cancel-btn,.save-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:5px;padding:8px 15px;font-weight:500;display:flex}.cancel-btn{color:#1d1d1f;background:#e5e5ea}.save-btn{color:#fff;background:#34c759}.data-grid{background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;gap:15px;padding:20px;display:grid;box-shadow:0 2px 10px #00000005}.data-group{flex-direction:column;gap:5px;display:flex}.data-group.full-width{grid-column:1/-1}.data-group label{color:#86868b;align-items:center;gap:5px;font-size:13px;display:flex}.data-group input{color:#1d1d1f;background:#fff;border:1px solid #d1d1d6;border-radius:6px;padding:10px 12px;font-size:14px}.data-group input:disabled{color:#86868b;background:#f5f5f7}.profile-orders{flex-direction:column;gap:15px;display:flex}.empty-orders{text-align:center;color:#86868b;padding:60px 20px}.order-card{background:#fff;border:1px solid #0000000a;border-radius:14px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000008}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.order-header{cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:20px 24px;transition:background .2s;display:flex}.order-header:hover{background:#fdfdfd}.order-info-main{flex-direction:column;gap:5px;display:flex}.order-date{color:#86868b;font-size:14px}.order-info-side{align-items:center;gap:15px;display:flex}.status-badge{color:#1d1d1f;background:#e5e5ea;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.status-badge.pending{color:#856404;background:#fff3cd}.status-badge.completed{color:#155724;background:#d4edda}.status-badge.cancelled{color:#721c24;background:#f8d7da}.order-items{background:#fafafa;border-top:1px solid #f5f5f7;flex-direction:column;gap:15px;padding:20px;display:flex}.order-item{align-items:center;gap:15px;display:flex}.order-item-img{object-fit:cover;background:#fff;border:1px solid #eaeaea;border-radius:6px;width:50px;height:50px}.order-item-details{flex-direction:column;flex:1;display:flex}.order-item-name{font-size:14px;font-weight:500}.order-item-qty{color:#86868b;font-size:13px}.order-item-total{font-size:14px;font-weight:600}.stats-dashboard{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{background:linear-gradient(145deg,#fff,#fdfdfd);border:1px solid #0000000a;border-radius:16px;align-items:center;gap:18px;padding:24px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000008,0 1px 3px #0000000d}.stat-card:before{content:"";z-index:1;background:linear-gradient(90deg,#0000,#fffc,#0000);width:100%;height:100%;transition:all .6s;position:absolute;top:0;left:-100%}.stat-card:hover{border-color:#00000014;transform:translateY(-5px);box-shadow:0 12px 25px #00000014,0 4px 10px #0000000a}.stat-card:hover:before{left:100%}.stat-icon{z-index:2;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .3s;display:flex;position:relative;box-shadow:inset 0 2px 4px #ffffff80}.stat-card:hover .stat-icon{transform:scale(1.05)rotate(3deg)}.stat-info{z-index:2;flex-direction:column;flex:1;gap:6px;display:flex;position:relative;overflow:hidden}.stat-label{color:#86868b;text-transform:uppercase;letter-spacing:.8px;font-size:12px;font-weight:700}.stat-value{color:#1d1d1f;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.5px;font-size:20px;font-weight:800;overflow:hidden}.top-product-text{white-space:normal;-webkit-line-clamp:2;letter-spacing:-.2px;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.3;display:-webkit-box}.order-item-img-placeholder{background:#f5f5f7;border:1px dashed #d1d1d6;border-radius:6px;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.app-container{flex-direction:column;min-height:100vh;padding-top:130px;display:flex}.sephora-header{z-index:100;background:#fff;flex-direction:column;width:100%;display:flex;position:fixed;top:0;left:0;box-shadow:0 1px 3px #0000000d}.sephora-header-top{justify-content:space-between;align-items:center;height:60px;padding:10px 15px;display:flex}.sephora-icon-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:flex;position:relative}.hamburger-icon{flex-direction:column;gap:5px;width:24px;display:flex}.hamburger-icon span{background-color:#000;border-radius:2px;width:100%;height:2px;display:block}.sephora-logo{letter-spacing:4px;cursor:pointer;margin:0;font-size:20px;font-weight:800}.sephora-header-actions{align-items:center;gap:15px;display:flex}.cart-badge{color:#fff;background:#000;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;right:0}.sephora-search-bar{padding:0 15px 10px}.sephora-search-input-container{align-items:center;width:100%;display:flex;position:relative}.sephora-search-icon{color:#000;position:absolute;left:15px}.sephora-search-input{color:#333;background-color:#f5f5f5;border:none;border-radius:25px;outline:none;width:100%;padding:12px 15px 12px 45px;font-size:14px}.sephora-search-input::placeholder{color:#666}.sephora-login-strip{cursor:pointer;background:#fff;border-top:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.strip-left{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.strip-right{color:#666;font-weight:700}.desktop-only{display:none!important}.sephora-text-btn{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.sephora-desktop-nav{background:#fff;border-top:1px solid #eee;justify-content:center;gap:20px;padding:10px 20px;display:none}.sephora-desktop-nav button{cursor:pointer;text-transform:uppercase;color:#000;background:0 0;border:none;font-size:13px;font-weight:600}.sephora-desktop-nav button:hover{text-decoration:underline}.desktop-search{display:none}@media (width>=768px){.mobile-only{display:none!important}.desktop-only,.sephora-desktop-nav{display:flex!important}.desktop-search{flex-grow:1;max-width:600px;padding:0 40px;display:block}.sephora-header-top{height:80px;padding:0 40px}.sephora-header-left{align-items:center;display:flex}.sephora-logo{font-size:24px}}.app-container{flex-direction:column;min-height:100vh;display:flex}@media (width>=768px){.main-scroll-content{padding-top:150px}}.category-list{justify-content:center;gap:10px;padding:10px 20px 15px;display:flex;overflow-x:auto}.category-chip{color:var(--text-muted);white-space:nowrap;background-color:#0000;border:none;border-radius:20px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .25s}.category-chip:hover{color:var(--text-main);background-color:#0000000a}.category-chip.active{background-color:var(--color-black);color:#fff;box-shadow:var(--shadow-sm)}.main-scroll-content{padding-top:140px;padding-bottom:60px}.theme-section{padding-top:30px;padding-bottom:20px}.section-title{color:var(--text-main);max-width:1200px;margin-bottom:15px;margin-left:auto;margin-right:auto;padding:0 20px;font-size:28px;font-weight:800}.product-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px;max-width:1400px;margin:0 auto;padding:20px;display:grid}@media (width>=768px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}}@media (width>=1024px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:25px}}.product-card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;border:1px solid #00000005;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)scale(1.01)}.product-card:active{transform:scale(.97)}.product-image-wrapper{aspect-ratio:1;background-color:var(--bg-main);justify-content:center;align-items:center;display:flex;overflow:hidden}.product-image-wrapper img{object-fit:cover;width:100%;height:100%}.product-image-placeholder{color:var(--color-gray);font-size:12px}.product-info{flex-direction:column;flex-grow:1;padding:12px;display:flex}.product-name{color:var(--text-main);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.product-code{color:var(--text-muted);margin-bottom:8px;font-size:12px}.product-price{color:var(--color-gold);margin-top:auto;font-size:16px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;background-color:#00000040;justify-content:center;align-items:flex-end;animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{to{opacity:1}}.modal-content{background:var(--bg-card);width:100%;max-width:600px;height:90vh;box-shadow:var(--shadow-lg);border-radius:24px 24px 0 0;flex-direction:column;padding:0;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex;position:relative;transform:translateY(100%)}@media (width>=768px){.modal-overlay{align-items:center}.modal-content{border-radius:var(--radius-lg);height:85vh}}@keyframes slideUp{to{transform:translateY(0)}}.modal-header{z-index:10;position:absolute;top:15px;right:15px}.close-button{-webkit-backdrop-filter:blur(4px);width:36px;height:36px;color:var(--text-main);box-shadow:var(--shadow-sm);background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.modal-body{flex-grow:1;overflow-y:auto}.modal-image{aspect-ratio:1;background-color:var(--bg-main);object-fit:cover;width:100%}.modal-details{padding:24px}.modal-title{margin-bottom:8px;font-size:22px;font-weight:700}.modal-meta{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.modal-price{color:var(--color-gold);font-size:20px;font-weight:700}.modal-code{color:var(--text-main);background:var(--color-gray);border-radius:4px;padding:4px 8px;font-size:14px}.modal-description{color:var(--text-muted);font-size:15px;line-height:1.6}.modal-description p{margin-bottom:15px}.loading,.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:16px}
