/* Custom Styles */

/* ===== Built With Laiba - Fairy Garden polish ===== */
body#encore-theme { background-color: #FDF0F6; }
#encore-theme h1, #encore-theme h2, #encore-theme h3 { letter-spacing: 0; }
#encore-theme .btn, #encore-theme button[type="submit"] { font-weight: 700; }
#encore-theme hr { border-color: #FF7BAC; }

/* Blossom confetti */
.bwl-confetti { position: fixed; inset: 0; pointer-events: none; z-index: 2; overflow: hidden; }
.bwl-confetti img {
  position: absolute; top: -30px; display: block; opacity: 0.85;
  animation-name: bwl-fall; animation-timing-function: linear; animation-iteration-count: infinite;
}
@keyframes bwl-fall {
  0%   { transform: translateY(-4vh) translateX(0) rotate(0deg); }
  25%  { transform: translateY(26vh) translateX(14px) rotate(80deg); }
  50%  { transform: translateY(52vh) translateX(-12px) rotate(160deg); }
  75%  { transform: translateY(78vh) translateX(12px) rotate(240deg); }
  100% { transform: translateY(106vh) translateX(-8px) rotate(320deg); }
}
@media (prefers-reduced-motion: reduce) { .bwl-confetti { display: none; } }

/* Stats row */
#bwl-stats { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0 6px; }
.bwl-stat { flex: 1 1 30%; min-width: 140px; background: #ffffff; border: 1px solid #F2D9E5; border-radius: 18px; padding: 14px 16px; text-align: center; }
.bwl-stat strong { display: block; font-family: "Playfair Display", Georgia, serif; font-size: 1.5rem; color: #2B2B2E; }
.bwl-stat span { font-size: 0.82rem; color: #57575C; }

/* FAQ accordion */
#bwl-faq { margin: 10px 0 6px; }
.bwl-faq-item { background: #ffffff; border: 1px solid #F2D9E5; border-radius: 16px; margin-bottom: 8px; overflow: hidden; }
.bwl-faq-q { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; text-align: left; background: none; border: 0; padding: 14px 18px; font-family: "Quicksand", sans-serif; font-weight: 700; font-size: 0.95rem; color: #2B2B2E; cursor: pointer; }
.bwl-faq-q:hover { background: #FDF0F6; }
.bwl-faq-caret { color: #FF7BAC; font-size: 1.2rem; font-weight: 700; flex: none; }
.bwl-faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; padding: 0 18px; color: #57575C; font-size: 0.92rem; }
.bwl-faq-item.is-open .bwl-faq-a { max-height: 200px; padding: 0 18px 14px; }
@media (prefers-reduced-motion: reduce) { .bwl-faq-a { transition: none; } }

/* Breathing room between checkout segments */
#encore-theme .blocks-column h1 { margin-bottom: 14px; }
#encore-theme .blocks-column h3 { margin-top: 40px; margin-bottom: 16px; line-height: 1.35; }
#encore-theme .blocks-column hr { margin: 32px 0; }
#bwl-stats { margin: 26px 0 10px; }
#bwl-faq { margin: 40px 0 10px; }
#bwl-faq h3 { margin-top: 0; }
#encore-theme .blocks-column p { line-height: 1.65; }

/* Enrollment bar */
.bwl-fill { margin: 4px 0 34px; }
.bwl-fill-label { margin: 0 0 8px; font-size: 0.95rem; color: #2B2B2E; }
.bwl-fill-label strong { color: #2B2B2E; }
.bwl-fill-track { height: 14px; border-radius: 999px; background: #ffffff; border: 1px solid #C3B1E1; overflow: hidden; }
.bwl-fill-bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #C3B1E1, #8E6FD8); transition: width 1.6s cubic-bezier(0.22, 1, 0.36, 1); }
