/* ===== PUBLIC PAGE STYLES ===== */

/* Hero variants */
.hero-gradient{background:linear-gradient(135deg,var(--purple-900) 0%,var(--purple-700) 50%,var(--purple-500) 100%);color:#fff;padding:5rem 0 4rem;position:relative;overflow:hidden}
.hero-gradient::after{content:'';position:absolute;top:-30%;right:-15%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.04)}
.hero-gradient h1{font-size:2.75rem;font-weight:800;line-height:1.2;margin-bottom:1rem}
.hero-gradient .lead{font-size:1.15rem;opacity:.9;line-height:1.7;max-width:560px}
@media(max-width:767.98px){.hero-gradient{padding:3rem 0 2.5rem}.hero-gradient h1{font-size:2rem}}

.hero-light{background:var(--gray-50);padding:5rem 0 4rem;border-bottom:1px solid var(--gray-200)}
.hero-light h1{font-size:2.5rem;font-weight:800;color:var(--gray-900)}
.hero-light .lead{color:var(--gray-600);font-size:1.1rem;line-height:1.7}
@media(max-width:767.98px){.hero-light{padding:3rem 0}.hero-light h1{font-size:1.8rem}}

/* Section spacing */
.section-padded{padding:5rem 0}
@media(max-width:767.98px){.section-padded{padding:3rem 0}}

/* Feature cards */
.feature-card-v2{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;transition:all .3s;height:100%}
.feature-card-v2:hover{border-color:var(--purple-200);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.feature-card-v2 .icon-wrap{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.25rem}
.icon-purple{background:var(--purple-50);color:var(--purple-700)}
.icon-green{background:var(--success-light);color:var(--success)}
.icon-blue{background:var(--info-light);color:var(--info)}
.icon-orange{background:var(--warning-light);color:var(--warning)}

/* Step cards (How It Works) */
.step-card{position:relative;padding:2rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);height:100%}
.step-number{position:absolute;top:-16px;left:24px;width:32px;height:32px;border-radius:50%;background:var(--purple-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem}

/* Pricing cards */
.pricing-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:2.5rem 2rem;text-align:center;height:100%;transition:all .3s}
.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.pricing-card.featured{border-color:var(--purple-400);box-shadow:0 0 0 2px var(--purple-200)}
.pricing-card .price{font-size:2.5rem;font-weight:800;color:var(--gray-900)}
.pricing-card .price span{font-size:1rem;font-weight:400;color:var(--gray-500)}
.pricing-card ul{list-style:none;padding:0;text-align:left;margin:1.5rem 0}
.pricing-card li{padding:.5rem 0;font-size:.92rem;color:var(--gray-600);border-bottom:1px solid var(--gray-100)}
.pricing-card li i{color:var(--success);margin-right:.5rem}

/* Blog cards */
.blog-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;height:100%;transition:all .3s}
.blog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.blog-card .blog-body{padding:1.5rem}
.blog-card .blog-meta{font-size:.8rem;color:var(--gray-400);margin-bottom:.5rem}
.blog-card h5{font-weight:700;color:var(--gray-900);margin-bottom:.5rem}
.blog-card p{color:var(--gray-500);font-size:.9rem;line-height:1.6}

/* Testimonial / Story cards */
.story-card{background:#fff;border-left:4px solid var(--purple-600);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:2rem;box-shadow:var(--shadow-md);margin-bottom:2rem}
.story-card .story-quote{font-size:1.05rem;font-style:italic;color:var(--gray-700);line-height:1.7;margin-bottom:1rem}
.story-card .story-author{font-weight:700;color:var(--gray-900)}.story-card .story-role{font-size:.85rem;color:var(--gray-500)}

/* FAQ accordion */
.faq-accordion .accordion-button{font-weight:600;color:var(--gray-800)}
.faq-accordion .accordion-button:not(.collapsed){background:var(--purple-50);color:var(--purple-800)}
.faq-accordion .accordion-body{color:var(--gray-600);line-height:1.7}

/* CTA sections */
.cta-gradient{background:linear-gradient(135deg,var(--purple-800),var(--purple-600));color:#fff;padding:4rem 0;text-align:center}
.cta-gradient h2{font-weight:800;font-size:2rem;margin-bottom:.75rem}
.cta-gradient p{opacity:.85;max-width:500px;margin:0 auto 1.5rem}

/* Blog content */
.blog-content{font-size:1.05rem;line-height:1.85;color:var(--gray-700)}
.blog-content h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:2rem 0 1rem}
.blog-content h3{font-size:1.2rem;font-weight:600;color:var(--gray-800);margin:1.5rem 0 .75rem}
.blog-content p{margin-bottom:1.25rem}

/* Contact form */
.contact-form .form-control,.contact-form .form-select{border-color:var(--gray-300);border-radius:var(--radius);padding:.75rem 1rem}
.contact-form .form-control:focus{border-color:var(--purple-400);box-shadow:0 0 0 3px rgba(106,66,209,.1)}

/* Legal pages */
.legal-content{font-size:.95rem;line-height:1.8;color:var(--gray-600)}
.legal-content h2{font-size:1.3rem;font-weight:700;color:var(--gray-800);margin:2rem 0 .75rem}
.legal-content h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem}

/* Coming soon */
.coming-soon-box{text-align:center;padding:5rem 2rem;background:var(--gray-50);border-radius:var(--radius-xl)}
.coming-soon-box i{font-size:4rem;color:var(--purple-300);margin-bottom:1rem;display:block}

/* Comparison table */
.comparison-table th{background:var(--purple-50);color:var(--purple-800);font-weight:700;text-align:center}
.comparison-table td{text-align:center;vertical-align:middle;padding:.875rem}
.comparison-table .check{color:var(--success);font-size:1.2rem}
.comparison-table .cross{color:var(--gray-300);font-size:1.2rem}
