@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--wine:#68265e;--dark:#37202f;--muted:#7b6d76;--blush:#f9ecec;--line:#eadde3;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf9;color:var(--dark);font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1190px)/2));background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-size:22px;font-weight:700;letter-spacing:3px;color:var(--wine);display:flex;align-items:center;gap:9px;flex-wrap:wrap;max-width:245px;line-height:1}.brand small{font-size:9px;letter-spacing:3px;width:100%;padding-left:36px;margin-top:-7px}.gem{font-size:34px;font-weight:400}.cartbtn{border:1px solid var(--line);border-radius:40px;background:#fff;padding:11px 17px;color:var(--wine);font-weight:700}.cartbtn span{background:var(--wine);color:#fff;border-radius:30px;padding:3px 8px;margin-left:7px}.hero{min-height:410px;background:linear-gradient(110deg,#f7e1e4 0%,#fff4f1 56%,#e5c3d2 100%);display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:45px max(5%,calc((100vw - 1190px)/2))}.hero-inner{z-index:1}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#a05a83}.hero h1{font:500 clamp(36px,5vw,67px)/1.14 'Playfair Display',Georgia,serif;margin:15px 0;color:var(--dark)}.hero h1 em{color:var(--wine)}.hero p{color:#705765;font-size:16px}.hero-cta,.primary{display:inline-block;background:var(--wine);color:white;border:0;border-radius:40px;padding:15px 25px;font-weight:700;margin-top:14px}.hero-art{display:flex;gap:14px;transform:rotate(-7deg);margin-right:2%;}.hero-art img{width:150px;height:225px;object-fit:cover;border:9px solid white;border-radius:100px;box-shadow:0 12px 32px #6a3a582c}.hero-art img:nth-child(2){transform:translateY(45px)}.hero-art img:nth-child(3){transform:translateY(-10px)}.section{max-width:1190px;margin:auto;padding:62px 5%}.section-title{text-align:center}.section h2{font:500 clamp(29px,4vw,43px) 'Playfair Display',Georgia,serif;margin:9px 0}.section p{color:var(--muted)}.cities{display:flex;gap:13px;justify-content:center;margin-top:28px;flex-wrap:wrap}.cities a{border:1px solid #dec7d2;padding:14px 24px;border-radius:35px;font-weight:700;color:var(--wine);background:#fff}.cities a.active,.cities a:hover{background:var(--wine);color:white}.catalog-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.search-wrap{font-size:12px;color:var(--muted);display:grid;gap:7px}.search-wrap input,.checkout input,.checkout select{border:1px solid #ddcbd5;border-radius:9px;padding:12px;background:#fff;width:100%;min-width:0}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.product{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 4px 14px #7d43570c}.product img{width:100%;aspect-ratio:1.2;object-fit:cover;display:block}.product-body{padding:14px}.product h3{margin:0 0 7px;font-size:14px;text-transform:uppercase;letter-spacing:.6px}.product-meta{font-size:12px;color:var(--muted);margin-bottom:12px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px}.product-price{font-weight:700;color:var(--wine)}.product button{border:0;border-radius:20px;background:var(--wine);color:white;padding:9px 12px;font-size:12px;font-weight:700}.product button:disabled{background:#d6cbd1;cursor:not-allowed}.backdrop{position:fixed;inset:0;background:#180a15a3;z-index:9}.backdrop[hidden]{display:none}.cart{position:fixed;z-index:10;right:0;top:0;height:100dvh;width:min(440px,100vw);background:#fff;transform:translateX(110%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-10px 0 30px #0002}.cart.open{transform:translateX(0)}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}.cart-head h2{font:500 27px 'Playfair Display',serif;margin:0}.cart-head span{color:var(--wine)}.cart-head button{border:0;background:none;font-size:20px}.cart-items{overflow:auto;flex:1;padding:15px 24px}.cart-item{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.cart-item img{width:66px;height:66px;object-fit:cover;border-radius:8px}.cart-item .details{flex:1}.cart-item h4{margin:2px 0 5px;font-size:13px}.qty{display:flex;align-items:center;gap:12px;margin-top:8px}.qty button{border:1px solid var(--line);background:#fff;border-radius:5px;width:25px;height:25px}.checkout{padding:16px 24px 20px;border-top:1px solid var(--line);display:grid;gap:10px;max-height:64vh;overflow:auto}.checkout label{display:grid;gap:4px;font-size:12px;font-weight:700}.totalrow{display:flex;justify-content:space-between;font-size:13px}.grand{font-size:20px;border-top:1px solid var(--line);padding-top:12px}.hint{font-size:11px;color:var(--muted);margin:0}.primary{width:100%;margin:0}.primary:disabled{opacity:.5;cursor:not-allowed}#cartError{font-size:12px;color:#aa2646;margin:0}footer{text-align:center;padding:35px;background:#f6edf1;color:#7e6576;font-size:12px}footer a{text-decoration:underline}@media(max-width:850px){.hero-art img{width:100px;height:165px}.products{grid-template-columns:repeat(3,1fr);gap:12px}}@media(max-width:600px){.top{height:67px;padding:0 16px}.brand{font-size:16px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:2px;padding-left:29px}.gem{font-size:26px}.cartbtn{font-size:12px;padding:9px}.hero{min-height:340px;padding:40px 22px}.hero h1{font-size:39px}.hero p{max-width:220px;font-size:13px}.hero-art{position:absolute;right:-115px;opacity:.5}.hero-art img{width:90px;height:150px}.section{padding:44px 16px}.cities a{padding:12px 15px;font-size:12px}.catalog-head{display:block}.search-wrap{margin-top:20px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product-body{padding:10px}.product h3{font-size:12px}.product button{font-size:11px;padding:8px}.product-price{font-size:13px}}
