/* Premium public pages, layered over the retained PHP markup. */
body.saas-public { background: var(--bg-main) !important; font-size: 15px; }
.saas-public :is(.bg-glass,.feature-card) { background: var(--bg-card); border: 1px solid var(--border-color); backdrop-filter: none; box-shadow: none; }
.saas-public :is(.gsap-fade-up,.gsap-fade-in,.gsap-stagger-item,.animate-fade-in) { opacity: 1 !important; visibility: visible !important; transform: none !important; animation: none !important; }
.saas-public .large-logo { height: auto !important; max-height: 64px !important; max-width: 240px; width: auto !important; object-fit: contain; filter: none !important; animation: none !important; }
.saas-public .large-logo-footer { height: auto !important; max-height: 42px !important; max-width: 170px; width: auto !important; filter: none !important; animation: none !important; }
.public-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1200px; margin: 0 auto; padding: 22px 24px; border-bottom: 1px solid var(--border-color); }
.public-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text-main) !important; font-size: 15px; font-weight: 650; letter-spacing: -.025em; }
.public-brand-mark { width: 30px; height: 30px; display: grid; place-items: center; background: var(--primary-accent); color: #07160F; border-radius: 8px; }
.public-nav-links { display: flex; align-items: center; gap: 26px; font-size: 12px; }
.public-nav-links a { color: var(--text-muted); }
.public-nav-links a:hover { color: var(--text-main); }
.public-nav-links .nav-login { color: var(--text-main); padding: 9px 16px; border: 1px solid #334155; border-radius: 8px; }
.saas-public .fundo-topo { position: relative; isolation: isolate; background-color: var(--bg-main); border: 0; text-align: center; padding: clamp(44px,7vw,90px) 24px !important; box-shadow: none; border-radius: 14px; overflow: hidden; }
.saas-public .fundo-topo::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgb(11 15 23 / 82%),rgb(11 15 23 / 96%)),radial-gradient(ellipse at 50% 0,rgb(0 229 117 / 14%),transparent 70%); }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 26px; padding: 6px 12px; border: 1px solid rgb(0 229 117 / 20%); border-radius: 999px; color: #B8F5D4; background: rgb(0 229 117 / 5%); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.hero-eyebrow::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--primary-accent); }
.saas-public .fundo-topo h1 { max-width: 900px; margin: 0 auto 24px; font-size: clamp(34px,5.3vw,66px); font-weight: 750; letter-spacing: -.055em; line-height: 1.08; }
.saas-public .fundo-topo p { max-width: 650px; margin-inline: auto; font-size: clamp(15px,1.6vw,18px); line-height: 1.75; color: var(--text-muted); }
.saas-public .fundo-topo > .flex { position: relative; }
.saas-public :is(a,button):is(.bg-customGreen,.bg-customAzul,.btn-primary,.btn-subscribe) { background: var(--primary-accent) !important; color: #07160F !important; border: 1px solid var(--primary-accent) !important; border-radius: var(--radius) !important; min-height: 46px; padding: 12px 22px; font-size: 13px; font-weight: 650; animation: none !important; box-shadow: none !important; }
.saas-public :is(a,button):is(.bg-customGreen,.bg-customAzul,.btn-primary,.btn-subscribe):hover { background: var(--primary-hover) !important; border-color: var(--primary-hover) !important; }
.saas-public .bg-customAzul { color: var(--text-main) !important; background: var(--bg-card-hover) !important; border-color: #334155 !important; }
.saas-public a.border-white\/20 { border-color: #334155; color: var(--text-main); font-size: 13px; }
.saas-public a.border-white\/20:hover { background: var(--bg-card-hover); }
.saas-public :is(.animate-pulse-green,.animate-pulse-blue) { animation: none !important; }
.saas-public :is(#features-container,#plans-container) { gap: 18px; }
.saas-public .feature-card { text-align: left; padding: 28px !important; }
.saas-public .feature-card:hover { border-color: #335244; background: var(--bg-card-hover); transform: translateY(-3px); box-shadow: none; }
.saas-public .feature-card .custom-green-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 22px; background: rgb(0 229 117 / 8%); border: 1px solid rgb(0 229 117 / 12%); border-radius: 10px; color: var(--primary-accent) !important; font-size: 21px; }
.saas-public .feature-card h3 { font-size: 17px; margin-bottom: 10px; }
.saas-public .feature-card p { color: var(--text-muted); font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.saas-public #plans { scroll-margin-top: 24px; }
.saas-public .plan-card { position: relative; transform: none !important; padding-top: 28px; }
.saas-public .plan-card > .bg-glass { border-radius: 12px; }
.saas-public .plan-card h3 { font-size: 16px; }
.saas-public .plan-card .text-4xl { font-size: clamp(28px,3vw,38px); letter-spacing: -.05em; }
.saas-public .plan-card .feature-item { color: #CBD5E1; font-size: 12px; align-items: flex-start; }
.saas-public .plan-card .feature-item i { padding-top: 5px; font-size: 11px; }
.saas-public .plan-card .btn-subscribe { width: 100%; padding-inline: 12px; }
.saas-public .plan-card.plan-recommended > .bg-glass { border-color: var(--primary-accent); box-shadow: 0 0 0 1px rgb(0 229 117 / 15%); }
.saas-public .plan-recommended::before { content: 'PLANO COMPLETO'; position: absolute; top: 0; left: 0; right: 0; height: 28px; display: grid; place-items: center; background: var(--accent-yellow); color: #211800; border-radius: 8px 8px 0 0; font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.saas-public .plan-recommended > .bg-glass { border-top-left-radius: 0; border-top-right-radius: 0; }
.saas-public .faq-item { border-color: var(--border-color); }
.saas-public .faq-item > button { background: transparent; border: 0; color: var(--text-main); gap: 24px; font: inherit; font-weight: 500; padding: 22px 24px; }
.saas-public .faq-item > button[aria-expanded=true] { color: var(--primary-accent); }
.saas-public .faq-item > div { color: var(--text-muted); font-size: 13px; padding: 20px 24px; }
.saas-public .text-gradient { background: none; -webkit-text-fill-color: var(--text-main); }
.saas-public .form-input,.saas-public .form-select { display: block; width: 100%; padding: 12px 14px 12px 42px !important; font-size: 14px; line-height: 1.5; }
.saas-public .form-label { display: block; margin-bottom: 8px; }
.saas-public .input-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--text-muted); pointer-events: none; z-index: 1; }
.saas-public .secure-payment-badge { display: flex; align-items: center; gap: 12px; background: rgb(0 229 117 / 5%); color: var(--primary-accent); border: 1px solid rgb(0 229 117 / 12%); border-radius: var(--radius); padding: 16px; margin-top: 20px; }
.saas-public .secure-payment-badge p { margin-bottom: 3px; }
.saas-public .decoration-dot { display: none; }
.saas-public .product-card { position: relative; overflow: hidden; }
.saas-public .product-card .absolute.top-4 { font-size: 9px; padding: 5px 9px; }
.saas-public .product-card .absolute.inset-0.items-end { background: linear-gradient(transparent,rgb(11 15 23 / 90%)); padding: 18px; }
.saas-public .product-card .absolute.inset-0.items-end :is(button,a) { font-size: 11px; background: var(--primary-accent); color: #07160F; border: 0; padding: 8px 12px; }
.saas-public .product-card:hover { border-color: #335244 !important; }
.saas-public :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) { background-color: var(--bg-main) !important; border: 1px solid #334155; color: var(--text-main); border-radius: var(--radius); min-height: 44px; }
.saas-public.saas-payment > .bg-white { background: var(--bg-card) !important; border: 1px solid var(--border-color); }
.saas-public.saas-payment .bg-lime-400 { color: #07160F !important; background: var(--primary-accent) !important; }
.saas-public.saas-payment .bg-lime-400:hover { background: var(--primary-hover) !important; }
.saas-public.saas-payment #promoTimerBox { background: rgb(255 184 0 / 8%); border: 1px solid #685322; color: #FFDA91; }
.saas-public .search-container { position: relative; }
.saas-public .search-icon { color: var(--text-muted); }
.saas-public .category-pill { color: var(--text-muted); background: var(--bg-card); border: 1px solid var(--border-color); }
.saas-public .category-pill.active { background: rgb(0 229 117 / 12%); color: var(--primary-accent); border-color: var(--primary-accent); }
.saas-public #product-modal { background: rgb(0 0 0 / 75%); }
.saas-public #product-modal .modal-content { max-height: 90svh; overflow-y: auto; }
.saas-public .modal-close { color: var(--text-muted); background: transparent; border-color: var(--border-color); }
@media(max-width:639px) {
  .public-nav { padding: 16px 20px; }
  .public-nav-links { gap: 12px; }
  .public-nav-links > a:not(.nav-login) { display: none; }
  .public-brand { font-size: 12px; }
  .saas-public > .py-12 { padding-top: 16px; }
  .saas-public .fundo-topo { padding: 40px 8px !important; }
  .saas-public .fundo-topo h1 { font-size: clamp(31px,8.8vw,44px); }
  .saas-public .fundo-topo > .flex.flex-wrap { font-size: 11px; gap: 14px; }
  .saas-public .p-8 { padding: 24px 20px; }
  .saas-public .feature-card { padding: 24px !important; }
  .saas-public .plan-card .p-6 { padding: 24px !important; }
  .saas-public .large-logo { max-height: 52px !important; }
  .saas-public .faq-item > button { padding: 18px; font-size: 14px; }
}
