/* PF Hubs — raccords entre l'interface de passlord.net (hubs-passlord.css) et le gabarit de PF. */

/* Titres : la feuille de passlord.net réinitialisait les titres via #page-content, absent de PF. */
.pff-shell .hx h1, .pff-shell .hx h2, .pff-shell .hx h3 { padding: 0; border: 0; background: none; text-transform: none; letter-spacing: normal; font-family: var(--pf-font); color: var(--pf-ink); }
.pff-shell .hx-hero h1 { margin: 8px 0 6px; font-size: clamp(34px, 4.4vw, 52px); font-weight: 700; letter-spacing: -.045em; line-height: 1; }
.pff-shell .hx a { text-decoration: none; }
.pff-shell .hx .hx-btn--gold, .pff-shell .hx .hx-btn--ink { text-decoration: none; }
body.passlord-hubs-page.hx-page { background: var(--pf-cream); }

/* Pages de formulaires (annonce, création, réglages) */
.pff-shell .hubs-layout { padding-top: 12px; }
.pff-shell .hub-create__title, .pff-shell .hub-announce__title, .pff-shell .hub-settings__title { margin: 4px 0 8px; }
.pff-shell [data-hubs-errors] ul { margin: 6px 0 0; padding-left: 20px; }
.pff-shell .hub-settings__flash[hidden], .pff-shell .hub-announce__errors[hidden], .pff-shell .hub-create__errors[hidden] { display: none !important; }
.hub-create__hint[data-state="ok"] { color: #0F7A4B; }
.hub-create__hint[data-state="err"] { color: #B4232A; }
.hub-announcement__action { font: inherit; cursor: pointer; }

/* Message d'état après une action */
.hx-flash { margin: 0 0 14px; padding: 10px 14px; border-radius: var(--pf-r-md, 12px); font-weight: 600; border: 1px solid var(--pf-border, #ddd); background: var(--pf-white, #fff); }
.hx-flash--ok { border-color: #38B26E; background: rgba(56, 178, 110, .12); }
.hx-flash--err { border-color: #E5484D; background: rgba(229, 72, 77, .10); }

/* Accueil : la grille et le pied de page ne débordent jamais en mobile */
.pff-shell .hx { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 680px) {
    .pff-shell .hx-hero__side { justify-items: stretch; }
    .pff-shell .hx-hero__side .hx-btn { min-width: 0; width: 100%; }
}

/* Teintes des bannières et pastilles sans image (déclarations de variables que l'extraction de passlord.net n'emporte pas) */
.hx-tone-0 { --hx-tone: #1B2A86; --hx-tone-2: #3B5BDB; }
.hx-tone-1 { --hx-tone: #B4232A; --hx-tone-2: #F0643C; }
.hx-tone-2 { --hx-tone: #0F7A4B; --hx-tone-2: #38B26E; }
.hx-tone-3 { --hx-tone: #5B2A9E; --hx-tone-2: #9B5DE5; }
.hx-tone-4 { --hx-tone: #9A6A00; --hx-tone-2: #F2B705; }
.hx-tone-5 { --hx-tone: #0B6E99; --hx-tone-2: #2BB0E3; }
/* Logo sans image sur la page d'un hub : pastille colorée (passlord.net la laissait blanche, initiales invisibles). */
.hx-hub__logo--initials { background: linear-gradient(135deg, var(--hx-tone), var(--hx-tone-2)); border-color: var(--pf-white); }

/* Cases et boutons radio : sur une ligne avec leur libellé (le gabarit de PF les empilait). */
.pff-shell .hub-settings__card label:has(> input[type="radio"]),
.pff-shell .hub-announce__field--inline,
.pff-shell .hub-announce__options label,
.pff-shell .hub-create__radio { display: flex; align-items: center; gap: 8px; text-align: left; }
.pff-shell .hub-settings__card input[type="radio"], .pff-shell .hub-announce__field--inline input, .pff-shell .hub-announce__options input { width: auto; flex: none; margin: 0; }
.pff-shell .hub-announce__field--inline span { font-weight: 400; }
