:root{
  --pink:#ff8fbd; --pink2:#ffd9e9; --pink3:#fff1f7;
  --yellow:#ffe27b; --blue:#87c9ff; --mint:#bfe9d3;
  --purple:#d9c2ff; --cream:#fffdfa; --ink:#705b67;
  --line:#f2dbe5; --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;background:linear-gradient(#fffdfa,#fffafc);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer}
.top-ribbon{height:48px;display:flex;justify-content:center;align-items:center;gap:10px;background:linear-gradient(90deg,#ffe4ee,#ffd7e8,#ffe8f1);color:#ff77aa;font-weight:700;font-size:18px}
.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;box-shadow:0 4px 18px rgba(140,89,113,.08)}
.navbar{min-height:74px;padding:12px 4.5vw;display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px}
.nav-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.nav-links a{color:#ff73a8;text-decoration:none;font-weight:700}
.nav-links a:hover{text-decoration:underline;text-underline-offset:8px}
.nav-right{display:flex;align-items:center;gap:14px}
.search{display:flex;align-items:center;width:min(300px,35vw);border:1.5px solid #ffd1e3;border-radius:999px;background:#fff;padding:3px 13px}
.search input{border:0;outline:0;padding:9px;background:transparent;width:100%;color:#8d7080}
.cart-button{border:0;background:transparent;font-size:24px;color:#6f6468;position:relative}
.cart-badge{position:absolute;right:-8px;top:-7px;background:#ff8bb5;color:white;font-size:11px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:800}
.hero{min-height:560px;position:relative;overflow:hidden;padding:52px 7vw 38px;text-align:center;background:
radial-gradient(circle at 18% 40%,rgba(255,226,235,.5),transparent 25%),
radial-gradient(circle at 85% 38%,rgba(255,232,238,.55),transparent 28%),
linear-gradient(180deg,#fffdfa,#fff)}
.hero-title{font-family:"Pacifico",cursive;font-weight:400;font-size:clamp(62px,9vw,132px);line-height:1.05;margin:18px 0 18px;
background:linear-gradient(180deg,#fff2a7 0%,#ffe16e 50%,#ffd259 100%);
-webkit-background-clip:text;background-clip:text;color:transparent;
-webkit-text-stroke:1px #f7c74a;
filter:drop-shadow(0 4px 5px rgba(246,195,65,.18))}
.bio{max-width:720px;margin:0 auto;color:var(--blue);font-size:clamp(16px,1.5vw,21px);font-weight:700;line-height:1.6;position:relative;z-index:3}
.sparkle{color:#ffc450;font-size:28px}
.hero-flowers{position:absolute;z-index:1;display:flex;align-items:flex-end;gap:0;filter:drop-shadow(0 10px 10px rgba(185,105,130,.08))}
.hero-flowers.left{left:1.5vw;top:130px;transform:rotate(-5deg)}
.hero-flowers.right{right:1.5vw;top:135px;transform:scaleX(-1) rotate(-5deg)}
.flower-big{font-size:118px;line-height:.8}
.flower-mid{font-size:78px;line-height:.8;margin-left:-24px}
.flower-small{font-size:46px;line-height:.8;margin-left:-13px}
.leaf{font-size:65px;margin-left:-18px}
.petal{position:absolute;color:#ffb7d2;font-size:28px;opacity:.75}
.p1{left:23%;top:180px}.p2{left:29%;top:285px}.p3{right:26%;top:205px}.p4{right:31%;top:330px}
.heart{margin:16px auto 6px;color:#ff9fc2;font-size:31px}
.benefits{width:min(1200px,88vw);margin:-8px auto 24px;background:linear-gradient(180deg,#fff8fb,#fff0f5);border:1px solid #f6d8e4;border-radius:22px;display:grid;grid-template-columns:repeat(4,1fr);padding:15px 10px;box-shadow:0 8px 25px rgba(137,90,111,.05)}
.benefit{display:flex;justify-content:center;align-items:center;gap:14px;color:#ff79aa;font-weight:700;padding:6px 15px;border-right:1px solid #f3d7e2}
.benefit:last-child{border-right:0}.benefit span:first-child{font-size:28px}
.section{padding:48px 6vw 78px}
.section-title{text-align:center;margin:4px 0 30px;font-size:38px;color:#ff82b2}
.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.filter{border:1px solid #f4d5e1;border-radius:999px;padding:9px 15px;background:white;color:#a77a90}
.filter.active{background:#ffe2ed;color:#ff6fa4;border-color:#ffc7dd}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1220px;margin:auto}
.product-card{background:white;border:1px solid #f4dbe5;border-radius:18px;overflow:hidden;box-shadow:0 9px 24px rgba(134,89,110,.06)}
.product-photo{height:245px;display:grid;place-items:center;font-size:82px}
.product-card:nth-child(1) .product-photo{background:linear-gradient(145deg,#fff0f5,#ffdbe8)}
.product-card:nth-child(2) .product-photo{background:linear-gradient(145deg,#fff8e8,#ffe8a8)}
.product-card:nth-child(3) .product-photo{background:linear-gradient(145deg,#f8f1ff,#e7d7ff)}
.product-card:nth-child(4) .product-photo{background:linear-gradient(145deg,#f0fbf6,#cfefdf)}
.product-body{text-align:center;padding:18px}
.product-body h3{margin:0 0 8px;color:#ff78aa;font-size:17px}
.product-price{color:#79bfff;font-weight:800;margin:0 0 14px}
.add-btn{border:0;background:linear-gradient(90deg,#ff91bb,#ff82b3);color:white;font-weight:800;border-radius:999px;padding:11px 20px;width:100%}
.custom-section{padding:72px 7vw;background:linear-gradient(120deg,#fff1f7,#fff9dd,#f2f8ff,#effbf4)}
.custom-card{max-width:1000px;margin:auto;background:rgba(255,255,255,.84);border:1px solid white;border-radius:26px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:45px;box-shadow:0 10px 30px rgba(139,92,112,.07)}
.custom-card h2,.orders h2,.reviews h2{color:#ff82b2;font-size:38px;margin:0 0 12px}
.custom-card p,.orders p{line-height:1.7;color:#9cbfde}
form{display:grid;gap:14px}label{font-weight:700;color:#c2a1e1;display:grid;gap:7px}
input,select{border:1px solid #efdce5;border-radius:13px;padding:12px 13px;background:white;outline:0}
.primary{border:0;background:#ff8fbd;color:white;font-weight:800;border-radius:999px;padding:12px 18px}
.orders{padding:70px 7vw;max-width:900px;margin:auto;text-align:center}
.order-box{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:#eef8ff;padding:20px;border-radius:20px}
.reviews{padding:65px 7vw;background:#fff6fa;text-align:center}
.review-grid{max-width:1050px;margin:25px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
blockquote{margin:0;background:white;border:1px solid #f1dbe4;border-radius:18px;padding:22px;color:#9f7890}
footer{padding:26px;text-align:center;background:linear-gradient(90deg,#ffe8f0,#fff4f8);color:#ff77aa;font-weight:700}
.cart-drawer{position:fixed;right:-430px;top:0;width:min(410px,92vw);height:100vh;background:white;z-index:50;padding:24px;box-shadow:-10px 0 35px rgba(0,0,0,.12);transition:.3s}
.cart-drawer.open{right:0}.overlay{display:none;position:fixed;inset:0;background:rgba(70,45,60,.25);z-index:40}.overlay.open{display:block}
.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head button{border:0;background:none;font-size:28px}
.cart-items{min-height:55vh}.cart-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}
.cart-total{display:flex;justify-content:space-between;font-size:20px;font-weight:800;margin:18px 0}
@media(max-width:900px){
 .navbar{grid-template-columns:1fr}.nav-links{justify-content:center}.nav-right{justify-content:center}
 .search{width:min(460px,75vw)}.product-grid{grid-template-columns:repeat(2,1fr)}
 .benefits{grid-template-columns:repeat(2,1fr)}.benefit:nth-child(2){border-right:0}
 .custom-card{grid-template-columns:1fr}.hero-flowers{opacity:.48}.hero-title{font-size:70px}
}
@media(max-width:560px){
 .top-ribbon{font-size:15px}.nav-links{gap:14px;font-size:14px}.product-grid{grid-template-columns:1fr}
 .benefits{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid #f3d7e2}.benefit:last-child{border-bottom:0}
 .hero{min-height:500px;padding-left:5vw;padding-right:5vw}.hero-title{font-size:54px}
 .bio{font-size:15px}.hero-flowers{top:245px}.flower-big{font-size:75px}.flower-mid{font-size:50px}.leaf{font-size:42px}
 .order-box{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}
}

/* Bio/layout adjustment */
.hero{
  min-height:500px !important;
  padding-bottom:10px !important;
}
.bio{
  color:#8fd3b5 !important;
  margin-top:34px !important;
  position:relative;
  z-index:5;
}
.heart{
  margin-top:8px !important;
  margin-bottom:0 !important;
}
.benefits{
  margin-top:0 !important;
  position:relative;
  z-index:6;
}

/* Prettier Pearl & Bloom emblem */
.hero-title{
  font-family:"Great Vibes", cursive !important;
  font-size:clamp(74px,10vw,145px) !important;
  letter-spacing:1px;
  font-weight:400 !important;
  line-height:.95 !important;
  background:linear-gradient(180deg,#fff6a8 0%,#ffe77f 40%,#ffd65f 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-stroke:.6px #efc64e !important;
  text-shadow:none !important;
  filter:drop-shadow(0 5px 7px rgba(238,195,78,.18)) !important;
}

/* Softer handmade-looking flower clusters */
.hero-flowers{
  width:260px;
  height:175px;
  position:absolute;
  filter:none !important;
}
.hero-flowers.left{left:2.5vw !important;top:150px !important;transform:rotate(-6deg) !important}
.hero-flowers.right{right:2.5vw !important;top:150px !important;transform:scaleX(-1) rotate(-6deg) !important}

.css-flower{
  position:absolute;
  width:72px;height:72px;
}
.css-flower::before,
.css-flower::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:28px;height:64px;
  background:linear-gradient(180deg,#ffc7dd,#ff9fc7);
  border-radius:50% 50% 45% 45%;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}
.css-flower::before{transform:rotate(60deg)}
.css-flower::after{transform:rotate(-60deg)}
.css-flower{
  background:radial-gradient(circle at center,#ffe97d 0 10px,transparent 11px);
  border-radius:50%;
}
.css-flower.f1{left:62px;top:30px;transform:scale(1.15)}
.css-flower.f2{left:125px;top:78px;transform:scale(.82)}
.css-flower.f3{left:15px;top:88px;transform:scale(.68)}

.css-leaf{
  position:absolute;
  width:54px;height:25px;
  background:linear-gradient(135deg,#bfe9d3,#8fd3b5);
  border-radius:100% 0 100% 0;
  opacity:.95;
}
.css-leaf.l1{left:32px;top:48px;transform:rotate(-32deg)}
.css-leaf.l2{left:155px;top:42px;transform:rotate(28deg)}

.petal{
  color:#f6a9c8 !important;
  opacity:.6 !important;
  font-size:24px !important;
}
.p1{left:25% !important;top:195px !important}
.p2{left:31% !important;top:305px !important}
.p3{right:25% !important;top:210px !important}
.p4{right:31% !important;top:315px !important}

@media(max-width:700px){
  .hero-title{font-size:62px !important}
  .hero-flowers{width:180px;height:130px;opacity:.42}
  .hero-flowers.left{left:-35px !important;top:215px !important}
  .hero-flowers.right{right:-35px !important;top:215px !important}
}

/* Periwinkle Pearl & Bloom title */
.hero-title{
  background:linear-gradient(180deg,#c9c7ff 0%,#aaa8f3 48%,#9291e6 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-stroke:.55px #8583d7 !important;
  filter:drop-shadow(0 5px 7px rgba(143,141,220,.18)) !important;
}

/* Prettier layered blossom clusters */
.hero-flowers{width:285px !important;height:190px !important}
.css-flower{
  width:82px !important;height:82px !important;
  background:
    radial-gradient(circle at center,#fff3a9 0 8px,#f5ca6c 9px 11px,transparent 12px) !important;
}
.css-flower::before,.css-flower::after{
  width:34px !important;height:72px !important;
  background:linear-gradient(180deg,#ffe2ee 0%,#ffb8d3 55%,#f49fc3 100%) !important;
  border:1px solid rgba(240,151,188,.18);
  box-shadow:inset 0 5px 10px rgba(255,255,255,.65),0 4px 8px rgba(205,132,161,.08) !important;
}
.css-flower::before{transform:rotate(45deg) !important}
.css-flower::after{transform:rotate(-45deg) !important}
.css-flower.f1{left:70px !important;top:25px !important;transform:scale(1.22) !important}
.css-flower.f2{left:142px !important;top:91px !important;transform:scale(.82) rotate(8deg) !important}
.css-flower.f3{left:16px !important;top:100px !important;transform:scale(.72) rotate(-10deg) !important}
.css-leaf{
  background:linear-gradient(135deg,#d3f2e2,#90d4b6) !important;
  border:1px solid rgba(111,190,153,.16);
  box-shadow:inset 0 2px 5px rgba(255,255,255,.55);
}
.css-leaf.l1{left:30px !important;top:57px !important;width:65px !important;height:29px !important}
.css-leaf.l2{left:171px !important;top:54px !important;width:65px !important;height:29px !important}
.petal{color:#f3b4ce !important;font-family:Georgia,serif !important}

/* More realistic CSS flowers */
.hero-flowers{
  width:310px !important;
  height:210px !important;
  overflow:visible;
}
.css-flower{
  position:absolute !important;
  width:96px !important;
  height:96px !important;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #f7d87f 0 7px, #e4b84f 8px 11px, transparent 12px) !important;
  filter:drop-shadow(0 5px 7px rgba(173,111,139,.12));
}
.css-flower::before,
.css-flower::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform-origin:center !important;
  width:30px !important;
  height:66px !important;
  border-radius:60% 60% 48% 48% !important;
  background:
    linear-gradient(180deg,#fff7fb 0%,#ffd9e8 38%,#f5a9c8 100%) !important;
  box-shadow:
    inset 0 6px 10px rgba(255,255,255,.7),
    inset 0 -6px 10px rgba(221,132,172,.12),
    0 2px 5px rgba(183,116,147,.08) !important;
}
.css-flower::before{
  transform:translate(-50%,-50%) rotate(0deg) !important;
  box-shadow:
    0 0 0 transparent,
    30px 0 0 -1px #f9bdd5,
    -30px 0 0 -1px #ffd7e6,
    21px 21px 0 -1px #f6b2cf,
    -21px 21px 0 -1px #ffdfe9,
    21px -21px 0 -1px #ffc8da,
    -21px -21px 0 -1px #ffe6ee !important;
}
.css-flower::after{
  width:20px !important;
  height:44px !important;
  transform:translate(-50%,-50%) rotate(45deg) !important;
  background:linear-gradient(180deg,#fff8fb,#f7b4cf) !important;
  opacity:.95;
}
.css-flower.f1{left:78px !important;top:24px !important;transform:scale(1.08) rotate(-4deg) !important}
.css-flower.f2{left:168px !important;top:93px !important;transform:scale(.78) rotate(10deg) !important}
.css-flower.f3{left:14px !important;top:108px !important;transform:scale(.66) rotate(-12deg) !important}

.css-leaf{
  position:absolute !important;
  width:72px !important;
  height:34px !important;
  border-radius:85% 15% 85% 15% !important;
  background:
    linear-gradient(135deg,#d9f2e7 0%,#9fd7be 55%,#7cc4a3 100%) !important;
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.55),
    0 3px 5px rgba(87,154,123,.08) !important;
}
.css-leaf::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:50%;
  height:1px;
  background:rgba(86,151,121,.35);
  transform:rotate(-10deg);
}
.css-leaf.l1{left:26px !important;top:54px !important;transform:rotate(-34deg) !important}
.css-leaf.l2{left:190px !important;top:59px !important;transform:rotate(28deg) !important}

.hero-flowers.left{top:145px !important}
.hero-flowers.right{top:145px !important}

/* Simple pink flower emoji decoration */
.emoji-flowers{
  width:auto !important;
  height:auto !important;
  display:block !important;
  font-size:58px !important;
  letter-spacing:3px;
  white-space:nowrap;
  filter:drop-shadow(0 5px 7px rgba(205,125,157,.10)) !important;
}
.emoji-flowers.left{
  left:4vw !important;
  top:170px !important;
  transform:rotate(-7deg) !important;
}
.emoji-flowers.right{
  right:4vw !important;
  top:170px !important;
  transform:rotate(7deg) !important;
}
@media(max-width:700px){
 .emoji-flowers{font-size:38px !important;opacity:.65 !important}
 .emoji-flowers.left{left:-5px !important;top:225px !important}
 .emoji-flowers.right{right:-5px !important;top:225px !important}
}

.hero-title{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  color:#F6DEA2 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
  filter:none !important;
}

/* Tighten space below Caroline's bio */
.hero{
  min-height:0 !important;
  padding-bottom:0 !important;
}
.bio{
  margin-bottom:4px !important;
}
.heart{
  margin:4px auto 2px !important;
}
.benefits{
  margin-top:4px !important;
}

.cart-drawer{
  background:linear-gradient(180deg,#fffdfb 0%,#fff7fb 100%) !important;
  border-left:3px solid #ffd3e4;
}
.cart-head{
  padding-bottom:14px;
  border-bottom:2px dashed #f7cfe0;
}
.cart-head h2{
  margin:0;
  font-family:"Great Vibes",cursive;
  font-size:42px;
  color:#f2a3c3;
  font-weight:400;
}
.cart-head h2::before{content:"🌸 ";}
.cart-head h2::after{content:" 🌸";}
.cart-head button{
  width:38px;height:38px;border-radius:50% !important;
  background:#ffe7f0 !important;color:#ff79aa !important;
  font-size:24px !important;
}
.cart-items>p{
  margin:26px 0;
  padding:28px 18px;
  text-align:center;
  border:2px dashed #d7e8ff;
  border-radius:20px;
  background:linear-gradient(135deg,#fff6fa,#f3fbff,#f2fff8);
  color:#9bc8e8;
  font-weight:700;
}
.cart-items>p::before{
  content:"🛍️";
  display:block;
  font-size:40px;
  margin-bottom:10px;
}
.cart-row{
  margin:10px 0;
  padding:14px 16px !important;
  border:1px solid #f3dce6 !important;
  border-radius:16px;
  background:linear-gradient(135deg,#fff7fb,#fffdf1,#f6fbff);
  box-shadow:0 5px 12px rgba(133,94,111,.05);
  align-items:center;
}
.cart-row button{
  border:0;
  background:#ffe4ee;
  color:#f27fa9;
  width:25px;height:25px;
  border-radius:50%;
  font-weight:800;
}
.cart-total{
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(90deg,#f6edff,#eaf8ff,#eafbf3);
  color:#8f87cf;
}
.cart-drawer .add-btn{
  background:linear-gradient(90deg,#f5a4c4,#b9dff8,#bfe8d2) !important;
  box-shadow:0 7px 16px rgba(144,109,130,.12);
  font-size:16px;
}
.cart-drawer::before{
  content:"♡ ✨ ♡";
  display:block;
  text-align:center;
  color:#f0bfd3;
  letter-spacing:7px;
  font-size:17px;
  margin-bottom:8px;
}

/* Keep checkout visible at the bottom of the cart */
.cart-drawer{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.cart-head{flex:0 0 auto}
.cart-items{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  padding-bottom:12px !important;
}
.cart-total{flex:0 0 auto !important;margin:10px 0 !important}
.cart-drawer > .add-btn{
  flex:0 0 auto !important;
  display:block !important;
  width:100% !important;
  margin:0 0 8px !important;
  padding:14px 20px !important;
  position:relative !important;
  bottom:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Extra shop polish */
.product-card{transition:transform .2s ease,box-shadow .2s ease}
.product-card:hover{transform:translateY(-7px);box-shadow:0 16px 32px rgba(134,89,110,.12)}
.add-btn,.primary,.filter{transition:transform .15s ease,box-shadow .15s ease}
.add-btn:hover,.primary:hover{transform:scale(1.025);box-shadow:0 8px 18px rgba(221,125,165,.18)}
.product-photo{position:relative}
.fav-btn{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#f08eb5;font-size:25px;display:grid;place-items:center;box-shadow:0 4px 10px rgba(120,80,100,.08)}
.fav-btn.saved{background:#ffe0ec;color:#ee6fa1}
.product-badge{position:absolute;left:12px;top:12px;background:#ffe1ec;color:#e974a2;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}
.product-badge.new{background:#e3f6ed;color:#65aa8b}
.color-picker{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0}
.color-dot{width:38px;height:38px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #eadbe2,0 4px 8px rgba(100,80,90,.08)}
.color-dot.selected{box-shadow:0 0 0 3px #b7a7df,0 5px 10px rgba(100,80,90,.12);transform:scale(1.08)}
.color-dot.pink{background:#f7bfd5}.color-dot.yellow{background:#f6dea2}.color-dot.purple{background:#b9b7ef}.color-dot.mint{background:#bce7d3}.color-dot.blue{background:#b9ddf5}
.gift-option{background:#fff2f7;border-radius:14px;padding:12px;color:#e38caf !important}
.gift-option input{accent-color:#f29abb}
@media(max-width:560px){.product-photo{height:210px}.custom-card{padding:24px}}

.color-dot.red{background:#ef7777}.color-dot.orange{background:#f3ad72}.color-dot.yellow{background:#f5df82}
.color-dot.green{background:#91d49d}.color-dot.blue{background:#8dc9f1}.color-dot.purple{background:#b8a4e6}
.color-dot.pink{background:#f3a8c6}.color-dot.white{background:#fff}.color-dot.black{background:#333}
.color-dot.silver{background:linear-gradient(135deg,#f5f5f5,#aaa,#eee)}
.color-dot.gold{background:linear-gradient(135deg,#fff0a6,#d6a93d,#ffe994)}
.color-dot.rainbow{background:conic-gradient(#ef7777,#f3ad72,#f5df82,#91d49d,#8dc9f1,#b8a4e6,#f3a8c6,#ef7777)}
.charm-picker{display:flex;gap:9px;flex-wrap:wrap;padding:8px 0}
.charm-btn{border:1px solid #f0dce5;border-radius:14px;background:#fff8fb;padding:9px 12px;color:#d984aa;font-size:18px}
.charm-btn span{font-size:12px;font-weight:700;margin-left:4px}
.charm-btn.selected{background:#eaf8ff;box-shadow:0 0 0 2px #b9dff5;border-color:#b9dff5}

.real-photo{padding:0!important;overflow:hidden;background:#fff!important}.real-photo img{width:100%;height:100%;object-fit:cover;display:block}
.product-grid{grid-template-columns:repeat(4,1fr)!important}@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:560px){.product-grid{grid-template-columns:1fr!important}}

.order-confirm-overlay{display:none;position:fixed;inset:0;background:rgba(95,68,82,.28);z-index:100;place-items:center;padding:20px}
.order-confirm-overlay.open{display:grid}
.order-confirm-card{width:min(440px,92vw);background:linear-gradient(145deg,#fff,#fff3f8,#f3fbff);border:2px solid #ffd8e7;border-radius:28px;padding:34px;text-align:center;box-shadow:0 22px 60px rgba(90,60,75,.18)}
.order-confirm-card h2{color:#f08db5;margin:5px 0 12px}
.order-flower{font-size:48px}
.order-number{font-size:27px;font-weight:800;letter-spacing:2px;color:#8bcdb2;background:#effbf5;border:2px dashed #bfe7d5;border-radius:16px;padding:14px;margin:16px 0}
.save-order{color:#91bfe1!important;font-weight:600}

.checkout-overlay{position:fixed;inset:0;background:rgba(92,70,84,.35);display:none;align-items:center;justify-content:center;z-index:80;padding:18px}.checkout-overlay.open{display:flex}.checkout-card{width:min(560px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;padding:26px;box-shadow:0 24px 70px rgba(100,65,85,.2);border:1px solid #f5dce6}.checkout-card h2{margin:0 0 8px;color:#ff78aa}.checkout-card p{margin:0 0 18px;color:#8d7080}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-grid .full{grid-column:1/-1}.checkout-card label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#9b788a}.checkout-card input,.checkout-card textarea{width:100%;border:1.5px solid #f0d6e1;border-radius:14px;padding:11px 12px;outline:none;background:#fffdfd;color:#705b67}.checkout-card input:focus,.checkout-card textarea:focus{border-color:#f5a4c4;box-shadow:0 0 0 3px #fff0f6}.checkout-summary{margin:16px 0;padding:14px;border-radius:16px;background:linear-gradient(135deg,#fff7fb,#f3fbff);font-size:14px}.checkout-actions{display:flex;gap:10px}.checkout-actions button{flex:1}.secondary-checkout{border:1px solid #f0d4df;background:white;color:#a77a90;border-radius:999px;padding:12px 18px;font-weight:700}.checkout-error{display:none;margin-top:10px;color:#c45a74;font-weight:700;font-size:13px}.checkout-sending{opacity:.7;pointer-events:none}@media(max-width:560px){.checkout-grid{grid-template-columns:1fr}.checkout-grid .full{grid-column:auto}}
