/* ════════════════════════════════════════════════════════════════
   SANBERNARDA.COM · DESIGN SYSTEM (SILICON VALLEY 2026)
   Sistema de Raios Concêntricos, Botões & Detalhes em Pílula (9999px)
   ════════════════════════════════════════════════════════════════ */

:root,
html {
  /* Escala Semântica Silicon Valley 2026 */
  --cc-r-pill: 9999px;   /* Pílula: Botões, Badges, Chips, Tags, Prompts, Search */
  --cc-r-2xl: 28px;     /* Superfícies amplas e hero containers */
  --cc-r-xl: 24px;      /* Modais, Janelas de Chat, Docks flutuantes */
  --cc-r-lg: 20px;      /* Cards mestres (Specs, Pricing, Cases, Blog) */
  --cc-r-md: 16px;      /* Sub-cards, Balões de mensagem, Paineis secundários */
  --cc-r-sm: 10px;      /* Inputs de formulário, textareas, selects */
  --cc-r-xs: 6px;       /* Micro-elementos e tooltips menores */

  /* Aliases de compatibilidade */
  --cc-r: var(--cc-r-lg);
  --cc-radius: var(--cc-r-lg);
  --cc-chat-r: var(--cc-r-xl);
  --cc-chat-r-sm: var(--cc-r-md);
  --cc-chat-r-pill: var(--cc-r-pill);
}

/* ─────────────────────────────────────────────────────────────
   1. BOTÕES & CTAs · FORMATO PÍLULA (9999px)
   ───────────────────────────────────────────────────────────── */
html body :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-hero-sec,
  .btn-nav-cta--ghost, .signup-strip__btn,
  .nav-account__btn, .nav-account__btn--primary, .nav-account__btn--ghost,
  .ctaform-submit, .ctaform__submit, .ctaform-fast__item, .ctaform-trust__item, .ctaform-fasttrack__btn,
  .sc-cta, .sc-cta__inner, .cs-cta, .pc-cta, .pc-cta__inner, .pc-btn-cta, .pc-btn-cta--featured,
  .dcb-btn-wa, .cft-wa, .footer-news-form button, .footer-contact-link,
  .probsol-cta-bar__btn, .psc-card-cta, .theme-toggle,
  .spec-techstack .techstack-toggle, .cs2-popup__close,
  .cases-filter__btn, .filter-btn, .btn-glitch, .magnetic-btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta,
  .pricing-contract__cta, .spec-coverage__cta, .testimonials-meta__cta,
  .cases-portfolio__cta, .btn-wa-lp, .lp-form__submit,
  [class*="btn-pill"], a[class*="btn-"], button[class*="btn-"]
),
html.cc-brut body :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-hero-sec,
  .btn-nav-cta--ghost, .signup-strip__btn,
  .nav-account__btn, .nav-account__btn--primary, .nav-account__btn--ghost,
  .ctaform-submit, .ctaform__submit, .ctaform-fast__item, .ctaform-trust__item, .ctaform-fasttrack__btn,
  .sc-cta, .sc-cta__inner, .cs-cta, .pc-cta, .pc-cta__inner, .pc-btn-cta, .pc-btn-cta--featured,
  .dcb-btn-wa, .cft-wa, .footer-news-form button, .footer-contact-link,
  .probsol-cta-bar__btn, .psc-card-cta, .theme-toggle,
  .spec-techstack .techstack-toggle, .cs2-popup__close,
  .cases-filter__btn, .filter-btn, .btn-glitch, .magnetic-btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta,
  .pricing-contract__cta, .spec-coverage__cta, .testimonials-meta__cta,
  .cases-portfolio__cta, .btn-wa-lp, .lp-form__submit,
  [class*="btn-pill"], a[class*="btn-"], button[class*="btn-"]
),
body.dark-theme :is(
  .btn-nav-cta, .btn-hero, .btn-cta, .btn-solid, .btn-hero-sec,
  .btn-nav-cta--ghost, .signup-strip__btn,
  .nav-account__btn, .nav-account__btn--primary, .nav-account__btn--ghost,
  .ctaform-submit, .ctaform__submit, .ctaform-fast__item, .ctaform-trust__item, .ctaform-fasttrack__btn,
  .sc-cta, .sc-cta__inner, .cs-cta, .pc-cta, .pc-cta__inner, .pc-btn-cta, .pc-btn-cta--featured,
  .dcb-btn-wa, .cft-wa, .footer-news-form button, .footer-contact-link,
  .probsol-cta-bar__btn, .psc-card-cta, .theme-toggle,
  .spec-techstack .techstack-toggle, .cs2-popup__close,
  .cases-filter__btn, .filter-btn, .btn-glitch, .magnetic-btn,
  .cs2-headlink, .cs2-ledger__cta, .proof__roster-cta, .pricing-card__cta,
  .pricing-contract__cta, .spec-coverage__cta, .testimonials-meta__cta,
  .cases-portfolio__cta, .btn-wa-lp, .lp-form__submit,
  [class*="btn-pill"], a[class*="btn-"], button[class*="btn-"]
) {
  border-radius: var(--cc-r-pill) !important;
}

