/* =========================================================
   kstr — pages publiques « éditoriales » (1.79)
   Accueil, tarifs, inscription, connexion, Solidaire, STEALTH,
   démo, guide des tarifs, apporteur, blog, pages légales.
   Chargée quand <body> porte la classe « pub » (includes/header.php).
   Nuit par défaut (couleurs de la story « kstr is casting »),
   jour quand le visiteur ou son système choisit le clair.
   Pleine largeur sur ordinateur, marges proportionnelles.
   ========================================================= */

@font-face { font-family: "Inter kstr"; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(../fonts/inter-latin-opsz-normal.woff2) format("woff2-variations"), url(../fonts/inter-latin-opsz-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter kstr"; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(../fonts/inter-latin-ext-opsz-normal.woff2) format("woff2-variations"), url(../fonts/inter-latin-ext-opsz-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Couleurs : nuit */
body.pub {
  --h-bg: #13072e; --h-ink: #ffffff; --h-soft: #d9d0f5; --h-mute: #9b8fc4; --h-line: rgba(255, 255, 255, .14);
  --h-acc: #c4b5fd; --h-live: #4ade80; --h-panel: #24104f; --h-door: #c4b5fd; --h-door-ink: #12062b; --h-door-soft: #2e1065; --h-k: #4ade80; --h-stealth: #000;
  --h-sans: "Inter kstr", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --h-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;
  /* en-tête et pied de page du site, aux couleurs de l'accueil */
  --bg: var(--h-bg); --text: var(--h-ink); --muted: var(--h-mute); --border: var(--h-line);
  --header-bg: rgba(19, 7, 46, .88); --footer-bg: #0b0320; --card: #1d0b45; --primary-soft: rgba(196, 181, 253, .14);
  background: var(--h-bg); color: var(--h-ink);
}
/* Couleurs : jour (choisi par le visiteur, ou système en clair sans choix) */
:root[data-theme="light"] body.pub {
  --h-bg: #ffffff; --h-ink: #12062b; --h-soft: #3b2a66; --h-mute: #6f6492; --h-line: rgba(18, 6, 43, .12);
  --h-acc: #6d28d9; --h-panel: #f3eeff; --h-door: #6d28d9; --h-door-ink: #ffffff; --h-door-soft: #ede9fe; --h-k: #15803d; --h-stealth: #12062b;
  --header-bg: rgba(255, 255, 255, .9); --footer-bg: #12062b; --card: #ffffff; --primary-soft: #f1eafe;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) body.pub {
    --h-bg: #ffffff; --h-ink: #12062b; --h-soft: #3b2a66; --h-mute: #6f6492; --h-line: rgba(18, 6, 43, .12);
    --h-acc: #6d28d9; --h-panel: #f3eeff; --h-door: #6d28d9; --h-door-ink: #ffffff; --h-door-soft: #ede9fe; --h-k: #15803d; --h-stealth: #12062b;
    --header-bg: rgba(255, 255, 255, .9); --footer-bg: #12062b; --card: #ffffff; --primary-soft: #f1eafe;
  }
}

/* Gouttière fluide et couleurs du site réalignées sur l'éditorial */
body.pub {
  --h-gut: clamp(20px, 4.2vw, 88px);
  --primary: var(--h-acc); --primary-dark: var(--h-acc); --primary-bg: var(--h-door);
  --grad: linear-gradient(var(--h-acc), var(--h-acc)); --surface-pink: var(--h-panel); --surface-2: var(--h-panel); --surface-3: var(--h-panel);
  --radius: 6px; --radius-sm: 4px; --shadow: none; --shadow-lg: none;
  font-family: var(--h-sans); -webkit-font-smoothing: antialiased;
}
body.pub main { background: var(--h-bg); }

/* Conteneurs pleine largeur (textes longs gardés à une largeur de lecture) */
body.pub .container { max-width: none; padding: 0 var(--h-gut); }
body.pub .container.narrow, body.pub .narrow { max-width: calc(820px + 2 * var(--h-gut)); }
body.pub .auth-card { max-width: 520px; }

/* En-tête et pied de page */
body.pub .site-header { border-bottom-color: var(--h-line); }
body.pub .logo-mark { background: var(--h-acc); color: var(--h-bg); border-radius: 8px; }
body.pub .logo-baseline { color: var(--h-mute); border-color: var(--h-line); }
body.pub .nav-links > a.active { color: var(--h-acc); background: transparent; }
body.pub .site-header .btn-primary { background: var(--h-acc); border-color: var(--h-acc); color: var(--h-bg); box-shadow: none; }
body.pub .site-footer { margin-top: 0; border-top: 1px solid var(--h-line); }
body.pub .site-footer h4 { font-family: var(--h-mono); font-weight: 400; letter-spacing: .1em; font-size: 12px; }
body.pub .footer-baseline { background: none; color: var(--h-acc); -webkit-text-fill-color: currentColor; }
body.pub .footer-bottom { border-top: 0; background: linear-gradient(rgba(255, 255, 255, .12), rgba(255, 255, 255, .12)) no-repeat content-box top / 100% 1px; }

/* Titres : grands, serrés, alignés à gauche */
body.pub h1, body.pub h2, body.pub h3 { font-family: var(--h-sans); color: var(--h-ink); }
body.pub h1, body.pub .hero-title { font-weight: 900; letter-spacing: -.045em; line-height: .95; }
body.pub h2 { font-weight: 800; letter-spacing: -.035em; line-height: 1.02; }
body.pub .hero h1, body.pub .hero .hero-title { font-size: clamp(48px, 7vw, 150px); max-width: 12em; }
body.pub .hero h1 .grad, body.pub .hero .hero-title .grad, body.pub .grad, body.pub .grad-sol, body.pub .grad-stealth { background: none; -webkit-text-fill-color: currentColor; color: var(--h-acc); }
body.pub .page-head { padding: clamp(48px, 7vw, 110px) 0 clamp(28px, 3vw, 48px); border-bottom: 1px solid var(--h-line); margin-bottom: 40px; }
body.pub .page-head h1 { font-size: clamp(44px, 6vw, 120px); }
body.pub .page-head p, body.pub .lead, body.pub .section-head p { color: var(--h-soft); }
body.pub .section-head { text-align: left; max-width: none; margin: 0 0 50px; display: grid; grid-template-columns: minmax(180px, 22%) 1fr; column-gap: 40px; }
body.pub .section-head .eyebrow { grid-row: 1 / span 2; padding-top: 14px; }
body.pub .section-head h2 { font-size: clamp(38px, 4.4vw, 96px); margin: 0; }
body.pub .section-head p { grid-column: 2; max-width: 760px; margin-top: 18px; }
body.pub .center .section-head, body.pub .section-head.center { text-align: left; }

/* Petites étiquettes en police technique, sans pastille */
body.pub .eyebrow { font-family: var(--h-mono); font-weight: 400; font-size: 12px; letter-spacing: .1em; color: var(--h-mute) !important; background: none; padding: 0; border: 0; }
body.pub .hero .lead { font-size: clamp(18px, 1.4vw, 24px); max-width: 640px; }

/* Ouvertures de page (Solidaire, STEALTH…) : fond uni, filets */
body.pub .hero { background: var(--h-bg); padding: clamp(56px, 7vw, 120px) 0 clamp(48px, 6vw, 100px); border-bottom: 1px solid var(--h-line); }
body.pub .hero-proof { border-top: 1px solid var(--h-line); padding-top: 22px; gap: 48px; }
body.pub .hero-proof strong { font-size: clamp(28px, 2.6vw, 48px); letter-spacing: -.03em; font-weight: 800; }
body.pub .hero-proof span { color: var(--h-mute); }

/* Sections */
body.pub .section { padding: clamp(64px, 7vw, 120px) 0; border-bottom: 1px solid var(--h-line); }
body.pub .section-alt { background: var(--h-bg); border-top: 0; }

/* Cartes : panneaux à filet, sans ombre ni arrondi marqué */
body.pub .card { background: transparent; border: 1px solid var(--h-line); border-radius: 6px; box-shadow: none; }
body.pub .card h3 { font-weight: 700; letter-spacing: -.02em; }
body.pub .muted { color: var(--h-mute); }
/* plus d'icônes émojis : un numéro discret à la place */
body.pub .grid { counter-reset: pubcard; }
body.pub .feature-icon { font-size: 0; width: auto; height: auto; background: none; border-radius: 0; margin-bottom: 18px; display: block; }
body.pub .feature-icon::before { counter-increment: pubcard; content: counter(pubcard, decimal-leading-zero); font-family: var(--h-mono); font-size: 13px; color: var(--h-acc); letter-spacing: .08em; }
body.pub .step::before { background: none; color: var(--h-acc); font-family: var(--h-mono); font-size: 13px; width: auto; height: auto; place-items: start; content: counter(step, decimal-leading-zero); }

/* Listes cochées → filets, sans pastilles vertes */
body.pub .checklist li { padding: 12px 0 12px 30px; margin: 0; border-top: 1px solid var(--h-line); }
body.pub .checklist li::before { background: none; color: var(--h-acc); top: 13px; width: auto; height: auto; font-size: 13px; }

/* Blocs marques / créateurs */
body.pub .audience { border-radius: 0; background: transparent; border: 0; border-top: 1px solid var(--h-line); padding: 40px 0; color: var(--h-ink); }
body.pub .audience.brand { background: transparent; color: var(--h-ink); }
body.pub .audience.brand li, body.pub .audience.brand .muted { color: var(--h-soft); }
body.pub .split { gap: clamp(40px, 5vw, 100px); }

/* Boutons : à plat, angles doux */
body.pub .btn { border-radius: 4px; box-shadow: none; font-weight: 700; background: transparent; border-color: var(--h-line); color: var(--h-ink); }
body.pub .btn:hover { border-color: var(--h-acc); }
body.pub .btn-primary, body.pub .btn-dark { background: var(--h-acc); border-color: var(--h-acc); color: var(--h-bg); }
body.pub .btn-primary:hover { box-shadow: none; filter: brightness(1.08); }
body.pub .btn-white { background: var(--h-ink); color: var(--h-bg); border-color: var(--h-ink); }
body.pub .btn-outline-white { background: transparent; color: var(--h-ink); border-color: var(--h-line); }

/* Bandeau d'appel final : grand texte, pas de dégradé */
body.pub .cta-band { background: transparent; color: var(--h-ink); border-radius: 0; border-top: 1px solid var(--h-line); text-align: left; padding: clamp(56px, 7vw, 120px) 0; }
body.pub .cta-band h2 { font-size: clamp(44px, 7vw, 150px); font-weight: 900; letter-spacing: -.05em; line-height: .92; max-width: 14em; }
body.pub .cta-band p { color: var(--h-soft); opacity: 1; }
body.pub .cta-band .flex { justify-content: flex-start !important; }

/* Questions : filets ouverts */
body.pub .faq details { background: transparent; border: 0; border-top: 1px solid var(--h-line); border-radius: 0; padding: 20px 0; margin: 0; }
body.pub .faq summary { font-size: 19px; }
body.pub .faq summary::after { color: var(--h-acc); }
body.pub .faq details p { color: var(--h-soft); }

/* Formulaires */
body.pub input[type=text], body.pub input:not([type]), body.pub input[type=email], body.pub input[type=password], body.pub input[type=number], body.pub input[type=url], body.pub input[type=tel], body.pub input[type=date], body.pub select, body.pub textarea {
  background: transparent; color: var(--h-ink); border: 1px solid var(--h-line); border-radius: 4px; }
body.pub input:focus, body.pub select:focus, body.pub textarea:focus { border-color: var(--h-acc); box-shadow: 0 0 0 3px rgba(196, 181, 253, .18); }
body.pub select option { background: var(--h-bg); color: var(--h-ink); }
body.pub label, body.pub .form-group > span { color: var(--h-ink); }
body.pub .hint { color: var(--h-mute); }
body.pub .auth-card { background: transparent; border: 0; padding: 0; margin-top: clamp(48px, 6vw, 96px); }
body.pub .auth-card h1 { font-size: clamp(40px, 4vw, 64px); }

/* Badges et tableaux */
body.pub .badge-grad, body.pub .pop-badge { background: var(--h-acc); color: var(--h-bg); }
body.pub .table th { font-family: var(--h-mono); font-weight: 400; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--h-mute); background: transparent; }
body.pub .table td, body.pub .table th { border-color: var(--h-line); }

