body{background:#fffaf7;color:#41204b}.shop-main{overflow:hidden}.shop-hero{background:linear-gradient(125deg,#f8e7f5 0%,#fef8ed 72%);padding:76px max(5vw,calc((100vw - 1180px)/2)) 82px;position:relative}.shop-hero:before{content:"✦";font-size:90px;color:#e8b7dd;opacity:.45;position:absolute;top:7px;right:5%}.shop-overline{font-size:11px;letter-spacing:.19em;font-weight:700;color:#95509b;text-transform:uppercase}.shop-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:45px}.shop-hero h1{font:600 clamp(56px,7vw,100px)/1.02 'Playfair Display',serif;margin:28px 0;color:#532663;letter-spacing:-.045em}.shop-hero h1 em,.shop-heading em,.shop-note em,.shop-faq em{color:#b375aa}.shop-hero p{max-width:510px;line-height:1.85;font-size:17px;color:#68506a;margin-bottom:27px}.shop-btn{display:inline-block;background:#633575;color:white;text-decoration:none;border-radius:99px;padding:15px 26px;font-weight:700;font-size:13px}.shop-btn:hover{background:#814e88}.shop-art{height:375px;position:relative;display:grid;place-items:center}.sheet{width:240px;height:296px;position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;font:700 39px 'Playfair Display',serif;border:2px solid #693e76;border-radius:12px;box-shadow:10px 12px 0 #d8b4d5;letter-spacing:-.04em}.sheet small{font:600 11px 'DM Sans',sans-serif;letter-spacing:.08em;margin-top:20px}.s-one{background:#e4cae7;transform:rotate(-15deg) translate(-41px,-4px);color:#7e4388}.s-two{background:#fff4d9;transform:rotate(10deg) translate(52px,2px);color:#633575}.shop-heart,.shop-star{position:absolute;font-size:70px;color:#bc84b2}.shop-heart{bottom:-5px;left:15%}.shop-star{top:-15px;right:6%}.shop-section{max-width:1210px;margin:0 auto;padding:82px 22px 96px}.shop-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:29px}.shop-heading h2,.shop-note h2,.shop-faq h2{font:600 clamp(39px,5vw,66px)/1.15 'Playfair Display',serif;color:#532663;margin:13px 0}.shop-heading p{max-width:285px;color:#705b73;line-height:1.6}.shop-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}.shop-filters button{border:1px solid #d6b3d2;background:#fff6fb;color:#734779;padding:10px 16px;border-radius:40px;cursor:pointer;font:700 12px 'DM Sans',sans-serif}.shop-filters button.active,.shop-filters button:hover{background:#633575;color:white}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.shop-card{background:white;border:1px solid #ead9e4;border-radius:19px;overflow:hidden;box-shadow:0 9px 28px #78547b12;display:flex;flex-direction:column}.shop-cover{aspect-ratio:4/3;overflow:hidden;position:relative;background:linear-gradient(135deg,#f2d9f2,#fff3de);display:grid;place-items:center}.shop-cover img{width:100%;height:100%;object-fit:cover}.shop-cover.placeholder:after{content:'✧';position:absolute;right:14px;bottom:9px;font-size:36px;color:#ffffffb0}.shop-placeholder{font:600 clamp(22px,2.5vw,36px)/1.15 'Playfair Display',serif;text-align:center;color:#663774;max-width:80%;transform:rotate(-4deg)}.shop-cover[data-tone="1"]{background:linear-gradient(135deg,#f5e5ab,#efc7de)}.shop-cover[data-tone="2"]{background:linear-gradient(135deg,#d9d2f8,#f5e4f2)}.shop-cover[data-tone="3"]{background:linear-gradient(135deg,#f6d2d5,#e7d9f4)}.shop-badge{position:absolute;top:15px;left:15px;background:#fff9f0;color:#71447e;padding:7px 12px;border-radius:30px;font-size:10px;font-weight:800;letter-spacing:.06em}.shop-body{padding:23px;display:flex;flex:1;flex-direction:column}.shop-category{font-size:11px;font-weight:800;letter-spacing:.13em;color:#a064a6;text-transform:uppercase}.shop-body h3{font:600 25px/1.23 'Playfair Display',serif;color:#512b5c;margin:11px 0}.shop-body p{font-size:13px;color:#77697b;line-height:1.72}.shop-type{font-size:11px;color:#967d99}.shop-card-footer{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.shop-price{font-weight:800;color:#562b66}.shop-action{font:700 12px 'DM Sans',sans-serif;border-radius:40px;background:#633575;color:white;text-decoration:none;padding:12px 16px;text-align:center}.shop-action.disabled{background:#f1e9f1;color:#825f88;cursor:default}.shop-message{color:#765a7f;font-size:13px}.shop-note{background:#653679;text-align:center;color:white;padding:82px 20px}.shop-note span{font-size:11px;letter-spacing:.18em;color:#e7c4f4}.shop-note h2{color:#fff}.shop-note em{color:#f6c9e8}.shop-note p{max-width:690px;margin:15px auto;line-height:1.8;color:#f3e5f4}.shop-faq{max-width:820px;padding:70px 22px 100px;margin:auto}.shop-faq details{border-bottom:1px solid #e3cfe3;padding:20px 0;color:#65466e}.shop-faq summary{cursor:pointer;font-weight:700}.shop-faq details p{line-height:1.7;font-size:14px}@media(max-width:820px){.shop-hero-grid{grid-template-columns:1fr}.shop-art{height:245px}.sheet{width:172px;height:210px;font-size:27px}.shop-hero{padding:54px 6vw}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-heading{display:block}.shop-heading p{max-width:unset}}@media(max-width:560px){.shop-grid{grid-template-columns:1fr}.shop-hero h1{font-size:57px}.shop-art{height:205px}.sheet{width:150px;height:182px;font-size:24px}.shop-section{padding-top:60px}.shop-cover{aspect-ratio:5/3}.shop-heading h2{font-size:43px}}

/* Product browsing */
.shop-cover-link{display:grid;color:inherit;text-decoration:none;transition:transform .18s ease,filter .18s ease}.shop-cover-link:hover{filter:brightness(.97)}.shop-cover-link:focus-visible,.shop-title-link:focus-visible,.shop-category-link:focus-visible,.shop-details-link:focus-visible{outline:3px solid #9c60ba;outline-offset:3px}.shop-title-link{text-decoration:none;color:inherit}.shop-title-link:hover{text-decoration:underline;text-underline-offset:4px}.shop-category-link{background:none;border:0;text-align:left;padding:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.shop-category-link:hover{text-decoration:underline;text-underline-offset:3px}.shop-details-link{display:inline-block;margin-top:14px;color:#633575;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.shop-details-link:hover{color:#a464a7}.product-detail{max-width:1120px;margin:0 auto;padding:75px 22px 110px}.product-back{display:inline-block;margin-bottom:30px;text-decoration:none;color:#6e407c;font-weight:700}.product-detail-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:42px;align-items:start}.product-detail-image{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f9edf5;border-radius:22px;border:1px solid #ead9e4}.product-detail-copy h1{font:600 clamp(37px,5vw,66px)/1.1 'Playfair Display',serif;color:#532663;margin:14px 0}.product-detail-copy p{color:#66536c;line-height:1.8}.product-detail-copy .shop-action{display:inline-block;margin-top:17px}.product-detail-copy .shop-category-link{font-size:12px;font-weight:800;color:#94539c;text-transform:uppercase;letter-spacing:.11em}.product-detail-price{font-size:26px;font-weight:800;color:#532663;margin-top:20px}.product-detail-fallback{display:grid;place-items:center;min-height:320px;border-radius:22px;background:linear-gradient(135deg,#e6c8e8,#fff2e2);font:600 40px 'Playfair Display',serif;color:#663774;text-align:center;padding:24px}.product-nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px}.product-nav a{color:#713879;font-weight:700}@media(max-width:750px){.product-detail-layout{grid-template-columns:1fr}.product-detail{padding-top:42px}}

/* Curated shop home and category collections */
[hidden]{display:none!important}
.shop-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin:6px 0 84px}
.shop-collection-tile{min-height:213px;border-radius:22px;background:linear-gradient(145deg,#f8e4f5,#fff4e7);border:1px solid #e9cbe4;padding:26px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;text-decoration:none;color:#512b5c;transition:transform .2s,box-shadow .2s}
.shop-collection-tile:nth-child(2){background:linear-gradient(145deg,#e9d9f7,#fff1f0)}
.shop-collection-tile:nth-child(3){background:linear-gradient(145deg,#fff0d7,#f1dbee)}
.shop-collection-tile:nth-child(4){background:linear-gradient(145deg,#e7e1fb,#fbe6f2)}
.shop-collection-tile:nth-child(5){background:linear-gradient(145deg,#f9dce9,#ffefda)}
.shop-collection-tile:nth-child(6){background:linear-gradient(145deg,#ead9f4,#f8dcea)}
.shop-collection-tile:hover{transform:translateY(-3px);box-shadow:0 13px 28px #78547b25}
.shop-collection-tile:focus-visible,.shop-back:focus-visible{outline:3px solid #73448c;outline-offset:3px}
.shop-collection-icon{position:absolute;top:8px;right:22px;font:600 83px 'Playfair Display',serif;color:#ad79b6;opacity:.45}
.shop-collection-name{font:600 clamp(22px,2.5vw,31px)/1.15 'Playfair Display',serif;position:relative;max-width:90%}
.shop-collection-hint{font:600 12px 'DM Sans',sans-serif;margin-top:13px;color:#795581;position:relative}
.shop-featured-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.shop-featured-header h2{font:600 clamp(36px,4.5vw,58px)/1.15 'Playfair Display',serif;color:#532663;margin:13px 0}
.shop-featured-header h2 em{color:#b375aa}
.shop-featured-header p{max-width:280px;color:#705b73;line-height:1.6}
.shop-back{display:inline-block;margin-bottom:32px;text-decoration:none;color:#713879;font-weight:700;font-size:14px}
.shop-back:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.shop-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-featured-header{display:block}}
@media(max-width:540px){.shop-collection-grid{gap:13px;margin-bottom:58px}.shop-collection-tile{padding:16px;min-height:173px;border-radius:15px}.shop-collection-name{font-size:22px}.shop-collection-icon{font-size:55px;right:10px}.shop-collection-hint{font-size:11px}}
