:root{--deep:#5A5276;--lilac:#998BC4;--outline:#9080BF;--icon:#9484C1;--mist:#E2E0E5;--muted:#F8F8F8;--body:#3E3E3E;--white:#fff;--line:#EAE8ED;--r:16px;--safe:env(safe-area-inset-bottom,0px);font-family:Onest,Arial,system-ui,sans-serif;color:var(--body);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{background:#f3f0f6}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.025em}
.app-shell{max-width:920px;background:#fff;min-height:100dvh;margin:auto;padding-bottom:calc(82px + var(--safe));box-shadow:0 0 90px rgba(50,34,86,.04)}
.demo-ribbon{background:var(--deep);color:white;font-size:11px;line-height:1.35;padding:7px 16px;text-align:center;letter-spacing:.005em}.demo-ribbon span{border:1px solid #d6cee9;border-radius:5px;padding:1px 4px;font-weight:700;letter-spacing:.05em;margin-right:4px}
.header{height:78px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid #f0eef4;background:rgba(255,255,255,.96)}.mark{font-size:28px;width:40px;height:40px;color:var(--deep);background:#f1eef8;border-radius:12px;display:grid;place-items:center}.header-title{display:grid;gap:3px}.header-title strong{font-size:22px;letter-spacing:.13em;color:var(--deep);line-height:1}.header-title small{font-size:11px;color:#847f8b;letter-spacing:.015em}.icon-button{border:0;background:#f3f0f8;width:42px;height:42px;border-radius:12px;color:var(--deep);margin-left:auto;position:relative;font-size:22px}.bag-count{position:absolute;top:-5px;right:-5px;font-size:10px;color:white;background:var(--deep);border-radius:10px;min-width:17px;padding:3px}
.page{padding:20px 20px 32px}.hero{background:radial-gradient(circle at 90% 10%,#fff 0%,#e8e4ed 55%,#d6cfe0 100%);border-radius:22px;min-height:245px;display:grid;grid-template-columns:1fr 42%;overflow:hidden;position:relative;padding:25px 18px 24px 22px}.hero .eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--deep);margin-bottom:15px}.hero h1{font-size:clamp(25px,5vw,40px);line-height:1.07;font-weight:500;color:#3d3551;max-width:330px;margin:0 0 11px}.hero p{font-size:12px;color:#655d73;max-width:250px;line-height:1.55;margin-bottom:17px}.hero .primary{font-size:12px;padding:13px 17px}.hero-art{position:relative;min-width:0;align-self:stretch}.decor-circle{position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.5);top:30px;right:-28px}.bottle{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-8deg);background:linear-gradient(100deg,#ebe6de 0%,#fffdf7 46%,#d4ccbf 100%);border:1px solid #dad4ca;box-shadow:20px 22px 28px rgba(70,52,93,.2);border-radius:8px 8px 19px 19px;width:90px;height:133px}.bottle::before{content:"";position:absolute;width:48px;height:23px;background:linear-gradient(90deg,#beb7c7,#f4f1f8,#a9a1b8);border-radius:6px 6px 3px 3px;left:20px;top:-20px}.bottle::after{content:"ROZ MARY\A skin care";white-space:pre;text-align:center;line-height:1.5;letter-spacing:.11em;position:absolute;font-size:9px;color:#51466b;left:7px;right:7px;top:46px;border-top:1px solid #9c8fae;padding-top:10px}.bottle.small{width:62px;height:97px;top:65%;left:24%;transform:rotate(12deg)}.bottle.small::before{width:34px;left:13px}.bottle.small::after{font-size:7px;top:37px}
.primary,.outline,.plain-button{border-radius:9px;min-height:44px;padding:12px 16px;font-weight:600;font-size:14px;transition:transform .12s}.primary{background:var(--deep);color:white;border:1px solid var(--deep)}.primary:active,.outline:active{transform:scale(.98)}.primary[disabled]{opacity:.45;cursor:not-allowed}.outline{color:var(--deep);background:white;border:1px solid var(--outline)}.plain-button{color:var(--deep);background:transparent;border:0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:27px 0 14px;gap:10px}.section-head h2{font-size:22px;font-weight:600;margin:0}.section-head button{border:0;background:none;color:var(--deep);font-size:12px;font-weight:600;white-space:nowrap}.chips{display:flex;gap:9px;overflow:auto;padding:0 2px 7px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{border-radius:999px;white-space:nowrap;min-height:39px;border:1px solid #e9e5f0;background:#fff;color:#675e76;font-size:12px;padding:9px 15px}.chip.active{background:var(--deep);border-color:var(--deep);color:#fff}
.search-row{display:flex;align-items:center;gap:10px;background:#f7f6f9;border:1px solid #f0eef3;border-radius:11px;margin-top:20px;padding:0 14px}.search-row span{color:#857999;font-size:20px}.search-row input{background:none;border:0;width:100%;outline:0;min-height:47px;font-size:14px;color:var(--body)}.search-row input::placeholder{color:#a7a2ac}
.grid-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product{border:1px solid #efedf2;border-radius:16px;background:white;overflow:hidden;position:relative;display:flex;flex-direction:column;min-width:0;box-shadow:0 7px 25px rgba(63,52,85,.035)}.product-image{position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:linear-gradient(145deg,#f9f7fa,#ede8f2)}.product-image img{width:100%;height:100%;object-fit:contain}.mock-bottle{height:62%;width:36%;background:linear-gradient(90deg,#e0dce6,#fff,#e3dce8);box-shadow:9px 11px 16px #75678736;border-radius:5px 5px 15px 15px;position:relative;border:1px solid #eee8f1}.mock-bottle:before{position:absolute;content:"";width:55%;height:16%;left:22%;top:-14%;background:linear-gradient(90deg,#928aa2,#e3dfe8,#8b819c);border-radius:3px}.mock-bottle:after{content:"ROZ\A MARY";white-space:pre;text-align:center;position:absolute;top:40%;left:4%;right:4%;font-weight:700;font-size:clamp(8px,2vw,12px);letter-spacing:.07em;color:#615875;line-height:1.3}.product-tag{position:absolute;left:8px;top:8px;font-size:9px;color:#594d70;background:rgba(255,255,255,.9);padding:5px 7px;border-radius:6px;font-weight:700;z-index:1}.heart{position:absolute;right:7px;top:7px;border:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.93);font-size:22px;color:#8c829b;z-index:1}.heart.selected{color:#8a456d}.product-body{padding:12px 10px 11px;display:flex;flex:1;flex-direction:column}.product-cat{font-size:10px;color:#9c95a6;margin:0 0 6px}.product-name{font-size:12px;line-height:1.38;min-height:49px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;font-weight:500}.product-volume{font-size:10px;color:#99909e;margin:auto 0 7px}.price{font-size:16px;font-weight:700;color:#3b3544}.price-old{text-decoration:line-through;font-size:11px;color:#a8a2ad;margin-left:5px}.price-note{font-size:10px;color:#a19ca9;line-height:1.3;margin:5px 0 9px}.product .add{width:100%;border:1px solid var(--deep);border-radius:8px;color:var(--deep);font-size:11px;font-weight:700;background:#f8f6fb;min-height:37px}.empty{padding:50px 20px;text-align:center;color:#827a89;background:#faf9fb;border-radius:15px;line-height:1.55}.empty strong{display:block;color:#4c4355;font-size:19px;margin:8px 0}.tagline{background:#faf9fb;border-radius:16px;margin-top:26px;padding:22px}.tagline .eyebrow{font-size:10px;letter-spacing:.13em;color:#9586b0}.tagline h3{font-size:22px;color:#4a405b;font-weight:600;line-height:1.15;margin:9px 0 10px}.tagline p{font-size:12px;line-height:1.65;color:#736d7a;margin:0}.footer-link{display:block;margin-top:25px;text-align:center;color:var(--deep);font-size:12px;text-decoration:underline}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,920px);height:calc(66px + var(--safe));display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid #ece8f0;padding-bottom:var(--safe);z-index:10;box-shadow:0 -4px 20px #4a35550d}.nav-item{border:0;background:none;color:#9c94a8;display:grid;gap:2px;justify-items:center;align-content:center;font-size:10px;min-width:0}.nav-ico{font-size:23px;line-height:1}.nav-item.active{color:var(--deep);font-weight:700}
.overlay{position:fixed;inset:0;background:#241d2ac4;z-index:20;display:flex;align-items:flex-end;justify-content:center}.overlay[hidden]{display:none}.sheet{background:#fff;border-radius:22px 22px 0 0;width:min(100%,760px);max-height:88dvh;overflow:auto;padding:24px 20px calc(24px + var(--safe))}.sheet-top{display:flex;align-items:center;justify-content:space-between}.sheet-top h2{margin:0;font-size:22px}.close{border:0;background:#f3f0f6;border-radius:9px;width:38px;height:38px;font-size:20px}.sheet .product-image{height:190px;aspect-ratio:auto;border-radius:12px;margin:16px 0}.sheet p{line-height:1.6;color:#6b6470;font-size:14px}.sheet .primary{width:100%;margin-top:12px}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid #eeeaf1}.cart-line strong{font-size:13px;display:block}.cart-line small{font-size:11px;color:#98919d}.cart-qty{display:flex;align-items:center;justify-content:end;gap:10px}.qty-btn{min-width:33px;height:33px;border-radius:9px;background:#f6f4f8;border:0;color:var(--deep);font-weight:700}.summary{display:flex;justify-content:space-between;margin:24px 0 10px;font-size:18px;font-weight:700}.notice{background:#f6f2fc;color:#544a67;border-radius:11px;padding:13px;font-size:12px;line-height:1.5;margin:15px 0}.form-label{display:block;font-size:12px;font-weight:700;margin:13px 0 6px}.form-input{width:100%;border:1px solid #ddd6e7;border-radius:9px;min-height:46px;padding:9px 12px;background:#fff;font-size:14px;outline-color:var(--outline)}.checkrow{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}.checkrow input{width:19px;height:19px;accent-color:var(--deep)}.toast{position:fixed;bottom:calc(90px + var(--safe));left:50%;transform:translateX(-50%) translateY(30px);padding:12px 17px;border-radius:9px;background:#403451;color:white;max-width:min(90vw,400px);font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.profile-card{border-radius:16px;background:#f7f4fa;padding:18px;margin:13px 0}.profile-card h3{color:var(--deep);font-size:18px;margin-bottom:7px}.muted{color:#847e8a;font-size:13px;line-height:1.5}.loading{text-align:center;padding:70px 20px;color:#7a6d8d}.order-tile{border:1px solid #ece7f1;border-radius:12px;padding:13px;margin:11px 0}.order-tile b{color:var(--deep)}.order-tile small{display:block;color:#7d7784;margin-top:6px}
@media(max-width:359px){.page{padding:14px 12px}.hero{grid-template-columns:1fr;padding:18px;min-height:240px}.hero-art{display:none}.grid-products{grid-template-columns:1fr}.product{display:grid;grid-template-columns:43% 57%;min-height:170px}.product-image{aspect-ratio:auto;height:100%}.product-name{min-height:0}.product-body{padding:11px 9px}.product-cat{font-size:9px}.product .add{min-height:34px}.header{padding:0 13px}.bottom-nav .nav-item{font-size:9px}}
@media(min-width:600px){.hero{min-height:290px;padding:35px 35px}.grid-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page{padding:30px 30px}.product-name{font-size:14px}.product-body{padding:14px}.section-head h2{font-size:26px}}
@media(min-width:900px){.grid-products{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{min-height:310px}.hero-art .bottle{transform:translate(-50%,-50%) rotate(-8deg) scale(1.28)}.hero h1{font-size:42px}}