/* ─────────────────────────────────────────────────────────────
   2. BADGES, CHIPS, TAGS & LABELS · FORMATO PÍLULA (9999px)
   ───────────────────────────────────────────────────────────── */
html body :is(
  .psc-tag, .sec-head__label, .spec-header__label, .proc-header__label, .proof__label,
  .ctaform-panel__label, .compare-us-label, .sc-tag, .ahud-grid span,
  .cc-prompt-dock__chip, .cc-prompt-chat__chip, .pc-head__num,
  .pc-head__status--danger, .nav-header .nav-menu a.nav-account__trigger,
  .hero-badge, .badge, .chip, .status-pill, .kpi-badge,
  .footer-social__tag, .cl-tag, .brut-index + .sec-head__label
),
html.cc-brut body :is(
  .psc-tag, .sec-head__label, .spec-header__label, .proc-header__label, .proof__label,
  .ctaform-panel__label, .compare-us-label, .sc-tag, .ahud-grid span,
  .cc-prompt-dock__chip, .cc-prompt-chat__chip, .pc-head__num,
  .pc-head__status--danger, .nav-header .nav-menu a.nav-account__trigger,
  .hero-badge, .badge, .chip, .status-pill, .kpi-badge,
  .footer-social__tag, .cl-tag, .brut-index + .sec-head__label
) {
  border-radius: var(--cc-r-pill) !important;
}

