@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap");:root{--ink:#453b43;--muted:#82757d;--pink:#f3dce5;--pink-deep:#b66e89;--blue:#dce9f1;--cream:#fffaf7;--line:#eee4e7;--green:#648b75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hero{min-height:620px;position:relative;overflow:hidden;background:linear-gradient(115deg,#f8e9ee,#f9eef0 48%,#e8f0f5);display:flex;align-items:center;justify-content:center;padding:80px 24px 95px}.hero-content{position:relative;z-index:2;text-align:center;max-width:610px}.eyebrow,.modal-kicker,.section-kicker{font-size:10px;letter-spacing:3px;font-weight:700;color:#a46f83}.admin-heading h1,.admin-login h1,.footer h2,.hero h1,.intro h2{font-family:Playfair Display,serif;font-size:clamp(48px,7vw,76px);line-height:1.03;font-weight:500;margin:20px 0 16px;letter-spacing:-1.8px}.admin-heading h1 em,.admin-login h1 em,.footer h2 em,.hero h1 em,.intro h2 em,.reserve-modal h2 em{font-weight:500;color:#b87991}.hero-names{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#74616b;margin:25px 0 12px}.hero-copy{font-size:15px;line-height:1.8;color:#796d74;max-width:470px;margin:0 auto}.browse-button{display:inline-flex;gap:16px;align-items:center;margin-top:30px;padding:14px 23px;background:#fffaf7;border:1px solid #ead7df;border-radius:30px;font-size:12px;font-weight:700;box-shadow:0 7px 25px #a8798c18}.browse-button span{font-size:17px}.hero-art{inset:0;pointer-events:none;opacity:.7}.hero-art,.sun{position:absolute}.sun{width:190px;height:190px;border-radius:50%;background:#f7d9c8;right:12%;top:13%;opacity:.5}.cloud{position:absolute;width:130px;height:34px;border-radius:50px;background:#fff9f7;filter:blur(1px)}.cloud:after,.cloud:before{content:"";position:absolute;background:inherit;border-radius:50%}.cloud:before{width:54px;height:54px;left:20px;top:-24px}.cloud:after{width:43px;height:43px;right:20px;top:-17px}.cloud-a{left:10%;top:24%}.cloud-b{right:10%;bottom:22%;transform:scale(.7)}.rainbow{right:16%;bottom:14%;width:150px;height:100px;border:14px solid #e6b5c5;border-bottom:0;border-radius:100px 100px 0 0;color:#d69cb2;text-align:center;font-size:35px;padding-top:15px;transform:rotate(-8deg)}.bear,.rainbow{position:absolute}.bear{right:21%;bottom:17%;font-size:72px;filter:drop-shadow(0 8px 7px #876a7420)}.star{position:absolute;color:#c58aa0;font-size:30px}.star-a{left:17%;top:20%}.star-b{right:31%;top:17%;font-size:22px}.star-c{left:27%;bottom:17%;font-size:20px}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.35}.orb-one{width:240px;height:240px;background:#eac3d1;left:-120px;bottom:-80px}.orb-two{width:180px;height:180px;background:#cbdce8;right:-75px;top:-65px}.hero-bottom{position:absolute;bottom:23px;left:0;right:0;text-align:center;color:#9a7a88;font-family:Playfair Display,serif;font-style:italic;font-size:14px}.hero-bottom span{color:#bd7d96;margin-left:7px}.intro{text-align:center;max-width:640px;margin:0 auto;padding:82px 24px 35px}.intro h2{font-size:42px;margin:12px 0}.intro>p{color:var(--muted);font-size:14px;line-height:1.8}.progress{max-width:420px;margin:32px auto 0}.progress-label{display:flex;justify-content:space-between;color:#8c7883;font-size:11px;margin-bottom:9px}.progress-track{height:6px;border-radius:10px;background:#f0e5e8;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#d69bb0,#a9c3d3);border-radius:10px;transition:width .3s}.catalogue{max-width:1160px;margin:0 auto;padding:25px 24px 90px}.category-list{display:flex;margin:0 auto 35px}.category{border:1px solid #e9dfe3;border-radius:30px;padding:10px 15px;background:#fffdfa;color:#806f78;font-size:11px}.category.active{background:#755c69;color:#fff;border-color:#755c69}.notice{max-width:750px;margin:15px auto 22px;background:#f5e8ed;border:1px solid #ead3dc;padding:13px 16px;border-radius:10px;color:#765768;font-size:13px;text-align:center}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:22px;gap:22px}.product-card{background:#fff;border:1px solid #f0e8e9;border-radius:15px;overflow:hidden;box-shadow:0 7px 24px #60455408;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #60455412}.product-image{height:225px;position:relative;background:linear-gradient(135deg,#f8edf0,#edf3f6);overflow:hidden}.product-image img{width:100%;height:100%;display:block}.image-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#c18da2}.image-placeholder span{font-family:Playfair Display,serif;font-size:65px}.image-placeholder small{font-size:10px;letter-spacing:1px;color:#a68b98}.reserved-ribbon{top:13px;right:-31px;transform:rotate(36deg);background:#6f897a;padding:7px 36px;letter-spacing:.4px}.product-info{padding:19px}.product-category{font-size:9px;text-transform:uppercase;letter-spacing:1.7px;color:#b17e92;font-weight:700}.product-info h3{font-family:Playfair Display,serif;font-size:20px;font-weight:500;margin:8px 0}.product-info>p{color:#8b7e85;line-height:1.6;min-height:20px;margin:0 0 17px}.product-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:15px}.product-bottom strong{font-size:14px}.reserve-button{border:0;border-radius:25px;background:#f3e3e9;color:#80586b;padding:10px 13px;font-size:11px;font-weight:700}.reserve-button span{margin-left:7px}.taken{font-size:10px;color:var(--green);font-weight:700}.shop-link{display:inline-block;margin-top:13px;color:#9b7485;font-size:10px;text-decoration:underline;text-underline-offset:3px}.empty-state{text-align:center;padding:65px 20px;color:#9a8790;font-family:Playfair Display,serif;font-size:20px}.footer{text-align:center;background:linear-gradient(120deg,#f8e9ee,#eaf1f5);padding:65px 20px 35px}.footer-heart{font-size:35px;color:#bc8298}.footer h2{font-size:38px;margin:12px 0}.footer p{color:#897a82;font-size:13px}.footer-sign{font-family:Playfair Display,serif;font-style:italic;color:#a8758b;margin:24px 0 35px}.admin-link{font-size:10px;color:#a18d96;text-decoration:underline}.modal-backdrop{position:fixed;z-index:10;inset:0;background:#352a3290;display:flex;align-items:center;justify-content:center;padding:18px}.reserve-modal{background:#fffaf7;border-radius:18px;max-width:440px;width:100%;padding:38px;position:relative;box-shadow:0 20px 80px #20151b40}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:27px;color:#9c8992}.reserve-modal h2{font-family:Playfair Display,serif;font-weight:500;font-size:34px;line-height:1.1;margin:12px 0}.modal-description{font-size:13px;color:#887a82;line-height:1.6;margin-bottom:23px}.admin-login label,.product-form label,.reserve-modal label{display:block;font-size:11px;font-weight:700;color:#776671;margin:15px 0}.admin-login input,.product-form input,.reserve-modal input{display:block;width:100%;border:1px solid #e9dce1;background:#fff;border-radius:9px;padding:13px 12px;margin-top:7px;color:var(--ink);outline:none;font-size:13px}.admin-login input:focus,.product-form input:focus,.reserve-modal input:focus{border-color:#c18ba0;box-shadow:0 0 0 3px #e9cbd633}.optional{font-weight:400;color:#a6979e}.confirm-button{width:100%;border:0;border-radius:30px;background:#795e6c;color:#fff;padding:14px 18px;font-weight:700;font-size:12px;margin-top:10px}.confirm-button:disabled{opacity:.5;cursor:not-allowed}.privacy-note{text-align:center;font-size:10px;color:#9b8c93;line-height:1.6;margin:14px 0 0}.admin-shell{min-height:100vh;background:#fffaf7;padding:35px max(22px,calc((100vw - 980px)/2)) 80px}.back-link{font-size:12px;color:#927786}.admin-login{max-width:400px;margin:13vh auto;background:#fff;border:1px solid var(--line);border-radius:17px;padding:38px;box-shadow:0 10px 35px #654c590c}.admin-heading h1,.admin-login h1{font-size:42px;margin:12px 0}.admin-heading>p,.admin-login>p{font-size:13px;color:var(--muted);line-height:1.6}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-heading{margin:55px 0 25px}.small-button{border:1px solid #e8dce1;border-radius:20px;background:#fff;padding:8px 13px;font-size:10px;color:#806b77}.small-button.danger{color:#a45d6c;border-color:#edd9df}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px;margin:25px 0}.stat-card{background:#f6e9ee;border:1px solid #eedde4;border-radius:12px;padding:18px}.stat-card strong{display:block;font-family:Playfair Display,serif;font-size:28px;color:#8b6476}.stat-card span{font-size:10px;color:#907f88}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin:18px 0}.admin-panel h2{font-family:Playfair Display,serif;font-size:22px;font-weight:500;margin:0 0 20px}.product-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 16px;gap:0 16px}.product-form label{margin:8px 0}.form-actions,.product-form .wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:center}.form-actions .confirm-button{width:auto;padding-left:25px;padding-right:25px}.admin-list{display:flex;flex-direction:column}.admin-product{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #f1e9eb}.admin-product-main{display:flex;flex-direction:column;gap:5px;min-width:0}.admin-product-main strong{font-size:13px}.admin-product-main small,.admin-product-main span{font-size:10px;color:#93848c}.admin-actions{display:flex;gap:7px}.count-pill{font:11px DM Sans,sans-serif;color:#9b7485;background:#f7eaf0;border-radius:20px;padding:4px 9px;margin-left:7px}.muted{color:#988b91;font-size:12px}.admin-product>.small-button{flex-shrink:0}@media(max-width:800px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:590px}.hero-art{opacity:.38}.bear{right:8%;bottom:12%;font-size:55px}.rainbow{right:5%;bottom:10%;transform:scale(.8)}.sun{right:0}.cloud-a{left:2%}}@media(max-width:540px){.hero{min-height:570px;padding:75px 22px}.hero h1{font-size:53px}.hero-art{opacity:.24}.hero-copy{font-size:13px}.intro{padding-top:62px}.intro h2{font-size:35px}.catalogue{padding:15px 15px 65px}.category-list{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.category{white-space:nowrap}.product-grid{grid-template-columns:1fr 1fr;gap:11px}.product-image{height:145px}.product-info{padding:12px}.product-info h3{font-size:16px}.product-info>p{font-size:10px}.product-bottom{align-items:flex-start;flex-direction:column}.reserve-button{width:100%;padding:10px 7px}.taken{font-size:9px}.product-bottom strong{font-size:12px}.shop-link{font-size:9px}.footer h2{font-size:31px}.reserve-modal{padding:30px 23px}.stats-grid{gap:7px}.stat-card{padding:13px}.stat-card strong{font-size:23px}.stat-card span{font-size:9px}.product-form{grid-template-columns:1fr}.form-actions,.product-form .wide{grid-column:auto}.admin-panel{padding:17px}.admin-product{align-items:flex-start;flex-direction:column}.admin-actions,.admin-product>.small-button{align-self:flex-end}}.reserve-modal select{display:block;width:100%;border:1px solid #e9dce1;background:#fff;border-radius:9px;padding:13px 12px;margin-top:7px;color:var(--ink);font-size:13px}.quantity-note{margin-top:8px;color:#998892;font-size:10px}.manage-link-result{margin-top:12px;padding-top:10px;border-top:1px solid #ead7df;overflow-wrap:anywhere}.manage-link-result p{margin:0 0 7px}.manage-link-result a{font-size:11px;text-decoration:underline}.manage-link-result small{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:#8c7b84}.manage-link-result .confirm-button{max-width:220px;display:block;margin:12px auto 0}.manage-shell{min-height:100vh;background:linear-gradient(135deg,#fbf0f2,#edf3f6);padding:35px 20px 80px}.manage-card{max-width:470px;margin:8vh auto 0;background:#fffdfa;border:1px solid #eee2e6;border-radius:20px;padding:38px;box-shadow:0 14px 45px #60455410;text-align:center}.manage-heart{font-size:48px;color:#bd8299;margin:18px 0 0}.manage-card h1,.manage-heart{font-family:Playfair Display,serif}.manage-card h1{font-size:39px;font-weight:500;margin:5px 0 15px;color:var(--ink)}.manage-card h1 em{font-weight:500;color:#b87991}.manage-intro{font-size:13px;line-height:1.7;color:#897b83}.manage-product{background:#f8edf1;border-radius:12px;padding:17px;margin:24px 0 20px;display:flex;flex-direction:column;gap:7px}.manage-product span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#a8798e}.manage-product strong{font-family:Playfair Display,serif;font-size:22px;font-weight:500}.manage-label{display:block;text-align:left;font-size:11px;font-weight:700;color:#776671;margin:16px 0 8px}.quantity-control{display:flex;align-items:center;justify-content:center;gap:28px;margin:12px 0}.quantity-control strong{font-family:Playfair Display,serif;font-size:30px;min-width:30px}.quantity-step{width:38px;height:38px;border:1px solid #e8d8df;border-radius:50%;background:#fff;color:#80586b;font-size:23px;line-height:1}.quantity-step:disabled{opacity:.35;cursor:not-allowed}.manage-availability{font-size:10px;color:#9a8b92;margin:0 0 12px}.cancel-reservation-button{width:100%;margin-top:13px;border:1px solid #ead5dc;background:#fff;color:#a35f70;border-radius:28px;padding:12px;font-size:11px;font-weight:700}.cancel-reservation-button:disabled{opacity:.5}.manage-success{font-size:14px;line-height:1.7;color:#648b75}@media(max-width:540px){.manage-card{padding:30px 22px;margin-top:6vh}.manage-card h1{font-size:34px}}.product-card .reserved-ribbon.gifted-ribbon{letter-spacing:.2px}.registry-search{max-width:850px;margin:0 auto 24px;display:flex;align-items:center;gap:13px;background:#fff;border:1.5px solid #eadfe3;border-radius:16px;padding:15px 20px;box-shadow:0 3px 14px #60455408}.registry-search>span{font-size:25px;line-height:1;color:#a77c91}.registry-search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:15px}.registry-search input::placeholder{color:#94868e}.registry-search button{border:0;background:transparent;color:#98788a;font-size:12px}.category-list{justify-content:center;flex-wrap:wrap;overflow:visible;margin-bottom:28px;gap:9px}.category{white-space:nowrap}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.product-card{display:flex;flex-direction:row;min-height:172px;align-items:stretch}.product-image{width:130px;min-width:130px;min-height:172px;flex:0 0 130px}.product-image img{object-fit:cover}.product-info{flex:1 1;min-width:0;padding:16px}.product-info h3{font-size:18px}.product-info>p{font-size:12px;min-height:0;margin-bottom:10px}.product-bottom{flex-direction:row;align-items:center;margin-top:12px}.reserved-ribbon{position:absolute;top:14px;left:-34px;padding:7px 38px;font-size:9px;letter-spacing:.3px}.image-placeholder.floral-placeholder{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fff8fa 0,#f7edf1 70%)}.floral-placeholder span{position:relative;z-index:2;font-size:38px;color:#c18da2}.floral-placeholder i{position:absolute;display:block;width:12px;height:20px;background:#e8bfd0;border-radius:100% 0 100% 0;opacity:.62;transform:rotate(35deg)}.floral-placeholder i:first-of-type{top:17%;left:19%;transform:rotate(-35deg)}.floral-placeholder i:nth-of-type(2){top:23%;right:18%;transform:rotate(55deg);background:#d8c0d8}.floral-placeholder i:nth-of-type(3){bottom:18%;left:22%;transform:rotate(60deg);background:#e9c9d5}.floral-placeholder i:nth-of-type(4){bottom:16%;right:20%;transform:rotate(-25deg);background:#d9c4d7}.floral-placeholder i:nth-of-type(5){top:48%;left:9%;width:8px;height:14px;background:#e8c6d2}@media(max-width:900px){.product-grid{grid-template-columns:1fr}.product-card,.product-image{min-height:160px}}@media(max-width:540px){.catalogue{padding:15px 15px 65px}.registry-search{padding:12px 14px;margin-bottom:16px}.registry-search input{font-size:13px}.category-list{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-bottom:18px}.product-grid{grid-template-columns:1fr;gap:12px}.product-image{width:112px;min-width:112px;flex-basis:112px}.product-card,.product-image{min-height:150px}.product-info{padding:12px}.product-info h3{font-size:16px}.product-bottom{flex-direction:row;align-items:center}.reserve-button{width:auto}.reserved-ribbon{font-size:8px}}.product-card{border:1px solid #f0dfe5;border-radius:20px;background:#fffaf8;box-shadow:0 8px 26px #76515e0b}.product-card:hover{box-shadow:0 12px 30px #76515e14}.product-image{width:29%;min-width:29%;flex:0 0 29%;min-height:220px;height:auto;background:linear-gradient(145deg,#f9e9ee,#f7edf0 58%,#fcefe9)}.product-image img{object-fit:contain;padding:9px;background:transparent;position:relative;z-index:1}.product-info{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;min-height:220px;padding:25px 26px;background:linear-gradient(110deg,#fffaf8,#fffdfb 72%,#fff8f8)}.product-info:after,.product-info:before{content:"";position:absolute;z-index:-1;pointer-events:none}.product-info:before{width:150px;height:130px;right:-15px;top:-22px;opacity:.42;background:radial-gradient(ellipse at 70% 40%,#f3cbd7 0 9%,transparent 10%),radial-gradient(ellipse at 48% 22%,#e8d8e8 0 7%,transparent 8%),radial-gradient(ellipse at 85% 75%,#f6dce3 0 8%,transparent 9%);transform:rotate(-18deg)}.product-info:after{width:210px;height:115px;right:-16px;bottom:-18px;opacity:.48;background:radial-gradient(ellipse at 22% 62%,#edc8d4 0 7%,transparent 8%),radial-gradient(ellipse at 43% 36%,#e6d9e9 0 6%,transparent 7%),radial-gradient(ellipse at 67% 70%,#f3d6df 0 8%,transparent 9%),radial-gradient(ellipse at 90% 38%,#e9d8d7 0 6%,transparent 7%)}.product-bottom,.product-category,.product-info h3,.product-info>p,.quantity-note,.shop-link{position:relative;z-index:1}.product-info h3{font-size:22px;margin:9px 0 7px}.product-info>p{font-size:13px;max-width:78%;margin:0 0 12px}.product-bottom{margin-top:auto;padding-top:12px}.reserved-ribbon{z-index:3;top:17px;left:-35px;right:auto;transform:rotate(-45deg);padding:8px 42px;font-size:10px;letter-spacing:.2px;white-space:nowrap}.gifted-ribbon,.reserved-ribbon{background:#719b79;color:#fff}.image-placeholder.floral-placeholder{background:radial-gradient(ellipse at 50% 45%,#fff9fa 0,#f8eaf0 72%)}@media(max-width:900px){.product-grid{grid-template-columns:1fr}.product-image{width:29%;min-width:29%;flex-basis:29%}.product-image,.product-info{min-height:190px}}@media(max-width:540px){.product-grid{grid-template-columns:1fr;gap:12px}.product-card{min-height:160px}.product-image{width:30%;min-width:30%;flex-basis:30%;min-height:165px}.product-info{min-height:165px;padding:16px 14px}.product-info h3{font-size:17px}.product-info>p{font-size:11px;max-width:100%}.reserved-ribbon{top:14px;left:-39px;font-size:8px;padding:6px 40px}.product-bottom{margin-top:auto}}