/* Affichage Pro des pages publiques. Aucune règle ne s'applique au mode classique. */
html[data-ui-mode="pro"] {
  --gf-pro-ink: #0b1e32;
  --gf-pro-muted: #5c6b78;
  --gf-pro-blue: #173d77;
  --gf-pro-line: #dce4e8;
  --gf-pro-soft: #f4f7f8;
  --gf-pro-paper: #faf8f4;
  --gf-pro-wine: #7a2430;
}

html[data-ui-mode="pro"] body {
  color: var(--gf-pro-ink);
  background: var(--gf-pro-paper);
  font-family: Inter, Arial, sans-serif;
}
html[data-ui-mode="pro"] :is(button, input, select, textarea, a):focus-visible {
  outline: 2px solid var(--gf-pro-blue);
  outline-offset: 2px;
}
html[data-ui-mode="pro"] :is(h1, h2, h3, h4, strong, b) { font-weight: 550; }
html[data-ui-mode="pro"] .email-verification-page .card { border-color: var(--gf-pro-line); border-radius: 0; box-shadow: none; }
html[data-ui-mode="pro"] .email-verification-page button { border-radius: 0; font-weight: 500; }
html[data-ui-mode="pro"] :is(
  .button, .nav-cta, .client-space-button, .auth-submit, .dialog-confirm,
  .legal-button, .support-tabs button, .support-refresh,
  .support-dialog-actions button, .confirmation-actions a,
  .confirmation-actions button, .error-card-button
) { font-weight: 500; }
html[data-ui-mode="pro"] :is(
  .button, .nav-cta, .client-space-button, .menu-toggle, .nav-links,
  .mega-menu, .mega-feature,
  .mega-column a, .eyebrow, .zero-card, .zero-body > button,
  .hero-bottom, .operation-console, .detail-content li, .accuracy-note,
  .included-grid, .gift-label, .tool-icon, .dashboard, .dashboard-body > aside i,
  .dash-head button, .dash-stats article, .dash-table, .workflow-grid,
  .workflow-symbol, .api-mark, .code-window, .modal, .widget-backdrop > section,
  .return-card, .auth-form input, .auth-form select, .auth-submit,
  .password-field button, .prototype-note, .verify-notice,
  .verify-notice-actions button, .verify-notice-link, .google-auth-button,
  .demo-access, .auth-dialog section, .dialog-confirm, .reset-form input,
  .form-error, .legal-nav, .legal-nav a, .legal-card, .legal-draft,
  .legal-note, .legal-tile, .legal-table-wrap, .legal-button,
  .legal-definition, .help-search, .help-search kbd, .help-topic-grid button,
  .help-topic-grid i, .help-faq-list summary span, .help-empty,
  .support-session, .support-tabs button, .support-tabs b, .support-pill,
  .support-form input, .support-form select, .support-form textarea,
  .support-dialog input, .support-dialog select, .support-dialog textarea,
  .support-refresh, .support-empty, .support-card, .support-status,
  .support-small-button, .support-admin-metrics span, .support-dialog,
  .support-dialog-close, .support-thread-messages, .support-message,
  .support-dialog-actions button, .payment-card, .order-summary,
  .payment-options button, .payment-grid > form, .payment-grid > aside,
  .error-card, .company-mode span, .siren-lookup, .siren-input input,
  .lookup-status, .form-grid input, .total, .payment-security,
  .confirmation-shell, .success-mark, .confirmation-status,
  .confirmation-details, .assurance-list article, .next-step-card,
  .confirmation-actions a, .confirmation-actions button,
  .test-note, .error-card-button, .hero, .panel, .kpis article,
  .security, .profile div, .item, .status, .document-links a, .empty
) { border-radius: 0; }

