html{scroll-behavior:smooth;font-size:16px}body:has(.admin-modal-overlay){overflow:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.row{display:flex;flex-wrap:wrap;margin:0 -12px}.row>*{flex-shrink:0;width:100%;padding:0 12px;box-sizing:border-box}.g-4{--grid-gap: 24px;row-gap:var(--grid-gap)}.g-5{--grid-gap: 48px;row-gap:var(--grid-gap)}.col-6{width:50%}@media(min-width:768px){.col-md-3{width:25%}.col-md-4{width:33.333%}.col-md-6{width:50%}}@media(min-width:992px){.col-lg-2{width:16.667%}.col-lg-3{width:25%}.col-lg-4{width:33.333%}.col-lg-5{width:41.667%}.col-lg-6{width:50%}.col-lg-7{width:58.333%}.col-lg-8{width:66.667%}.offset-lg-1{margin-left:8.333%}}.align-items-center{align-items:center}.text-center{text-align:center}.mb-5{margin-bottom:3rem}.mt-4{margin-top:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.sticky-top{position:sticky;top:0;z-index:1020}.d-flex{display:flex}.d-none{display:none}.d-block{display:block}@media(min-width:992px){.d-lg-none{display:none!important}.d-lg-flex{display:flex!important}.d-lg-block{display:block!important}.navbar-collapse{display:flex!important}}.navbar{display:flex;flex-wrap:wrap;align-items:center}.navbar>.container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-nav{display:flex;flex-direction:column;list-style:none;padding:0;margin:0}.navbar-nav .nav-link{display:block}@media(min-width:992px){.navbar-nav{flex-direction:row}.navbar-collapse{display:flex!important;flex-basis:auto}}@media(max-width:991.98px){.navbar-collapse{display:none;flex-basis:100%}.navbar-collapse.show{display:flex}}.navbar-toggler{background:none;border:1px solid rgba(0,0,0,.1);padding:4px 8px;border-radius:4px;cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:100%}:root{--ivory: #f0eae1;--sand: #e8ddd3;--sage: #a8b5a0;--stone: #7a7167;--graphite: #2d2d2d;--powder: #e8c4c8;--rose: #c4929a;--rose-ink: #8f5560;--qb-stone-ink: #6a6157;--qb-sale: #d42b3a;--qb-focus: #2f6f8f;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dark-olive: #4a4f3f;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Jost", "Helvetica Neue", sans-serif;--transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease;--wipe-duration: .4s;--verified-bg: #e8f5e9;--verified-fg: #388e3c}@keyframes cart-badge-bump{0%{scale:1}40%{scale:1.4}to{scale:1}}.cart-badge-bump{animation:cart-badge-bump .4s cubic-bezier(.16,1,.3,1)}@keyframes cart-badge-fade{0%{opacity:.35}to{opacity:1}}.bi-x-lg{transition:color .3s ease}button:hover>.bi-x-lg,.btn-icon:hover>.bi-x-lg{color:var(--rose)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);color:var(--graphite);background-color:var(--ivory);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}::selection{background:var(--powder);color:var(--graphite)}img{max-width:100%;height:auto;display:block}a{color:var(--graphite);text-decoration:none;transition:var(--transition)}a:hover{color:var(--rose)}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:0;filter:blur(4px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}.reveal.visible,.reveal-left.visible,.reveal-right.visible,.reveal-scale.visible{opacity:1;transform:none;filter:blur(0)}.reveal{transform:translateY(40px)}.reveal-left{transform:translate(-60px)}.reveal-right{transform:translate(60px)}.reveal-scale{transform:scale(.88)}.btn-qbeauty{background-color:var(--graphite);color:#fff;border:none;padding:14px 42px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;border-radius:0;cursor:pointer;position:relative;overflow:hidden;z-index:1;transition:color .3s ease,transform .16s cubic-bezier(.23,1,.32,1),box-shadow .3s ease}.btn-qbeauty:before{content:"";position:absolute;bottom:-50%;left:50%;width:300%;height:300%;border-radius:50%;background-color:var(--rose);transform:translate(-50%) scale(0);transform-origin:50% 100%;transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:-1}@media(hover:hover)and (pointer:fine){.btn-qbeauty:hover:not(:disabled){color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #c4929a4d}.btn-qbeauty:hover:not(:disabled):before{transform:translate(-50%) scale(1)}}.btn-qbeauty:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn-qbeauty:disabled{opacity:.5;cursor:not-allowed}.btn-qbeauty[href],.btn-qbeauty:is(a){text-decoration:none;display:inline-block}.btn-qbeauty-outline{background:transparent;color:#fff;border:1px solid #fff;padding:12px 36px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;border-radius:0;position:relative;overflow:hidden;z-index:1;transition:color .3s ease,border-color .3s ease}.btn-qbeauty-outline:before{content:"";position:absolute;inset:0;background:#fff;transform:translate3d(0,105%,0);transform-origin:center bottom;transition:transform .35s cubic-bezier(.215,.61,.355,1);z-index:-1}.btn-qbeauty-outline:hover:not(:disabled){color:var(--graphite);border-color:#fff}.btn-qbeauty-outline:hover:not(:disabled):before{transform:translateZ(0)}.btn-qbeauty-outline:disabled{opacity:.5;cursor:not-allowed}.btn-qbeauty-outline[href],.btn-qbeauty-outline:is(a){text-decoration:none;display:inline-block}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.section-title{font-family:var(--font-heading);font-size:2.2rem;font-weight:400}.section-sub{font-size:.85rem;color:var(--stone);letter-spacing:.1em;text-transform:uppercase}.section-link{text-decoration:none;display:inline-flex;align-items:center;gap:0;padding:8px 0}.section-link:hover .section-link-label{letter-spacing:.3em;color:var(--rose)}.section-link:hover .section-link-line{width:32px;margin-left:12px;background:var(--rose)}.section-link-label{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--graphite);transition:letter-spacing .6s cubic-bezier(.16,1,.3,1),color .4s ease}.section-link-line{display:inline-block;width:0;height:1px;background:var(--graphite);margin-left:0;transition:width .6s cubic-bezier(.16,1,.3,1),margin-left .6s cubic-bezier(.16,1,.3,1),background .4s ease}.drag-scroll{cursor:grab}.drag-scroll img{-webkit-user-drag:none}.drag-scroll.rail-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;-webkit-user-select:none;user-select:none}.rail-progress{height:2px;margin-top:14px;background:var(--border-light, #e8e4df)}.rail-progress-fill{height:100%;background:var(--graphite)}.product-scroll-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:10px;scrollbar-width:none}.product-scroll-track::-webkit-scrollbar{display:none}.product-scroll-track .product-card{min-width:160px;max-width:160px;flex-shrink:0;scroll-snap-align:start}.product-card{position:relative;cursor:pointer;display:flex;flex-direction:column}.product-card:hover .product-name a{color:#7a3347}.product-card:hover .product-price{color:var(--graphite)}.product-badge{position:absolute;bottom:12px;left:12px;height:fit-content;z-index:5;background:var(--graphite);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:4px;pointer-events:none}.product-badge.sale{background:var(--rose, #c4929a)}.product-badge.flash{background:#e63946}.product-badge.hit{background:#ff5c00;color:#fff}.product-badge.new{background:#058cd6;color:#fff}.product-badge--top{top:12px;bottom:auto}.product-badge--bottom{bottom:12px;top:auto}.product-image{position:relative;overflow:hidden;background:#f0ede9;aspect-ratio:4/5;margin-bottom:14px}.product-image img{width:100%;height:100%;object-fit:cover}.product-info{display:flex;flex-direction:column;flex:1}.product-brand{display:block;font-size:.75rem;color:var(--stone);min-height:18px;margin-bottom:4px}.product-stars{display:flex;align-items:center;gap:2px;margin-bottom:6px;font-size:.7rem;color:var(--rose)}.product-stars span{color:var(--stone);font-size:.75rem;margin-left:6px}.product-review-count{font-size:.7rem;color:var(--stone);margin-left:2px}.product-name{font-family:var(--font-body);font-size:.9rem;font-weight:400;margin-bottom:4px;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-name a{color:var(--graphite)}.product-price{font-size:.9rem;font-weight:500;margin:auto 0 0;color:var(--graphite)}.price-sale{color:var(--rose)}.price-original{color:var(--stone);text-decoration:line-through;font-weight:300;font-size:.85rem}.scrolling-reviews-section{padding:30px 0;margin-top:30px;overflow:hidden;background:var(--sand)}.scrolling-reviews-track{display:inline-flex;gap:20px;animation:marqueeReviews 120s linear infinite;white-space:nowrap}.scrolling-reviews-track:hover{animation-play-state:paused}.review-pill{display:inline-flex;align-items:center;gap:14px;background:var(--ivory);border-radius:0;padding:12px 28px 12px 14px;flex-shrink:0;box-shadow:0 2px 12px #0000000a;will-change:transform;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .3s ease;max-width:440px;cursor:default}.review-pill-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--sand)}.review-pill-avatar img{width:100%;height:100%;object-fit:cover}.review-pill-content{display:flex;flex-direction:column;gap:3px;min-width:0}.review-pill-stars{display:flex;gap:2px;color:var(--rose);font-size:.75rem}.review-pill-text{font-size:.82rem;font-weight:300;color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;font-style:italic}.review-pill-author{font-size:.72rem;font-weight:500;color:var(--stone);letter-spacing:.03em}@keyframes marqueeReviews{0%{transform:translate(-50%)}to{transform:translate(0)}}@media(max-width:767.98px){.section-title{font-size:1.4rem}.review-pill{padding:10px 24px 10px 12px;gap:12px}.review-pill-avatar{width:40px;height:40px}.review-pill-text{max-width:220px;font-size:.78rem}}@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;filter:none;transition:none}.product-card,.product-card *,.product-img-primary,.product-img-secondary{transition-property:color,background-color,border-color,opacity!important;transition-duration:.15s!important;transition-delay:0s!important;animation:none!important}html,.product-scroll-track{scroll-behavior:auto}.page-transition-overlay{display:none!important}.cart-badge-bump{animation-name:cart-badge-fade}}.password-field{position:relative}.password-field input{padding-right:2.8rem;width:100%}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;color:var(--stone);font-size:1rem;line-height:1;transition:color .2s}.password-toggle:hover{color:var(--graphite)}@media(max-width:991px){body:has(app-bottom-nav nav.bottom-nav) app-cookie-consent .cookie-banner{bottom:calc(60px + env(safe-area-inset-bottom))}body:has(app-cookie-consent .cookie-banner:not(.closing)) .auth-page{padding-bottom:120px}}.qb-skel{background:linear-gradient(90deg,#f4f2ef 25%,#ece8e4,#f4f2ef 75%);background-size:200% 100%;animation:qbSkelShimmer 1.5s ease-in-out infinite;border-radius:6px}.qb-skel--line{height:14px;border-radius:4px;margin-bottom:10px}.qb-skel--line.qb-skel--sm{height:10px}.qb-skel--line.qb-skel--lg{height:22px}.qb-skel--line.qb-skel--xl{height:32px}.qb-skel--rect{width:100%;border-radius:8px}.qb-skel--circle{border-radius:50%}@keyframes qbSkelShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.qb-skel{animation:none;background:#ece8e4}}.toast-container{position:fixed;right:24px;bottom:24px;width:360px;max-width:calc(100vw - 24px);z-index:999999;pointer-events:none;transition:height .24s var(--ease-out)}@media(max-width:767.98px){.toast-container{top:var(--qb-toast-top, 68px);right:12px;bottom:auto;left:12px;width:auto;max-width:none}}