@media (max-width: 700px) {
  body.pub .section-head { grid-template-columns: 1fr; }
  body.pub .section-head .eyebrow { grid-row: auto; padding-top: 0; margin-bottom: 8px; }
  body.pub .section-head p { grid-column: 1; }
}

/* Ajustements par page */
body.pub .grid.steps, body.pub .steps.grid { counter-reset: step pubcard; }
body.pub .narrow .section-head, body.pub .section-head:only-child { grid-template-columns: 1fr; }
body.pub .narrow .section-head .eyebrow { grid-row: auto; padding-top: 0; margin-bottom: 10px; }
body.pub .narrow .section-head p { grid-column: 1; }
body.pub .narrow .section-head h2 { font-size: clamp(36px, 3.6vw, 64px); }
body.pub .section-head h1 { font-size: clamp(44px, 6vw, 120px); margin: 0; }
body.pub .audience, body.pub .audience.brand, body.pub .audience.creator { background: transparent !important; color: var(--h-ink) !important; }
body.pub .stealth-band { background: var(--h-stealth) !important; border-radius: 0 !important; border: 0; box-shadow: none; }
body.pub .stealth-band, body.pub .stealth-band h2, body.pub .stealth-band strong { color: #fff; }
body.pub .stealth-band-points > * { background: transparent !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .18) !important; border-radius: 0 !important; }
/* Inscription / connexion : grand titre à gauche, formulaire en colonne de lecture */
body.pub .auth-card { max-width: none; margin: 0; padding: clamp(48px, 6vw, 110px) 0 clamp(56px, 6vw, 110px); }
body.pub .auth-card > h1 { font-size: clamp(48px, 7vw, 150px); padding-bottom: clamp(20px, 2vw, 36px); border-bottom: 1px solid var(--h-line); margin-bottom: 28px; }
body.pub .auth-card > :not(h1) { max-width: 560px; }
body.pub .auth-card .center { text-align: left; }
body.pub .role-picker label, body.pub .role-picker > * { border-radius: 4px; }
body.pub .narrow .cta-band h2, body.pub .narrow h2 { font-size: clamp(36px, 3.6vw, 64px); }
body.pub .stealth-band .btn-white, body.pub .h3-stealth .btn-white { background: #fff; color: #12062b; border-color: #fff; }
body.pub .stealth-band .btn-outline-white { color: #fff; border-color: rgba(255, 255, 255, .3); }
body.pub .h3-door-c h2 { color: var(--h-door-ink); }
body.pub .h3-stealth h2 { color: #fff; }
/* 1.79.4 : formulaires d'inscription / connexion centrés sous le grand titre (titre à gauche) */
body.pub .auth-card > :not(h1) { margin-left: auto; margin-right: auto; }
