@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
:root{--plum:#3c274f;--rose:#d26a9c;--lavender:#bda2df;--gold:#d6a65c;--cloud:#fffaf9;--lilac:#f4eafa;--border:#ecd9e7;--muted:#846e86;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 22px 60px #4e295119}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cloud);color:var(--plum);font:15px/1.62 var(--sans);-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.54;cursor:not-allowed}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{line-height:1.22}h1,h2{font-family:var(--serif);font-weight:500}em{font-weight:400}*:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.container{width:min(1280px,calc(100% - 52px));margin:0 auto}.skip{position:absolute;left:0;top:-70px;background:white;padding:13px;z-index:200}.skip:focus{top:0}.kicker{font-size:11px;color:#ab749b;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.announcement{background:linear-gradient(105deg,#765588,#9f71ad 58%,#8f699e);color:#fff;text-align:center;min-height:35px;display:flex;align-items:center;justify-content:center;gap:22px;font:600 11px/1.4 var(--serif);letter-spacing:.14em;padding:8px 14px}.announcement span{color:#fbe7b8}
.site-header{background:radial-gradient(ellipse at 50% 0,#d0b9e8 0%,#e9c7e3 37%,#ffe8ec 80%,#fff5ef 100%);border-bottom:1px solid #e8c5cb;position:relative}.site-header:before,.site-header:after{content:'✦ ✧ ✦';position:absolute;top:32px;font-size:20px;color:#d2a65e;opacity:.65}.site-header:before{left:4%}.site-header:after{right:4%}.header-inner{height:114px;display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;position:relative;z-index:1}.header-links{display:flex;gap:28px;align-items:center}.header-links a{font-family:var(--serif);font-size:13px;font-weight:600;transition:color .2s}.header-links a:hover{color:var(--rose)}.header-logo{height:100px;width:100px;margin:0 auto;filter:drop-shadow(0 5px 14px #6f365d45);border-radius:50%;transition:transform .2s}.header-logo:hover{transform:scale(1.03)}.header-logo img{height:100%;width:100%;object-fit:cover;border-radius:50%;border:2px solid #eab46b}.header-tools{display:flex;justify-content:flex-end;align-items:center;gap:24px}.small-royal{font:700 10px/1.4 var(--sans);letter-spacing:.14em;color:#755779}.bag-button{border:none;background:none;display:flex;align-items:center;gap:5px;color:var(--plum)}.bag-button svg{height:24px;width:24px;stroke:currentColor;stroke-width:1.7;fill:none}.bag-button span{font-size:11px}.header-curlicue{text-align:center;height:16px;line-height:16px;background:linear-gradient(90deg,transparent 0%,#e2b476 25%,#e2b476 75%,transparent 100%);color:#815c72;font-size:12px;letter-spacing:.6em}
.pdp{background:radial-gradient(ellipse at 90% 22%,#f9e9f2 0%,transparent 44%),linear-gradient(#fffaf9,#fff9fa);padding:28px 0 65px}.eyebrow-divider{text-align:center;font-size:10px;font-weight:700;color:#ad82a8;letter-spacing:.22em;margin-bottom:24px}.eyebrow-divider span{color:var(--gold);padding:0 12px}.pdp-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:60px;align-items:start}.gallery{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;min-width:0;position:sticky;top:24px}.thumb-list{display:flex;flex-direction:column;gap:12px;max-height:740px;overflow:auto;scrollbar-width:thin}.thumb{padding:4px;border:1px solid #d8c0da;border-radius:16px;background:#fbf0f9;flex:0 0 94px;width:100%;height:100px;transition:border-color .2s,box-shadow .2s}.thumb.active,.thumb:hover{border:2px solid #d8a754;box-shadow:0 0 0 2px #f7e4c1}.thumb img{height:100%;width:100%;object-fit:cover;border-radius:11px}.gallery-stage{height:660px;min-width:0;margin:0;border-radius:19px;overflow:hidden;position:relative;border:1px solid #edd7e9;background:radial-gradient(circle at 50% 25%,#fff4fa 0%,#f7e9f7 48%,#e5d8f0 100%);box-shadow:var(--shadow)}.gallery-stage img{height:100%;width:100%;object-fit:contain;object-position:center}.gallery-stage figcaption{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fffdfbf0;backdrop-filter:blur(8px);border:1px solid #f1deeb;padding:5px 15px;border-radius:24px;font:italic 13px var(--serif);color:#8f6691}.product-info{padding:0 4px}.mini-logo{display:flex;align-items:center;gap:11px;color:#a6759a;font-size:10px;font-weight:700;letter-spacing:.15em}.mini-logo img{border-radius:50%;border:2px solid #e5bd77}.crown-line{color:#d6a352;letter-spacing:.15em;text-align:center;font-size:14px;margin:13px 0 5px}.product-info h1{font-size:clamp(43px,4.25vw,64px);font-style:italic;letter-spacing:-.05em;margin:3px 0 1px;color:#593763}.subtitle{font:italic 19px/1.5 var(--serif);color:#9971a0;margin-bottom:20px}.price-row{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin:15px 0}.price-row strong{font:bold 35px/1.1 var(--serif);color:#ca598d}.price-row del{font:500 20px var(--serif);color:#a598a3}.sale-pill{display:inline-block;background:#cb619a;color:white;font-size:11px;font-weight:700;border-radius:20px;padding:5px 12px}.demo-warning{background:#fff6dc;padding:12px;border:1px solid #e8c979;border-radius:11px;font-size:12px;color:#59432d}.intro{font-size:13px;color:#745e77;line-height:1.9;margin:15px 0 21px}.selling-points{display:grid;gap:13px;margin-bottom:22px}.selling-points>div{display:grid;grid-template-columns:37px 1fr;gap:8px;align-items:start}.benefit-symbol{font-size:24px;color:#c15c94;line-height:1.3;text-align:center}.selling-points b{font:600 14px var(--serif);color:#52365a}.selling-points p{margin:1px 0 0;font-size:12px;color:#806e82}.rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid #ebdce7;background:white;width:max-content;max-width:100%;padding:8px 12px;border-radius:10px;font-size:12px;margin:9px 0}.rating-stars{background:#00b67a;color:white;padding:2px 5px;letter-spacing:1px}.rating small{text-decoration:underline;color:var(--muted)}
.option-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}.option-group label{display:block;font-size:12px;font-weight:700;margin:0 0 5px}.option-group select{border:1px solid #e0cbdc;width:100%;background:#fff;border-radius:10px;padding:11px}.buy-row{display:flex;gap:12px;align-items:stretch}.quantity{height:53px;min-width:122px;display:flex;align-items:center;justify-content:space-around;border:1px solid #ebcbdf;border-radius:13px;background:white}.quantity button{background:none;border:0;padding:8px 10px;font-size:22px;color:#624060}.quantity input{width:31px;border:0;background:transparent;text-align:center;font-weight:600;appearance:textfield;-moz-appearance:textfield}.quantity input::-webkit-inner-spin-button,.quantity input::-webkit-outer-spin-button{appearance:none}.cta{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(100deg,#db8ab3,#bc74c4);color:white;border:none;border-radius:14px;padding:13px 23px;font-size:13px;font-weight:700;min-height:53px;letter-spacing:.02em;box-shadow:0 10px 28px #d782af42;transition:filter .2s,transform .2s}.cta:hover{filter:brightness(1.05);transform:translateY(-1px)}.cta--wide{width:100%}.add-button{flex:1}.dynamic-checkout{margin-top:10px}.shopify-payment-button{margin-top:6px}.shopify-payment-button__button{border-radius:14px!important;min-height:48px}.form-message{color:#a53d68;font-size:12px;margin:6px 0}.payment-reassurance{display:flex;justify-content:center;gap:25px;margin:16px 0 13px;font-size:11px;color:#8b6f83}.shipping-box{display:flex;align-items:start;gap:13px;margin:15px 0 12px;padding:16px 17px;border:1px solid #ead5e4;background:linear-gradient(120deg,#fff6f9,#f5eafa);border-radius:16px}.shipping-icon{font-size:25px;color:#b466a5}.shipping-box b{font:600 15px var(--serif)}.shipping-box p{font-size:12px;margin:5px 0 0;color:#77627d}.no-refunds{font-size:11px;color:#8a7986;line-height:1.65}.no-refunds a,.faq-accordions a,.cart-checkout a{color:#a44879;text-decoration:underline;text-underline-offset:3px}
.fine-details{background:linear-gradient(#f9eaf4,#f0e4f6);padding:76px 0 80px;position:relative;border-block:1px solid #ead3e6}.detail-top{text-align:center;max-width:770px;margin:0 auto 39px}.detail-top h2{font-size:clamp(32px,4vw,49px);margin:9px 0;color:#553668}.detail-top h2 em{color:#bf6492}.detail-top p{font-size:14px;color:#795e7e}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-grid>div{background:#fffafc;border:1px solid #eedce7;padding:28px 26px;border-radius:18px;box-shadow:0 14px 42px #5328530b}.detail-grid span{display:block;font-family:var(--serif);font-size:15px;color:#b678af;letter-spacing:.13em}.detail-grid h3{font:600 21px var(--serif);margin:12px 0 6px}.detail-grid p{font-size:12px;color:#866f87;margin:0}.merchant-description{max-width:790px;margin:35px auto 0;background:#fffafc;padding:24px;border-radius:16px}.merchant-description h3{font:600 19px var(--serif)}.rte{overflow-wrap:anywhere}.rte img{height:auto}.rte a{text-decoration:underline}
.princess-faq{padding:75px 0 95px;background:#fffaf9}.faq-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:85px}.faq-heading img{border-radius:50%;border:2px solid var(--gold);margin-bottom:16px}.faq-heading h2{font-size:50px;margin:8px 0}.faq-heading h2 em{color:#c46c96}.faq-heading p{max-width:320px;color:#837181;font-size:13px}.faq-accordions details{border-bottom:1px solid #e8d6e2;padding:0 5px}.faq-accordions summary{display:flex;justify-content:space-between;gap:20px;align-items:center;font-weight:600;font-size:14px;padding:21px 4px;cursor:pointer;list-style:none}.faq-accordions summary::-webkit-details-marker{display:none}.faq-accordions summary span{color:#b85d92;font-size:21px}.faq-accordions details[open] summary span{transform:rotate(45deg)}.faq-accordions details p{font-size:13px;color:#816c82;line-height:1.9;padding:0 5px 15px;margin:0}
.site-footer{background:#392647;color:#f8edf7;padding:33px 0 13px}.footer-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px;align-items:start}.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand img{border:1px solid var(--gold);border-radius:50%}.footer-brand strong{font:600 22px var(--serif)}.footer-brand p{color:#e2cde2;font-size:12px}.footer-links{display:grid;gap:8px;font-size:12px}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #694b6c;margin-top:29px;padding-top:15px;display:flex;justify-content:space-between;color:#c5acc9;font-size:11px}
.cart-drawer{background:var(--cloud);position:fixed;right:0;top:0;bottom:0;width:min(450px,100vw);z-index:102;transform:translateX(103%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-20px 0 50px #2b182c33}.cart-drawer.open{transform:translateX(0)}.drawer-overlay{background:#2b172ca8;position:fixed;inset:0;z-index:101}.drawer-head{display:flex;align-items:start;justify-content:space-between;padding:25px 25px 17px;border-bottom:1px solid var(--border)}.drawer-head h2{font:500 29px var(--serif);margin:8px 0}.cart-close{border:none;background:none;font-size:29px}.drawer-items{flex:1;overflow:auto;padding:25px}.drawer-line{display:grid;grid-template-columns:85px 1fr;gap:14px;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}.drawer-line img{width:85px;height:115px;object-fit:cover;border-radius:9px}.drawer-line p{font-size:12px;color:#8d6782;margin:6px 0}.drawer-line button{background:none;padding:0;border:0;color:#aa5f88;text-decoration:underline}.drawer-empty{text-align:center;padding:65px 12px}.drawer-empty h3{font:500 23px var(--serif)}.heart{font-size:45px;color:var(--gold)}.drawer-bottom{border-top:1px solid var(--border);padding:22px 24px}.drawer-total{display:flex;justify-content:space-between;font-size:17px}.drawer-bottom p{font-size:12px;color:#846e86}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);z-index:200;background:var(--plum);color:#fff;border-radius:25px;padding:10px 24px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.basic-page,.cart-page{padding:80px 0 100px;min-height:55vh}.page-title{text-align:center;margin-bottom:40px}.page-title h1{font-size:clamp(34px,6vw,55px);margin:10px auto}.page-title p{color:var(--muted)}.basic-page>.rte{max-width:800px;margin:auto;background:#fff;padding:35px;border:1px solid var(--border);border-radius:14px}.contact-form{max-width:680px;margin:auto;display:grid;gap:7px}.contact-form label{font-weight:700;font-size:12px;margin-top:7px}.contact-form input,.contact-form textarea{padding:14px;border:1px solid #dbc9d8;border-radius:11px;background:#fff}.contact-form .cta{justify-self:start;margin-top:15px}.contact-success{background:#e8f5e9;padding:12px;border-radius:9px}.empty-cart{display:flex;align-items:center;flex-direction:column;gap:20px;text-align:center}.empty-cart img{border-radius:50%}.empty-cart h2{font-size:25px}.cart-page-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:25px}.line-item{display:grid;grid-template-columns:110px 1fr;gap:18px;border-bottom:1px solid var(--border);padding:18px 0}.line-item img{height:140px;width:110px;object-fit:cover;border-radius:10px}.line-item h2{font:600 20px var(--serif);margin:0 0 9px}.line-item p{margin:4px 0;font-size:13px;color:var(--muted)}.line-item label{font-size:12px}.line-item input{width:60px;border:1px solid #d9c9da;border-radius:6px;padding:5px;margin:0 13px}.remove{color:#aa6a89;text-decoration:underline;font-size:12px}.cart-checkout{background:#fff;border:1px solid var(--border);border-radius:16px;padding:25px;align-self:start}.cart-checkout h2{font-size:27px}.cart-checkout>div{display:flex;justify-content:space-between}.cart-checkout p{font-size:12px;color:var(--muted)}.update-cart{border:1px solid #d5c2d8;background:white;border-radius:12px;padding:12px 20px;width:100%;margin-top:10px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-tile{padding:15px;background:#fff;border:1px solid var(--border);border-radius:13px}.product-tile img{height:310px;width:100%;object-fit:contain}.product-tile h2{font-size:19px;margin:10px 0 0}.search-box{display:flex;gap:8px;margin-bottom:30px}.search-box input{flex:1;padding:12px 18px;border:1px solid var(--border);border-radius:14px}
@media(max-width:1150px){.header-links{gap:15px}.small-royal{display:none}.pdp-grid{gap:28px}.gallery{grid-template-columns:75px minmax(0,1fr);gap:12px}.gallery-stage{height:600px}.product-info h1{font-size:49px}.selling-points{gap:9px}}
@media(max-width:850px){.header-inner{grid-template-columns:1fr 100px 1fr;height:90px}.header-logo{width:79px;height:79px}.header-links a{font-size:11px}.pdp-grid{grid-template-columns:1fr}.gallery{position:static;width:min(640px,100%);margin:auto}.gallery-stage{height:570px}.product-info{max-width:720px;margin:auto}.detail-grid{grid-template-columns:1fr 1fr}.faq-grid{gap:35px}.faq-heading h2{font-size:38px}.footer-row{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:560px){body{font-size:14px}.container{width:calc(100% - 30px)}.announcement{font-size:9px;gap:9px}.site-header:before,.site-header:after{display:none}.header-inner{height:76px;grid-template-columns:1fr auto 1fr}.header-links{gap:10px}.header-links a{font-size:10px}.header-links a:nth-child(2){display:none}.header-logo{height:64px;width:64px}.bag-button svg{height:22px;width:22px}.header-curlicue{height:10px;font-size:9px;line-height:10px}.pdp{padding:19px 0 40px}.eyebrow-divider{font-size:9px;letter-spacing:.13em;margin-bottom:14px}.eyebrow-divider span{padding:0 3px}.gallery{display:flex;flex-direction:column-reverse;gap:10px}.gallery-stage{height:480px;border-radius:15px}.gallery-stage figcaption{font-size:11px;bottom:10px}.thumb-list{flex-direction:row;max-height:none;overflow:auto;scrollbar-width:none}.thumb{width:68px;height:74px;flex-basis:68px;border-radius:10px}.thumb img{border-radius:8px}.product-info{padding:14px 3px 0}.mini-logo{font-size:9px}.mini-logo img{width:34px;height:34px}.crown-line{margin:4px 0 1px}.product-info h1{font-size:45px}.subtitle{font-size:17px;margin-bottom:10px}.price-row{gap:12px;margin:11px 0}.price-row strong{font-size:30px}.price-row del{font-size:17px}.selling-points{gap:10px}.buy-row{gap:8px}.quantity{min-width:103px;height:52px}.quantity button{padding:6px}.add-button{padding:10px;font-size:12px}.payment-reassurance{gap:14px;font-size:10px;flex-wrap:wrap}.fine-details{padding:53px 0}.detail-top h2{font-size:35px}.detail-grid{grid-template-columns:1fr;gap:13px}.detail-grid>div{padding:18px 20px}.princess-faq{padding:52px 0 65px}.faq-grid{grid-template-columns:1fr;gap:15px}.faq-heading img{width:62px;height:62px}.faq-heading h2{font-size:38px}.faq-accordions summary{font-size:13px}.footer-row{grid-template-columns:1fr 1fr;gap:24px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}.cart-page-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:1fr}.basic-page,.cart-page{padding:50px 0 65px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Kaching-ready, independently editable product info blocks */
.princess-highlights{padding-bottom:14px;border-bottom:1px solid #eedde9;margin-bottom:19px}
.princess-highlights .selling-points{margin-bottom:0}
.princess-bundle-app{min-width:0;width:100%;margin:17px 0 23px;overflow:visible}
.princess-bundle-app:empty{display:none}
.princess-bundle-app kaching-bundle{display:block;width:100%;max-width:100%}
.princess-buy-buttons{margin-top:18px}
.princess-delivery{margin-top:14px}
@media(max-width:560px){.princess-highlights{padding-bottom:12px;margin-bottom:14px}.princess-bundle-app{margin:12px 0 18px}.princess-buy-buttons{margin-top:14px}}
