/* Website Subscription module - public pages. Builds on style.css tokens. */
.ws-section{padding:5rem 0}.ws-alt{background:var(--bg-body-alt)}
.ws-filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.5rem}
.ws-chip{border:1.5px solid #dbe4f0;background:#fff;color:var(--text-main);padding:.5rem 1.2rem;border-radius:50px;font:500 .9rem 'Poppins',sans-serif;cursor:pointer;transition:var(--transition-smooth)}
.ws-chip:hover{border-color:#106ceb;color:#106ceb}.ws-chip.on{background:var(--primary-gradient);border-color:transparent;color:#fff}
.ws-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.ws-card{background:#fff;border:1px solid #edf2f7;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:var(--transition-smooth)}
.ws-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.ws-card[hidden]{display:none}
.ws-thumb{aspect-ratio:4/3;background:#eef2f7;overflow:hidden}.ws-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ws-card:hover .ws-thumb img{transform:scale(1.04)}
.ws-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}
.ws-cat{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#106ceb;background:rgba(16,108,235,.08);padding:.2rem .7rem;border-radius:50px;margin-bottom:.6rem}
.ws-body h3{font-size:1.25rem;margin-bottom:.7rem}
.ws-feats{margin-bottom:1.2rem;flex:1}.ws-feats li{position:relative;padding-left:1.4rem;font-size:.9rem;color:#636e72;margin-bottom:.3rem}
.ws-feats li::before{content:'✓';position:absolute;left:0;color:var(--accent-red);font-weight:800}
.ws-actions{display:flex;gap:.7rem;flex-wrap:wrap}.ws-actions .btn{flex:1;padding:.7rem 1rem;font-size:.78rem;white-space:nowrap}
.ws-btn-demo{background:#fff;color:#106ceb;border:2px solid #106ceb}.ws-btn-demo:hover{background:#106ceb;color:#fff;transform:translateY(-2px)}
.ws-empty{text-align:center;color:#636e72;padding:3rem 1rem;font-size:1.05rem}
.ws-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2.5rem;text-align:center}
.ws-steps b{display:inline-flex;width:48px;height:48px;border-radius:50%;background:var(--primary-gradient);color:#fff;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem}
.ws-steps h3{font-size:1.1rem;margin-bottom:.4rem}.ws-steps p{font-size:.92rem;color:#636e72}
.ws-steps-3{grid-template-columns:repeat(3,1fr)}
.ws-upsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.ws-upsell{background:#fff;border:1px solid #edf2f7;border-radius:14px;padding:1.6rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.ws-upsell-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.8px;color:#636e72;font-weight:600}
.ws-upsell h3{font-size:1.1rem;margin:.3rem 0}.ws-upsell-price{font-size:1.7rem;font-weight:800;color:#106ceb;margin-bottom:.4rem}
.ws-upsell p{font-size:.9rem;color:#636e72;flex:1;margin-bottom:1rem}.ws-upsell a{font-weight:600;font-size:.9rem;color:#128c4a}
/* modal */
.ws-modal{position:fixed;inset:0;background:rgba(10,17,24,.65);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.ws-modal[hidden]{display:none}
.ws-modal-box{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:2rem 1.8rem;position:relative;max-height:92vh;overflow:auto}
.ws-modal-box h3{font-size:1.35rem;margin-bottom:.4rem;padding-right:2rem}.ws-picked{font-size:.92rem;color:#636e72;margin-bottom:.8rem}.ws-picked span{color:#106ceb}
.ws-x{position:absolute;top:.6rem;right:1rem;border:0;background:none;font-size:2rem;line-height:1;cursor:pointer;color:#636e72}
.ws-modal-box label{display:block;font-weight:600;font-size:.85rem;margin:.9rem 0 .25rem}
.ws-modal-box input[type=text],.ws-modal-box input[type=tel]{width:100%;padding:.75rem .9rem;border:1.5px solid #dbe4f0;border-radius:10px;font:inherit}
.ws-modal-box input:focus{outline:none;border-color:#106ceb;box-shadow:0 0 0 3px rgba(16,108,235,.15)}
.ws-hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.ws-wa-btn{width:100%;margin-top:1.2rem;background:#25d366}.ws-wa-btn:hover{background:#1ebe5a;box-shadow:0 5px 15px rgba(37,211,102,.35)}.ws-wa-btn[disabled]{opacity:.6;cursor:wait}
.ws-note{font-size:.78rem;color:#8795a1;text-align:center;margin-top:.7rem}.ws-err{color:#c0392b;font-size:.85rem;margin-top:.7rem}
/* pricing + landing */
.ws-price-card{max-width:520px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:var(--shadow-hover);border:1px solid #edf2f7;overflow:hidden;text-align:center}
.ws-price-top{background:var(--primary-gradient);color:#fff;padding:2.2rem 1.5rem}.ws-price-top small{opacity:.85;letter-spacing:1px;text-transform:uppercase;font-size:.8rem}
.ws-price-amt{font-size:4rem;font-weight:800;line-height:1.1;margin:.3rem 0}.ws-price-amt span{font-size:1.1rem;font-weight:400;opacity:.9}
.ws-price-list{padding:1.8rem 2rem 1rem;text-align:left}.ws-price-list li{padding:.55rem 0 .55rem 2rem;position:relative;border-bottom:1px solid #f1f5f9;font-weight:500}
.ws-price-list li::before{content:'✓';position:absolute;left:0;top:.5rem;width:22px;height:22px;border-radius:50%;background:rgba(37,211,102,.15);color:#128c4a;text-align:center;line-height:22px;font-size:.8rem;font-weight:800}
.ws-price-cta{padding:1rem 2rem 2rem;display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.ws-price-cta .btn{flex:1;min-width:180px}
.ws-btn-wa{background:#25d366;color:#fff}.ws-btn-wa:hover{background:#1ebe5a;color:#fff;transform:translateY(-2px)}
.ws-btn-ghost{background:#fff;color:#106ceb;border:2px solid #106ceb}.ws-btn-ghost:hover{background:#106ceb;color:#fff}
.ws-incl{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:2.5rem}
.ws-incl div{background:#fff;border:1px solid #edf2f7;border-radius:14px;padding:1.4rem;text-align:center;box-shadow:var(--shadow-sm)}.ws-incl b{display:block;font-size:1.05rem;margin-bottom:.3rem}.ws-incl span{font-size:.88rem;color:#636e72}
.ws-faq{max-width:760px;margin:2rem auto 0}.ws-faq details{background:#fff;border:1px solid #edf2f7;border-radius:12px;padding:1rem 1.3rem;margin-bottom:.8rem}.ws-faq summary{font-weight:600;cursor:pointer}.ws-faq p{margin-top:.6rem;color:#636e72;font-size:.95rem}
.ws-lp-top{position:absolute;top:0;left:0;right:0;z-index:5;padding:1.1rem 0}.ws-lp-top .container{display:flex;justify-content:space-between;align-items:center}
.ws-lp-hero{background:var(--primary-gradient);color:#fff;padding:7rem 0 5rem;text-align:center;position:relative;overflow:hidden}
.ws-lp-hero::before{content:'';position:absolute;top:-40%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(4,190,254,.3),transparent 70%);border-radius:50%}
.ws-lp-hero .container{position:relative}.ws-lp-hero h1{color:#fff;font-size:3.2rem;font-weight:800;max-width:860px;margin:0 auto 1rem}
.ws-lp-hero .sub{font-size:1.3rem;font-weight:300;opacity:.95;margin-bottom:2rem;line-height:1.6}.ws-lp-hero .sub span{display:block}
.ws-lp-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.ws-lp-btns .btn{min-width:210px}
.ws-lp-note{margin-top:1.4rem;font-size:.9rem;opacity:.85}
.ws-chips-static{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.5rem}.ws-chips-static a{border:1.5px solid #dbe4f0;background:#fff;padding:.45rem 1.1rem;border-radius:50px;font-size:.9rem;font-weight:500}.ws-chips-static a:hover{border-color:#106ceb;color:#106ceb}
.ws-sticky{display:none}
@media(max-width:900px){.ws-grid,.ws-upsell-grid{grid-template-columns:repeat(2,1fr)}.ws-steps,.ws-incl{grid-template-columns:repeat(2,1fr)}.ws-steps-3{grid-template-columns:1fr}.ws-lp-hero h1{font-size:2.5rem}}
@media(max-width:600px){.ws-section{padding:3.5rem 0}.ws-grid,.ws-upsell-grid,.ws-steps,.ws-incl{grid-template-columns:1fr}.ws-lp-hero{padding:6rem 0 3.5rem}.ws-lp-hero h1{font-size:2rem}.ws-lp-hero .sub{font-size:1.1rem}.ws-lp-btns .btn{width:100%}.ws-price-amt{font-size:3.2rem}
 .ws-sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.12);padding:.7rem 1rem;gap:.6rem}.ws-sticky .btn{flex:1;padding:.75rem .5rem;font-size:.8rem}body.has-sticky{padding-bottom:70px}body.has-sticky .whatsapp-float{display:none}}