/* Sub-tags do diagnóstico: Retas (sem formato pílula) */
html body :is(.psc-chips span, .psc-head__chips li),
html.cc-brut body :is(.psc-chips span, .psc-head__chips li) {
  border-radius: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   3. DOCK FLUTUANTE, NAV STICKER & PROMPT BAR (9999px)
   ───────────────────────────────────────────────────────────── */
html body .nav-header.nav-compact .container.nav-grid,
html.cc-brut body .nav-header.nav-compact .container.nav-grid,
html.cc-force-dark body .nav-header.nav-compact .container.nav-grid,
body.dark-theme .nav-header.nav-compact .container.nav-grid,
html body:not(.dark-theme) .nav-header.nav-compact .container.nav-grid,
html body :is(
  .cc-prompt-dock .cc-prompt,
  .cc-prompt-dock .cc-prompt__bar,
  .cc-prompt-dock .cc-prompt__attach,
  .cc-prompt-dock .cc-prompt__mic,
  .cc-prompt-dock .cc-prompt__send,
  .prompt-bar, .prompt-input-wrapper
) {
  border-radius: var(--cc-r-pill) !important;
}

/* ─────────────────────────────────────────────────────────────
   4. CARDS, PAINÉIS & SUPERFÍCIES (20px / 16px)
   ───────────────────────────────────────────────────────────── */
html body :is(
  .spec-card, .spec-card--cockpit, .test-card, .pricing-card, .pricing-card--cockpit,
  .team-card, .value-card, .work-card, .industry-card, .blog-card,
  .svp-dcard, .faq-item, .proof__quote, .proof__stat, .proof__roster,
  .cs-panel, .cs-metric, .cs-tele, .cstack-rail .cs-panel, .cs2-card, .cs2-panel,
  .probsol-card, .psc-card-v2, .psc-glass, .proc-step, .proc-stamp,
  .spec-techstack .techstack-head, .spec-techstack .techstack-panel__inner,
  .ctaform-panel, .cases-portfolio, .pricing-contract, .cl-card, .hm-panel,
  .psc-video-slot, .psc-impact-stack, .psc-impact-tile, .psc-note, .psc-metrics
),
html.cc-brut body :is(
  .spec-card, .spec-card--cockpit, .test-card, .pricing-card, .pricing-card--cockpit,
  .team-card, .value-card, .work-card, .industry-card, .blog-card,
  .svp-dcard, .faq-item, .proof__quote, .proof__stat, .proof__roster,
  .cs-panel, .cs-metric, .cs-tele, .cstack-rail .cs-panel, .cs2-card, .cs2-panel,
  .probsol-card, .psc-card-v2, .psc-glass, .proc-step, .proc-stamp,
  .spec-techstack .techstack-head, .spec-techstack .techstack-panel__inner,
  .ctaform-panel, .cases-portfolio, .pricing-contract, .cl-card, .hm-panel,
  .psc-video-slot, .psc-impact-stack, .psc-impact-tile, .psc-note, .psc-metrics
),
body.dark-theme :is(
  .spec-card, .spec-card--cockpit, .test-card, .pricing-card, .pricing-card--cockpit,
  .team-card, .value-card, .work-card, .industry-card, .blog-card,
  .svp-dcard, .faq-item, .proof__quote, .proof__stat, .proof__roster,
  .cs-panel, .cs-metric, .cs-tele, .cstack-rail .cs-panel, .cs2-card, .cs2-panel,
  .probsol-card, .psc-card-v2, .psc-glass, .proc-step, .proc-stamp,
  .ctaform-panel
) {
  border-radius: var(--cc-r-lg) !important;
}

html body :is(
  .pricing-card--cockpit.pricing-card--featured::before,
  .pricing-sec--cockpit .pricing-card--cockpit.pricing-card--featured::before
) {
  border-radius: var(--cc-r-lg) !important;
}

/* ─────────────────────────────────────────────────────────────
   5. MODAIS, CHAT & GAVETAS FLUTUANTES (24px)
   ───────────────────────────────────────────────────────────── */
html body :is(
  .mobile-menu__inner, .nav-account__pop, .hud-tooltip,
  .cc-prompt-dock .cc-prompt-dock__inner,
  .cc-prompt-dock .cc-prompt-chat
),
html.cc-brut body :is(
  .mobile-menu__inner, .nav-account__pop, .hud-tooltip,
  .cc-prompt-dock .cc-prompt-dock__inner,
  .cc-prompt-dock .cc-prompt-chat
),
body.dark-theme :is(
  .mobile-menu__inner, .nav-account__pop, .hud-tooltip,
  .cc-prompt-dock .cc-prompt-dock__inner,
  .cc-prompt-dock .cc-prompt-chat
) {
  border-radius: var(--cc-r-xl) !important;
}

/* Balão do Mascote — cantos refinados e discretos (8px) */
html body .robo-companion-bubble,
body.dark-theme .robo-companion-bubble,
html.cc-brut body .robo-companion-bubble {
  border-radius: 8px !important;
}

html body .robo-companion-bubble::before {
  border-radius: 7px 7px 0 0 !important;
}

/* Balões de Mensagem & Componentes Internos (16px) */
html body :is(
  .cc-prompt-dock .cc-prompt-chat__msg-body,
  .cc-prompt-chat__msg--user .cc-prompt-chat__msg-body,
  .cc-prompt-chat__msg--assistant .cc-prompt-chat__msg-body,
  .cc-prompt-dock .cc-prompt-chat__briefing-bar,
  .cc-prompt-dock .cc-prompt-chat__window-grip,
  .faq-question, .agenda-slot__bar,
  .psc-marker__track, .psc-marker__fill, .psc-marker__ghost
) {
  border-radius: var(--cc-r-md) !important;
}

/* ─────────────────────────────────────────────────────────────
   6. CAMPOS DE FORMULÁRIO (10px)
   ───────────────────────────────────────────────────────────── */
html body :is(
  .ctaform input, .ctaform textarea, .ctaform select,
  .footer-news-form input, .form-control,
  input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
  textarea, select, .roi-slider,
  .roi-slider::-webkit-slider-thumb, .roi-slider::-moz-range-thumb
),
html.cc-brut body :is(
  .ctaform input, .ctaform textarea, .ctaform select,
  .footer-news-form input, .form-control,
  input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
  textarea, select
) {
  border-radius: var(--cc-r-sm) !important;
}

/* Focus States */
html body :is(
  a:focus-visible, button:focus-visible, input:focus-visible,
  textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible
) {
  border-radius: inherit;
}

/* ─────────────────────────────────────────────────────────────
   7. SEÇÕES, MARQUEE & FAIXAS (Bordas 100% Retas em seções full-bleed)
   ───────────────────────────────────────────────────────────── */
section:not(.signup-strip),
main > section:not(.signup-strip),
.section,
[class*="-sec"],
.hero-v3,
.stats-strip,
.marquee-strip,
.probsol,
.proof,
.proc,
.faq-section,
.ctaform,
.page-hero,
.svp-hero,
.svp-sec,
.svp-cta,
.cases,
.spec,
.testimonials-sec,
.pricing-sec,
.blog-sec,
.agenda-sec,
.founder-block,
.direct-connect-banner,
.diag,
.test-sec,
.chapter-status,
#main-content,
#diagnostico,
#prova,
#processo,
#servicos,
#faq,
#contato,
html.cc-brut body section:not(.signup-strip),
html body section:not(.signup-strip),
body.dark-theme section:not(.signup-strip),
html.cc-brut body .marquee-strip,
html body .marquee-strip,
html body #main-content + .marquee-strip,
html.cc-brut body .stats-strip,
html body .stats-strip,
html body .stats-strip__inner,
html body .stats-strip__item,
html body .stats-strip__num-wrap,
html.cc-brut body .stats-strip *,
.stats-strip,
.stats-strip__inner,
.stats-strip__item,
.stats-strip__num-wrap {
  border-radius: 0 !important;
}

/* Blocos CTA flutuantes / Área do Cliente (cantos bem redondos) */
.signup-strip,
#cta-conta,
#cta-proximo,
html body .signup-strip,
html.cc-brut body .signup-strip,
body.dark-theme .signup-strip {
  border-radius: clamp(36px, 4.5vw, 52px) !important;
  overflow: hidden !important;
}

/* ─────────────────────────────────────────────────────────────
   8. EXCEÇÕES: CÍRCULOS (50%) & BORDAS RETAS (0)
   ───────────────────────────────────────────────────────────── */
html body :is(
  [class*="__dot"], [class*="-dot"], .cfs-dot, .nav-available__dot,
  .sc-head__status::before, .cc-prompt-chat__online i,
  .cc-prompt-chat__verified-dot, .cstack-dot, .cs-hud__status i,
  .bf-success__icon, .bf-tm__phase::before,
  .robo--pet-v6::after, .h26-sys-dot, .avatar-circle,
  .psc-icon, .psc-col__head .psc-icon, .psc-tab__icon,
  .cc-prompt__send, button.cc-prompt__send, .cc-prompt__attach, .cc-prompt__mic,
  .cc-prompt-chat__minimize,
  .cff-icon, .ctaform-trust__icon
),
html body .cff-icon,
html body .ctaform-trust__icon,
html.cc-brut body .cff-icon,
html.cc-brut body .ctaform-trust__icon,
body.dark-theme .cff-icon,
body.dark-theme .ctaform-trust__icon,
html body:not(.dark-theme) .cff-icon,
html body:not(.dark-theme) .ctaform-trust__icon,
html body .cc-prompt__mic.is-listening::after {
  border-radius: 50% !important;
}

/* Logo Fold: o ponto da marca é quadrado, não círculo */
html body :is(.logo-sq, .logo-dot, .footer-hero__dot),
html.cc-brut body :is(.logo-sq, .logo-dot, .footer-hero__dot) {
  border-radius: 0 !important;
}

/* Nav full-bleed estática e Rodapé (retos) + Indicador de seção lateral */
html body .nav-header:not(.nav-compact),
html body .nav-header:not(.nav-compact) .container.nav-grid,
html body footer.footer,
html body .footer.footer--cockpit,
html body #section-indicator .si-dot {
  border-radius: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   9. TRAVA ABSOLUTA DE BOTÕES EM PÍLULA (9999px)
   Garante formato pílula uniforme em todos os botões e CTAs
   ───────────────────────────────────────────────────────────── */
html body .btn-nav-cta,
html body .btn-hero,
html body .btn-cta,
html body .btn-solid,
html body .btn-hero-sec,
html body .btn-nav-cta--ghost,
html body .btn-wa-lp,
html body .signup-strip__btn,
html body html body .nav-account__btn,
html body .nav-account__btn--primary,
html body .nav-account__btn--ghost,
html body .ctaform-submit,
html body .ctaform__submit,
html body .ctaform-fast__item,
html body .ctaform-trust__item,
html body .ctaform-fasttrack__btn,
html body .sc-cta,
html body .sc-cta__inner,
html body .cs-cta,
html body .pc-cta,
html body .pc-cta__inner,
html body .pc-btn-cta,
html body .pc-btn-cta--featured,
html body .dcb-btn-wa,
html body .cft-wa,
html body .footer-news-form button,
html body .footer-contact-link,
html body .probsol-cta-bar__btn,
html body .psc-card-cta,
html body .theme-toggle,
html body .spec-techstack .techstack-toggle,
html body .cs2-popup__close,
html body .cases-filter__btn,
html body .filter-btn,
html body .btn-glitch,
html body .magnetic-btn,
html body .cs2-headlink,
html body .cs2-ledger__cta,
html body .proof__roster-cta,
html body .pricing-card__cta,
html body .pricing-contract__cta,
html body .spec-coverage__cta,
html body .testimonials-meta__cta,
html body .cases-portfolio__cta,
html body .lp-form__submit,
html body .magnetic-wrap > *,
html.cc-brut body .btn-nav-cta,
html.cc-brut body .btn-hero,
html.cc-brut body .btn-cta,
html.cc-brut body .btn-solid,
html.cc-brut body .btn-hero-sec,
html.cc-brut body .btn-nav-cta--ghost,
html.cc-brut body .btn-wa-lp,
html.cc-brut body .signup-strip__btn,
html.cc-brut body html.cc-brut body .nav-account__btn,
html.cc-brut body .nav-account__btn--primary,
html.cc-brut body .nav-account__btn--ghost,
html.cc-brut body .ctaform-submit,
html.cc-brut body .ctaform__submit,
html.cc-brut body .ctaform-fast__item,
html.cc-brut body .ctaform-trust__item,
html.cc-brut body .ctaform-fasttrack__btn,
html.cc-brut body .sc-cta,
html.cc-brut body .sc-cta__inner,
html.cc-brut body .cs-cta,
html.cc-brut body .pc-cta,
html.cc-brut body .pc-cta__inner,
html.cc-brut body .pc-btn-cta,
html.cc-brut body .pc-btn-cta--featured,
html.cc-brut body .dcb-btn-wa,
html.cc-brut body .cft-wa,
html.cc-brut body .footer-news-form button,
html.cc-brut body .footer-contact-link,
html.cc-brut body .probsol-cta-bar__btn,
html.cc-brut body .psc-card-cta,
html.cc-brut body .theme-toggle,
html.cc-brut body .spec-techstack .techstack-toggle,
html.cc-brut body .cs2-popup__close,
html.cc-brut body .cases-filter__btn,
html.cc-brut body .filter-btn,
html.cc-brut body .btn-glitch,
html.cc-brut body .magnetic-btn,
html.cc-brut body .cs2-headlink,
html.cc-brut body .cs2-ledger__cta,
html.cc-brut body .proof__roster-cta,
html.cc-brut body .pricing-card__cta,
html.cc-brut body .pricing-contract__cta,
html.cc-brut body .spec-coverage__cta,
html.cc-brut body .testimonials-meta__cta,
html.cc-brut body .cases-portfolio__cta,
html.cc-brut body .lp-form__submit,
html.cc-brut body .magnetic-wrap > * {
  border-radius: var(--cc-r-pill, 9999px) !important;
}

/* ─────────────────────────────────────────────────────────────
   COCKPIT FORM & STEPPER: Bordas consistentes com o Design System
   ───────────────────────────────────────────────────────────── */
html body :is(
  .ctaform-step-tab,
  .ctaform-nav-btn,
  .ctaform-nav-btn--next,
  .ctaform-nav-btn--prev,
  .ctaform-mobile-btn,
  .ctaform-mobile-btn--next,
  .ctaform-mobile-btn--prev,
  .ctaform-submit,
  .ctaform-submit--cockpit,
  .ctaform__submit
),
html.cc-brut body :is(
  .ctaform-step-tab,
  .ctaform-nav-btn,
  .ctaform-nav-btn--next,
  .ctaform-nav-btn--prev,
  .ctaform-mobile-btn,
  .ctaform-mobile-btn--next,
  .ctaform-mobile-btn--prev,
  .ctaform-submit,
  .ctaform-submit--cockpit,
  .ctaform__submit
),
body.dark-theme :is(
  .ctaform-step-tab,
  .ctaform-nav-btn,
  .ctaform-nav-btn--next,
  .ctaform-nav-btn--prev,
  .ctaform-mobile-btn,
  .ctaform-mobile-btn--next,
  .ctaform-mobile-btn--prev,
  .ctaform-submit,
  .ctaform-submit--cockpit,
  .ctaform__submit
) {
  border-radius: var(--cc-r-pill, 9999px) !important;
}

html body :is(
  .ctaform-input,
  .ctaform-textarea,
  .ctaform-chip,
  .ctaform-qtag,
  .ctaform input,
  .ctaform select,
  .ctaform textarea
),
html.cc-brut body :is(
  .ctaform-input,
  .ctaform-textarea,
  .ctaform-chip,
  .ctaform-qtag,
  .ctaform input,
  .ctaform select,
  .ctaform textarea
),
body.dark-theme :is(
  .ctaform-input,
  .ctaform-textarea,
  .ctaform-chip,
  .ctaform-qtag,
  .ctaform input,
  .ctaform select,
  .ctaform textarea
) {
  border-radius: var(--cc-r-sm, 10px) !important;
}

