/* KS LP Builder — core (mobile first) */
:root { --kslpb-primary:#0f7a4b; --kslpb-accent:#d4a017; --kslpb-radius:12px; --kslpb-gap:16px; }

.kslpb-lp { color:#1a1a1a; line-height:1.5; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.kslpb-lp * { box-sizing:border-box; }
.kslpb-container { width:100%; max-width:960px; margin:0 auto; padding:0 16px; }
.kslpb-section { padding:0; }
.kslpb-h2 { font-size:22px; margin:0 0 20px; line-height:1.25; text-align:center; }

/* Buttons */
.kslpb-btn { display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px; font-weight:600; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.kslpb-btn--primary { background:var(--kslpb-primary); color:#fff; }
.kslpb-btn--primary:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(15,122,75,.35); }
.kslpb-btn--outline { border:2px solid var(--kslpb-primary); color:var(--kslpb-primary); background:transparent; }
.kslpb-btn--wa { background:#25d366; color:#fff; }
.kslpb-btn--tel { background:#1a73e8; color:#fff; }
.kslpb-btn--full { width:100%; justify-content:center; }

/* Animations */
.kslpb-anim { opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.kslpb-anim.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .kslpb-anim { opacity:1; transform:none; transition:none; }
}

/* Floating button — wrapper is fixed full-width section, button sits inside */
.kslpb-float-wrap { position:fixed; left:0; right:0; bottom:0; z-index:9999;
  padding:5px; display:flex; justify-content:center; background:transparent;
}
.kslpb-float { display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; margin:4px; padding:10px 20px; background:#25d366; color:#fff;
  font-weight:700; text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  border-radius:40px; border:2px solid #ffffff;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.kslpb-float:hover { filter:brightness(1.05); transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.28); }
.kslpb-float__icon { font-size:20px; line-height:1; }
.kslpb-lp { padding-bottom:96px; }
@media (max-width: 767px) { .kslpb-float-wrap--desktop { display:none; } }
@media (min-width: 768px) {
  .kslpb-float-wrap--mobile { display:none; }
  .kslpb-float { min-width:280px; max-width:520px; padding:10px 28px; }
}




/* Badges */
.kslpb-badge { display:inline-block; padding:2px 10px; border-radius:999px; font-size:12px; font-weight:600; }
.kslpb-badge--open { background:#e6f6ee; color:#0f7a4b; }
.kslpb-badge--closed { background:#fdecec; color:#b42318; }
.kslpb-badge--limited { background:#fff4d6; color:#8a5b00; }
