/* CutPopUp — Birth Flower finder. All styles scoped under .cpx-bf so they
   never leak into the Flatsome theme. Tweak the variables to match your brand. */
.cpx-bf{
  --cpx-coral:#E0592C; --cpx-coral-d:#B8431C; --cpx-coral-soft:#FCEEE6;
  --cpx-cream:#FBF5EC; --cpx-ink:#2A2722; --cpx-mut:#7C7367; --cpx-line:#ECE4D7;
  font-family:inherit; color:var(--cpx-ink); max-width:960px; margin:0 auto;
}
.cpx-bf *{box-sizing:border-box}
.cpx-bf-head{text-align:center; max-width:680px; margin:0 auto 6px}
.cpx-bf-eyebrow{font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--cpx-coral)}
.cpx-bf-title{font-size:clamp(26px,3.6vw,40px); margin:8px 0 0; line-height:1.12}
.cpx-bf-sub{color:var(--cpx-mut); margin:10px 0 0}
.cpx-bf-months{display:flex; flex-wrap:wrap; gap:9px; justify-content:center; max-width:760px; margin:26px auto 0}
.cpx-bf-mo{border:1.5px solid var(--cpx-line); background:#fff; border-radius:999px; padding:10px 18px;
  cursor:pointer; font:inherit; font-weight:500; font-size:14.5px; color:#574f44; transition:all .12s}
.cpx-bf-mo:hover{border-color:var(--cpx-coral); color:var(--cpx-coral)}
.cpx-bf-mo[aria-selected="true"]{background:var(--cpx-coral); border-color:var(--cpx-coral); color:#fff}
.cpx-bf-reveal{max-width:900px; margin:30px auto 0; background:#fff; border:1px solid var(--cpx-line);
  border-radius:24px; overflow:hidden; box-shadow:0 8px 28px rgba(42,39,34,.06);
  display:grid; grid-template-columns:1fr 1fr}
.cpx-bf-visual{position:relative; background:var(--cpx-cream); min-height:360px}
.cpx-bf-visual img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.cpx-bf-seal{position:absolute; left:18px; top:18px; background:rgba(255,255,255,.92);
  border-radius:999px; padding:7px 15px; font-weight:600; font-size:12.5px; color:var(--cpx-coral-d)}
.cpx-bf-info{padding:36px 34px; display:flex; flex-direction:column}
.cpx-bf-mlabel{font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cpx-mut)}
.cpx-bf-flower{font-size:clamp(28px,4vw,40px); margin:6px 0 2px; line-height:1.1}
.cpx-bf-latin{font-style:italic; color:var(--cpx-mut); font-size:15px}
.cpx-bf-meaning{font-style:italic; font-size:19px; color:#3a342c; margin:16px 0 6px; line-height:1.4}
.cpx-bf-blurb{font-size:14.5px; color:var(--cpx-mut); margin-bottom:20px}
.cpx-bf-price{font-size:23px; font-weight:600; margin-bottom:14px}
.cpx-bf-acts{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto}
.cpx-bf-btn{display:inline-flex; align-items:center; gap:8px; font:inherit; font-weight:600; font-size:14.5px;
  border:none; border-radius:999px; padding:13px 24px; cursor:pointer; text-decoration:none; transition:all .12s}
.cpx-bf-btn.primary{background:var(--cpx-coral); color:#fff}
.cpx-bf-btn.primary:hover{background:var(--cpx-coral-d)}
.cpx-bf-btn.ghost{background:#fff; color:var(--cpx-ink); border:1.5px solid var(--cpx-line)}
.cpx-bf-btn.ghost:hover{border-color:var(--cpx-coral); color:var(--cpx-coral)}
.cpx-bf-soon{display:inline-block; font-size:13px; color:var(--cpx-mut); font-style:italic; margin-top:auto}
@media(max-width:820px){
  .cpx-bf-reveal{grid-template-columns:1fr}
  .cpx-bf-visual{min-height:260px; aspect-ratio:4/3}
}

/* v0.2.0 additions */
.cpx-bf-ph{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:24px; font-style:italic; font-size:18px; color:#b3a690;
  background:repeating-linear-gradient(45deg,#FBF5EC,#FBF5EC 12px,#F6EEE0 12px,#F6EEE0 24px)}
.cpx-bf-soon{display:block; width:100%; font-size:13.5px; color:var(--cpx-mut); font-style:italic; margin-bottom:4px}
.cpx-bf-shopall{text-align:center; margin:18px 0 0; font-size:14px; color:var(--cpx-mut)}
.cpx-bf-shopall a{color:var(--cpx-coral-d); font-weight:600; text-decoration:none}
.cpx-bf-shopall a:hover{text-decoration:underline}