/* Accueil : densité maîtrisée, hiérarchie de lecture et lignes fines. */
html[data-ui-mode="pro"] .site-header {
  background: #fff;
  border-color: var(--gf-pro-line);
  box-shadow: none;
  backdrop-filter: none;
}
html[data-ui-mode="pro"] .utility-bar { background: var(--gf-pro-ink); }
html[data-ui-mode="pro"] .navbar { min-height: 66px; }
html[data-ui-mode="pro"] .brand > img { width: 39px; height: 39px; }
html[data-ui-mode="pro"] .brand-word { font: 500 20px/1 "Source Serif 4", Georgia, serif; }
html[data-ui-mode="pro"] .brand-word b { font-weight: 500; }
html[data-ui-mode="pro"] .brand-word small { font-size: 9px; font-weight: 500; }
html[data-ui-mode="pro"] :is(.nav-trigger, .nav-links, .login-button, .contact-link) { font-weight: 450; }
@media (min-width: 1041px) {
  html[data-ui-mode="pro"] :is(.nav-trigger, .nav-links > a:not(.nav-cta)) {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
html[data-ui-mode="pro"] .mega-menu {
  top: 90px;
  border-color: var(--gf-pro-line);
  box-shadow: 0 12px 30px rgba(11,30,50,.11);
}
html[data-ui-mode="pro"] .mega-feature { min-height: 280px; }
html[data-ui-mode="pro"] .mega-feature h2 { font: 550 28px/1.15 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .mega-column b { font: 500 13px/1.4 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .section { padding: 72px 0; }
html[data-ui-mode="pro"] .hero { background: var(--gf-pro-paper); }
html[data-ui-mode="pro"] :is(.hero::before, .included::after) { display: none; }
html[data-ui-mode="pro"] .registry-lines { opacity: .12; }
html[data-ui-mode="pro"] .hero-grid {
  min-height: 475px;
  gap: clamp(28px,5vw,70px);
  padding-top: 45px;
  padding-bottom: 47px;
}
html[data-ui-mode="pro"] .hero h1 {
  max-width: 700px;
  margin: 19px 0;
  font: 550 clamp(33px,4vw,50px)/1.14 Inter, Arial, sans-serif;
  letter-spacing: -.035em;
}
html[data-ui-mode="pro"] .hero-lead { font-size: 14px; line-height: 1.6; }
html[data-ui-mode="pro"] .hero-proof { margin-top: 25px; }
html[data-ui-mode="pro"] .hero-proof strong,
html[data-ui-mode="pro"] .hero-bottom b { font: 500 12px/1.4 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .zero-card { border-color: var(--gf-pro-line); box-shadow: none; }
html[data-ui-mode="pro"] .zero-body { padding: 23px 28px; }
html[data-ui-mode="pro"] .zero-amount {
  font: 550 clamp(68px,7vw,98px)/1 Inter, Arial, sans-serif;
  letter-spacing: -.06em;
}
html[data-ui-mode="pro"] .hero-bottom { min-height: 66px; }
html[data-ui-mode="pro"] .section-header { gap: 42px; margin-bottom: 30px; padding-bottom: 20px; }
html[data-ui-mode="pro"] :is(.section-header h2, .cabinet-copy h2) {
  font: 550 clamp(27px,3vw,38px)/1.2 Inter, Arial, sans-serif;
  letter-spacing: -.025em;
}
html[data-ui-mode="pro"] .operation-console { min-height: 396px; box-shadow: none; }
html[data-ui-mode="pro"] .console-nav button { padding: 16px 20px; }
html[data-ui-mode="pro"] .console-nav strong { font: 500 15px/1.3 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .detail-content { padding: 32px 30px; }
html[data-ui-mode="pro"] .detail-number { font: 450 62px/1 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .detail-content h3 { font: 550 26px/1.15 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .included-grid article { min-height: 240px; padding: 25px; }
html[data-ui-mode="pro"] .included-lead { min-height: 480px; }
html[data-ui-mode="pro"] .giant-type { font: 500 clamp(30px,3.8vw,44px)/1.14 Inter, Arial, sans-serif; letter-spacing: -.03em; }
html[data-ui-mode="pro"] .cabinet-grid { gap: 50px; }
html[data-ui-mode="pro"] .dashboard { box-shadow: none; }
html[data-ui-mode="pro"] .workflow-grid article { min-height: 240px; padding: 25px 20px; }
html[data-ui-mode="pro"] .workflow-grid h3,
html[data-ui-mode="pro"] .included-grid h3 { font: 500 17px/1.3 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .deposit-intro h2,
html[data-ui-mode="pro"] .covered-grid h2,
html[data-ui-mode="pro"] .api-section h2,
html[data-ui-mode="pro"] .final-cta h2 { font: 550 clamp(27px,3vw,38px)/1.2 Inter, Arial, sans-serif; letter-spacing: -.03em; }
html[data-ui-mode="pro"] .covered-grid { gap: 60px; }
html[data-ui-mode="pro"] .modal { padding: 30px; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
html[data-ui-mode="pro"] .modal h2 { font: 550 24px/1.2 Inter, Arial, sans-serif; }

/* Connexion et inscription : même vocabulaire graphique, sans toucher aux formulaires. */
html[data-ui-mode="pro"] .auth-layout { grid-template-columns: minmax(350px,.82fr) minmax(470px,1.18fr); }
html[data-ui-mode="pro"] .auth-brand-panel {
  color: var(--gf-pro-ink);
  background: #fff;
  border-right: 1px solid var(--gf-pro-line);
}
html[data-ui-mode="pro"] :is(.auth-brand-panel::before, .auth-brand-panel::after) { display: none; }
html[data-ui-mode="pro"] .auth-brand img,
html[data-ui-mode="pro"] .legal-brand img { filter: brightness(0) saturate(100%) invert(11%) sepia(27%) saturate(1610%) hue-rotate(174deg) brightness(90%); }
html[data-ui-mode="pro"] .auth-brand > span { font: 500 21px/1 "Source Serif 4", Georgia, serif; }
html[data-ui-mode="pro"] .auth-brand b { font-weight: 500; }
html[data-ui-mode="pro"] .auth-brand small { color: var(--gf-pro-muted); font-weight: 450; font-size: 9px; }
html[data-ui-mode="pro"] .auth-index { color: var(--gf-pro-wine); }
html[data-ui-mode="pro"] .auth-promise h1 { font: 550 clamp(28px,3.3vw,43px)/1.15 Inter, Arial, sans-serif; letter-spacing: -.035em; }
html[data-ui-mode="pro"] .auth-promise h1 em { color: var(--gf-pro-wine); }
html[data-ui-mode="pro"] :is(.auth-promise > p, .auth-legal, .signup-zero span) { color: var(--gf-pro-muted); }
html[data-ui-mode="pro"] :is(.auth-promise ul, .auth-promise li, .signup-zero) { border-color: var(--gf-pro-line); }
html[data-ui-mode="pro"] .auth-promise li { font: 450 13px/1.45 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .auth-promise li i { color: var(--gf-pro-wine); }
html[data-ui-mode="pro"] .signup-zero strong { color: var(--gf-pro-ink); font: 550 48px/1 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .auth-form-panel { background: var(--gf-pro-paper); }
html[data-ui-mode="pro"] .auth-form-wrap h2 { font: 550 clamp(28px,3vw,37px)/1.15 Inter, Arial, sans-serif; letter-spacing: -.03em; }
html[data-ui-mode="pro"] .auth-form label { font-weight: 500; }
html[data-ui-mode="pro"] .auth-form :is(input, select) { height: 43px; }
html[data-ui-mode="pro"] .check-row input { height: 18px; width: 18px; }
html[data-ui-mode="pro"] .prototype-note { border: 1px solid var(--gf-pro-line); border-left: 2px solid var(--gf-gold); }
html[data-ui-mode="pro"] :is(.auth-submit, .google-auth-button) { min-height: 43px; font-weight: 500; }
html[data-ui-mode="pro"] .google-auth-button { box-shadow: none; }
html[data-ui-mode="pro"] .auth-dialog h2 { font: 550 25px/1.25 Inter, Arial, sans-serif; }

/* Informations, aide, assistance : navigation et formulaires compacts. */
html[data-ui-mode="pro"] .legal-topbar { height: 2px; background: var(--gf-pro-wine); }
html[data-ui-mode="pro"] .legal-header { color: var(--gf-pro-ink); background: #fff; border-bottom: 1px solid var(--gf-pro-line); }
html[data-ui-mode="pro"] .legal-header-inner { min-height: 65px; }
html[data-ui-mode="pro"] .legal-brand strong { font: 500 20px/1 "Source Serif 4", Georgia, serif; }
html[data-ui-mode="pro"] .legal-brand small { color: var(--gf-pro-muted); font-weight: 450; font-size: 9px; }
html[data-ui-mode="pro"] .legal-header-actions a { color: var(--gf-pro-ink); font-weight: 450; }
html[data-ui-mode="pro"] .legal-header-actions a:hover,
html[data-ui-mode="pro"] .legal-header-actions a:focus-visible { color: var(--gf-pro-blue); background: var(--gf-pro-soft); }
html[data-ui-mode="pro"] .legal-hero { padding: 34px 0 25px; }
html[data-ui-mode="pro"] .legal-hero h1 { font: 550 clamp(27px,3.6vw,42px)/1.2 Inter, Arial, sans-serif; letter-spacing: -.03em; }
html[data-ui-mode="pro"] .legal-hero p { font-size: 14px; }
html[data-ui-mode="pro"] .legal-layout { grid-template-columns: 238px minmax(0,1fr); gap: 24px; padding-top: 25px; }
html[data-ui-mode="pro"] :is(.legal-nav, .legal-card) { box-shadow: none; border-color: var(--gf-pro-line); }
html[data-ui-mode="pro"] .legal-nav a { font-size: 12px; font-weight: 450; }
html[data-ui-mode="pro"] .legal-nav a.active { background: #eaf1f4; color: var(--gf-pro-blue); border-left: 2px solid var(--gf-pro-blue); }
html[data-ui-mode="pro"] .legal-card { padding: clamp(20px,3vw,30px); }
html[data-ui-mode="pro"] .legal-card h2 { font: 550 24px/1.25 Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .legal-card h3 { font-size: 15px; font-weight: 550; }
html[data-ui-mode="pro"] .legal-card :is(strong, b) { font-weight: 550; }
html[data-ui-mode="pro"] .help-topic-grid button { min-height: 60px; }
html[data-ui-mode="pro"] .help-faq-list summary { padding: 14px 3px; font-weight: 500; }
html[data-ui-mode="pro"] .support-hub > .help-section-heading { padding: 22px 25px 18px; }
html[data-ui-mode="pro"] .support-panel { padding: 22px 25px 26px; }
html[data-ui-mode="pro"] :is(.support-tabs button, .support-form label, .support-refresh) { font-weight: 500; }

/* Pages utilitaires : résultats de paiement et consultation en lecture seule. */
html[data-ui-mode="pro"] .payment-card { padding: 31px; box-shadow: none; border-top-width: 2px; }
html[data-ui-mode="pro"] .payment-card h1,
html[data-ui-mode="pro"] .return-card h1,
html[data-ui-mode="pro"] .intro h1,
html[data-ui-mode="pro"] .error-card h1 { font: 550 clamp(26px,3vw,37px)/1.2 Inter, Arial, sans-serif; letter-spacing: -.03em; }
html[data-ui-mode="pro"] .payment-card .brand,
html[data-ui-mode="pro"] .return-card .brand { margin-bottom: 29px; }
html[data-ui-mode="pro"] .return-card { padding: 34px; border-top-width: 2px; box-shadow: none; }
html[data-ui-mode="pro"] .payment-options button { min-height: 110px; }
html[data-ui-mode="pro"] .payment-options button strong { font: 550 16px Inter, Arial, sans-serif; }
html[data-ui-mode="pro"] .payment-grid > :is(form, aside),
html[data-ui-mode="pro"] .error-card,
html[data-ui-mode="pro"] .confirmation-shell { box-shadow: none; }
html[data-ui-mode="pro"] .topbar { min-height: 48px; color: var(--gf-pro-ink); background: #fff; border-bottom: 1px solid var(--gf-pro-line); }
html[data-ui-mode="pro"] .topbar a { color: var(--gf-pro-ink); }
html[data-ui-mode="pro"] .topbar :is(span, b) { font-weight: 500; }
html[data-ui-mode="pro"] .topbar b { border-color: var(--gf-pro-line); }
html[data-ui-mode="pro"] .hero h1 { max-width: none; }
html[data-ui-mode="pro"] .kpis strong { font-size: 23px; font-weight: 550; }
html[data-ui-mode="pro"] .panel h2 { font-size: 18px; font-weight: 550; }

@media (max-width: 1040px) {
  html[data-ui-mode="pro"] .mega-menu { top: auto; }
  html[data-ui-mode="pro"] .hero-grid { min-height: 0; }
}
@media (max-width: 900px) {
  html[data-ui-mode="pro"] .auth-layout { grid-template-columns: 1fr; }
  html[data-ui-mode="pro"] .auth-brand-panel { min-height: 310px; border-right: 0; border-bottom: 1px solid var(--gf-pro-line); }
  html[data-ui-mode="pro"] .auth-promise { margin: 40px 0 15px; }
}
@media (max-width: 850px) {
  html[data-ui-mode="pro"] .legal-layout { grid-template-columns: 1fr; }
  html[data-ui-mode="pro"] .legal-header-inner { min-height: 60px; }
}
@media (max-width: 720px) {
  html[data-ui-mode="pro"] .section { padding: 53px 0; }
  html[data-ui-mode="pro"] .hero-grid { padding-top: 35px; padding-bottom: 35px; }
  html[data-ui-mode="pro"] .hero h1 { font-size: clamp(29px,7vw,39px); }
  html[data-ui-mode="pro"] .section-header { gap: 15px; }
  html[data-ui-mode="pro"] .detail-content { padding: 23px; }
  html[data-ui-mode="pro"] .auth-brand-panel { min-height: 265px; }
  html[data-ui-mode="pro"] .auth-promise h1 { font-size: 30px; }
  html[data-ui-mode="pro"] .legal-card { padding: 20px 18px; }
}
