/* TechPDV marketing/signup refinement — 30-day trial */
:root {
  --mk-ink: #f7f9fc;
  --mk-muted: #aeb9c8;
  --mk-panel: #101925;
  --mk-panel-2: #0c141f;
  --mk-line: rgba(255,255,255,.11);
  --mk-orange: #ff6b2b;
  --mk-red: #df322f;
  --mk-green: #25c691;
}

.bf-landing { overflow-x: hidden; }
.bf-header { border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(8,13,20,.82); backdrop-filter: blur(18px); }
.bf-header.is-scrolled { background: rgba(7,11,17,.96); box-shadow: 0 14px 45px rgba(0,0,0,.28); }
.bf-header .bf-brand__logo { box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.bf-header .bf-button--small { min-height: 40px !important; padding: 0 17px !important; border-radius: 11px !important; font-size: 13px !important; }
.bf-hero { isolation: isolate; background: radial-gradient(circle at 72% 20%, rgba(255,107,43,.16), transparent 28%), linear-gradient(180deg, #0a111b 0%, #080d14 100%); }
.bf-hero__grid { min-height: 650px !important; align-items: start !important; padding-top: 98px !important; padding-bottom: 58px !important; }
.bf-hero__copy { position: relative; z-index: 2; }
.bf-hero h1 { text-wrap: balance; }
.bf-hero__lead { color: #bac5d2 !important; }
.bf-hero__actions { flex-wrap: wrap; }
.bf-hero__promise { width: fit-content; display: grid; gap: 3px; margin-top: 17px; padding: 12px 15px; border: 1px solid rgba(73,222,172,.2); border-radius: 13px; background: rgba(32,187,136,.08); }
.bf-hero__promise strong { color: #72e2bb; font-size: 13px; }
.bf-hero__promise span { color: #9fabb9; font-size: 11px; }
.bf-product-stage::before { content: "CAIXA E GESTÃO EM TEMPO REAL"; position: absolute; z-index: 4; top: -18px; left: 28px; padding: 8px 12px; border: 1px solid rgba(255,107,43,.28); border-radius: 999px; color: #ff9a68; background: #111a26; font-size: 10px; font-weight: 800; letter-spacing: 1px; }
.bf-app-frame { border-color: rgba(255,255,255,.14); box-shadow: 0 34px 90px rgba(0,0,0,.42), 0 0 0 1px rgba(255,107,43,.08); }
.bf-hero__strip { min-height: 78px; height: auto; flex-wrap: wrap; padding-block: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.bf-hero__strip span { color: #ff8a54; }
.bf-hero__strip strong { position: relative; color: #dce4ed; font-size: 14px; font-weight: 700; }
.bf-hero__strip strong::before { content: ""; width: 5px; height: 5px; display: inline-block; margin-right: 9px; border-radius: 50%; background: linear-gradient(135deg, var(--mk-orange), var(--mk-red)); vertical-align: 2px; }

.bf-heading h2, .bf-benefits h2, .bf-trial h2, .bf-final-cta h2 { text-wrap: balance; }
.bf-heading p { max-width: 720px; }
.bf-heading--center p { margin-inline: auto; }
.bf-pain-grid article, .bf-feature-card, .bf-steps article, .bf-plan-card, .bf-check-grid article { overflow: hidden; }
.bf-feature-card::after, .bf-plan-card::after { content: ""; position: absolute; width: 170px; height: 170px; right: -105px; bottom: -110px; border: 1px solid rgba(255,255,255,.045); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.012); pointer-events: none; }
.bf-feature-card, .bf-plan-card { position: relative; }
.bf-feature-card p, .bf-plan-card p, .bf-pain-grid p, .bf-steps p, .bf-check-grid small { color: #aeb9c7 !important; }
.bf-feature-card h3, .bf-plan-card h3, .bf-pain-grid h3, .bf-steps h3 { color: #f5f8fc; }
.bf-feature-card--accent { background: linear-gradient(145deg, rgba(255,107,43,.2), rgba(255,107,43,.04) 48%), #111a26; }
.bf-plans { position: relative; }
.bf-plans::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 20%, rgba(255,107,43,.08), transparent 31%); }
.bf-plan-card { border-color: rgba(255,255,255,.14) !important; }
.bf-plan-card--featured { border-color: rgba(255,107,43,.72) !important; box-shadow: 0 28px 75px rgba(255,68,37,.14) !important; }
.bf-plan-note { padding: 10px 12px; border: 1px solid rgba(37,198,145,.18); border-radius: 10px; color: #65dcb3 !important; background: rgba(37,198,145,.07); text-align: center; }
.bf-comparison { border-color: rgba(255,255,255,.14) !important; }
.bf-trial__card { position: relative; overflow: hidden; }
.bf-trial__card::after { content: "30"; position: absolute; right: 4%; bottom: -42px; color: rgba(255,255,255,.035); font: 800 220px/1 "Manrope", sans-serif; pointer-events: none; }
.bf-trial__card > * { position: relative; z-index: 1; }
.bf-accordion summary { text-decoration: none !important; }
.bf-final-cta { border-block: 1px solid rgba(255,107,43,.24); background: radial-gradient(circle at 50% 0, rgba(255,107,43,.23), transparent 42%), #0a111a !important; }

/* Signup: clearer order, generous spacing and plan selection at the end. */
.auth-v2 { min-height: 100vh; background: #edf1f5; }
.auth-v2__shell { grid-template-columns: minmax(390px, .78fr) minmax(620px, 1.22fr); }
.auth-v2__aside { position: sticky; top: 0; min-height: 100vh; max-height: 100vh; padding: 38px clamp(36px, 5vw, 72px); background: radial-gradient(circle at 84% 12%, rgba(255,107,43,.3), transparent 28%), radial-gradient(circle at 12% 88%, rgba(219,45,43,.14), transparent 35%), #0c1623; }
.auth-v2__pitch { max-width: 560px; }
.auth-v2__pitch h1 { max-width: 560px; font-size: clamp(42px, 4.2vw, 64px); text-wrap: balance; }
.auth-v2__pitch > p { max-width: 530px; color: #bdc7d3; font-size: 17px; }
.auth-v2__pitch ul { gap: 12px; color: #e1e7ed; font-size: 14px; }
.auth-v2__pitch li { padding: 11px 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.auth-v2__quote p { font-size: 14px; line-height: 1.55; }
.auth-v2__quote span { font-size: 11px; }
.auth-v2__form-panel { align-items: flex-start; padding: 42px clamp(24px, 5vw, 68px) 60px; background: radial-gradient(circle at 100% 0, rgba(255,107,43,.08), transparent 23%), #f2f5f8; }
.auth-v2__form-wrap { width: min(690px, 100%); padding: 38px 42px; border: 1px solid #dfe5eb; border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 28px 70px rgba(26,42,62,.11); }
.auth-v2__back { margin-bottom: 23px; }
.auth-v2__heading { padding-bottom: 24px; border-bottom: 1px solid #e8edf1; }
.auth-v2__heading h2 { margin-top: 10px; font-size: clamp(34px, 4vw, 44px) !important; }
.auth-v2__heading p { max-width: 590px; color: #657184 !important; }
.auth-v2__form { gap: 18px; padding-top: 24px; }
.auth-v2__form label > span { color: #344054 !important; font-size: 13px !important; }
.auth-v2__form input:not([type="checkbox"]):not([type="radio"]) { min-height: 56px !important; border-color: #ccd5df; border-radius: 13px; background: #fbfcfd; }
.auth-v2__form input:not([type="checkbox"]):not([type="radio"]):hover { border-color: #aeb9c6; }
.auth-password button { right: 12px; min-width: 56px; min-height: 38px; border-radius: 9px; background: #fff0e9; font-size: 12px; }
.auth-plan-step { min-width: 0; margin: 6px 0 0; padding: 22px; border: 1px solid #ffd0bd; border-radius: 18px; background: linear-gradient(145deg, #fff8f4, #fff 64%); }
.auth-plan-step legend { padding: 0 9px; color: #172235; font: 800 17px/1.35 "Manrope", sans-serif; }
.auth-plan-step legend span { display: block; margin-bottom: 4px; color: #e85d25; font: 800 10px/1.2 "DM Sans", sans-serif; letter-spacing: 1.2px; }
.auth-plan-step > p { margin: 0 0 17px; color: #667387; font-size: 13px; line-height: 1.55; }
.auth-plan-choice { gap: 12px; margin: 0; }
.auth-plan-choice label { position: relative; display: grid; align-content: start; gap: 4px !important; min-width: 0; padding: 17px; border: 1px solid #dce3ea; border-radius: 14px; background: #fff; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.auth-plan-choice label:hover { transform: translateY(-2px); border-color: #f39a72; }
.auth-plan-choice label.active, .auth-plan-choice label:has(input:checked) { border: 2px solid #f46727; padding: 16px; box-shadow: 0 12px 28px rgba(242,106,40,.12); }
.auth-plan-choice input[type="radio"] { position: absolute; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; opacity: 0; pointer-events: none; }
.auth-plan-choice label > i { position: absolute; top: -10px; right: 12px; padding: 5px 8px; border-radius: 6px; color: #fff; background: linear-gradient(135deg, var(--mk-orange), var(--mk-red)); font-size: 8px; font-style: normal; font-weight: 800; }
.auth-plan-choice label > span { color: #e85c23 !important; font-size: 12px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; }
.auth-plan-choice label > strong { margin-top: 5px; color: #172235; font-size: 22px; }
.auth-plan-choice label > small { min-height: 42px; color: #69768a; font-size: 12px; line-height: 1.45; }
.auth-plan-choice label > b { width: fit-content; margin-top: 8px; color: #344054; font-size: 11px; }
.auth-plan-choice label:has(input:checked) > b { color: #e85c23; }
.auth-v2__terms { align-items: flex-start; padding: 3px 2px; }
.auth-v2__terms input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px; }
.auth-v2__terms span { color: #5e6b7d !important; font-size: 12px !important; line-height: 1.45; }
.auth-v2__form .bf-button { min-height: 60px !important; border-radius: 14px; box-shadow: 0 14px 30px rgba(228,71,38,.22); }
.auth-v2__guarantee { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid #cfeee2; border-radius: 12px; color: #156c50; background: #f1fbf7; text-align: center; }
.auth-v2__guarantee strong { font-size: 13px; }
.auth-v2__guarantee span { font-size: 11px; }
.auth-v2__login { font-size: 13px; }

@media (max-width: 1040px) {
  .auth-v2__shell { grid-template-columns: minmax(330px, .72fr) minmax(540px, 1.28fr); }
  .auth-v2__aside { padding-inline: 32px; }
  .auth-v2__form-panel { padding-inline: 24px; }
  .auth-v2__form-wrap { padding: 32px; }
}

@media (max-width: 980px) {
  .bf-hero__grid { min-height: 0 !important; padding-top: 74px !important; }
}

@media (max-width: 900px) {
  .auth-v2__shell { display: block; }
  .auth-v2__aside { position: relative; min-height: 360px; max-height: none; padding: 30px 28px; }
  .auth-v2__pitch { margin: 44px 0 22px; }
  .auth-v2__pitch h1 { font-size: 42px; }
  .auth-v2__quote { display: none; }
  .auth-v2__form-panel { padding: 28px 18px 50px; }
}

@media (max-width: 780px) {
  .bf-hero { padding-top: 82px !important; }
  .bf-hero__grid { padding-top: 28px !important; }
  .bf-hero__promise { width: 100%; box-sizing: border-box; }
  .bf-product-stage::before { left: 14px; }
  .bf-hero__strip { gap: 14px 22px !important; }
  .bf-hero__strip span { flex-basis: 100%; }
  .bf-feature-card, .bf-plan-card, .bf-pain-grid article, .bf-steps article { border-radius: 18px !important; }
}

@media (max-width: 560px) {
  .auth-v2__aside { min-height: auto; padding: 22px 20px 28px; }
  .auth-v2__pitch { margin: 34px 0 0; }
  .auth-v2__pitch h1 { margin-bottom: 12px; font-size: 34px; }
  .auth-v2__pitch > p { display: block; font-size: 14px; }
  .auth-v2__pitch ul { display: grid; gap: 8px; padding-top: 14px; }
  .auth-v2__pitch li { padding: 9px 10px; font-size: 12px; }
  .auth-v2__form-panel { padding: 14px 10px 38px !important; }
  .auth-v2__form-wrap { padding: 25px 17px; border-radius: 19px; }
  .auth-v2__heading { padding-bottom: 20px; }
  .auth-v2__heading h2 { font-size: 31px !important; }
  .auth-v2__form { gap: 16px; padding-top: 20px; }
  .auth-v2__row, .auth-plan-choice { grid-template-columns: 1fr; }
  .auth-plan-step { padding: 18px 13px 14px; }
  .auth-plan-choice label > small { min-height: 0; }
  .auth-v2__guarantee span { line-height: 1.45; }
}

/* Imagem oficial do painel na abertura da página inicial. */
.bf-product-stage--image {
  display: block;
  transform: none !important;
}

.bf-product-stage--image::before {
  content: none !important;
  display: none !important;
}

.bf-product-stage--image .bf-app-frame,
.bf-product-stage--image .bf-float-card {
  display: none !important;
}

.bf-product-stage--image > .bf-product-stage__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 26px;
  box-shadow: 0 32px 86px rgba(0, 9, 31, .46);
}

@media (max-width: 980px) {
  .bf-product-stage--image { max-width: 760px; margin-inline: auto; }
}

@media (max-width: 560px) {
  .bf-product-stage--image > .bf-product-stage__image { border-radius: 16px; }
}
