/**
 * Styles partagés — charger après le fichier de thème (ex. themes/hybrid-hq.css).
 * Les tokens de couleur / typo vivent dans themes/*.css sous .theme-*.
 */

.theme-hybrid-hq .material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.theme-hybrid-hq .hero-text-shadow {
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
}

.theme-hybrid-hq .sharp-edge {
  border-radius: 0 !important;
}

.theme-hybrid-hq .btn-primary-hq {
  background: linear-gradient(
    135deg,
    var(--hq-btn-gradient-start) 0%,
    var(--hq-btn-gradient-end) 100%
  );
  box-shadow: 0 0 0 1px var(--hq-btn-shadow);
}

.theme-hybrid-hq .btn-primary-hq:hover {
  filter: brightness(1.06);
  box-shadow: 0 0 24px var(--hq-btn-hover-shadow);
}

.theme-hybrid-hq .row-tonal {
  background: var(--hq-row-tonal-bg);
}

/* HybridHQ v2 — boutons, ombres, lignes du comparatif */
.theme-hybrid-hq-v2 .material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.theme-hybrid-hq-v2 .hero-text-shadow {
  text-shadow: 0 2px 24px rgba(15, 23, 42, 0.45);
}

.theme-hybrid-hq-v2 .btn-primary-hq {
  background: linear-gradient(
    135deg,
    var(--hq-btn-gradient-start) 0%,
    var(--hq-btn-gradient-end) 100%
  );
  box-shadow: 0 0 0 1px var(--hq-btn-shadow);
  border-radius: 0.75rem;
}

.theme-hybrid-hq-v2 .btn-primary-hq:hover {
  filter: brightness(1.05);
  box-shadow: 0 8px 28px var(--hq-btn-hover-shadow);
}

.theme-hybrid-hq-v2 .hq-compare-highlight {
  background: linear-gradient(
    90deg,
    rgb(16 185 129 / 14%) 0%,
    rgb(16 185 129 / 4%) 100%
  );
  box-shadow: inset 4px 0 0 0 rgb(5 150 105);
}

.theme-hybrid-hq-v2 .hq-compare-col-hybrid {
  background: var(--hq-col-hybrid-bg);
  box-shadow: inset 0 0 0 1px var(--hq-col-hybrid-border);
}

/* HybridHQ WP / Elementor — mêmes utilitaires que v2, typo Poppins + Playfair */
.theme-hybrid-hq-wp .material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.theme-hybrid-hq-wp .hero-text-shadow {
  text-shadow: 0 2px 24px rgba(15, 23, 42, 0.45);
}

.theme-hybrid-hq-wp .btn-primary-hq {
  background: linear-gradient(
    135deg,
    var(--hq-btn-gradient-start) 0%,
    var(--hq-btn-gradient-end) 100%
  );
  box-shadow: 0 0 0 1px var(--hq-btn-shadow);
  border-radius: 0.5rem;
}

.theme-hybrid-hq-wp .btn-primary-hq:hover {
  filter: brightness(1.05);
  box-shadow: 0 8px 28px var(--hq-btn-hover-shadow);
}

.theme-hybrid-hq-wp .hq-compare-highlight {
  background: linear-gradient(
    90deg,
    rgb(16 185 129 / 14%) 0%,
    rgb(16 185 129 / 4%) 100%
  );
  box-shadow: inset 4px 0 0 0 rgb(5 150 105);
}

.theme-hybrid-hq-wp .hq-compare-col-hybrid {
  background: var(--hq-col-hybrid-bg);
  box-shadow: inset 0 0 0 1px var(--hq-col-hybrid-border);
}


html.theme-hybrid-hq.dark body {
  font-family: var(--font-body);
  background-color: var(--color-background);
}

/* Hub choix de langue — <html class="dark theme-hybrid-hq hub-lang"> */
html.theme-hybrid-hq.hub-lang body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-body);
  color: var(--hq-hub-text);
  background: var(--hq-hub-bg);
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

html.theme-hybrid-hq.hub-lang .hub-card {
  background: var(--hq-hub-card);
  padding: 2rem 2.25rem;
  max-width: 24rem;
  text-align: center;
  box-shadow: 0 0 40px rgb(34 211 238 / 6%);
}

html.theme-hybrid-hq.hub-lang h1 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

html.theme-hybrid-hq.hub-lang .hub-brand {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--hq-hub-brand);
  margin-bottom: 1rem;
  letter-spacing: -0.04em;
}

html.theme-hybrid-hq.hub-lang .hub-card p {
  margin: 0 0 1.25rem;
  font-size: 0.9rem;
  color: var(--hq-hub-muted);
}

html.theme-hybrid-hq.hub-lang .hub-links {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

html.theme-hybrid-hq.hub-lang .hub-links a {
  display: block;
  padding: 0.85rem 1.25rem;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.85rem;
  border-radius: 0;
}

html.theme-hybrid-hq.hub-lang .hub-links a.hub-fr {
  color: var(--hq-hub-btn-fr-fg);
  background: linear-gradient(135deg, var(--hq-btn-gradient-start) 0%, var(--hq-btn-gradient-end) 100%);
}

html.theme-hybrid-hq.hub-lang .hub-links a.hub-fr:hover {
  filter: brightness(1.08);
  box-shadow: 0 0 24px var(--hq-btn-hover-shadow);
}

html.theme-hybrid-hq.hub-lang .hub-links a.hub-en {
  background: var(--hq-hub-btn-en-bg);
  color: var(--hq-hub-text);
  border: 1px solid var(--hq-hub-btn-en-border);
}

html.theme-hybrid-hq.hub-lang .hub-links a.hub-en:hover {
  border-color: rgb(138 235 255 / 35%);
  color: #fff;
}

/* Hub MVP — <html class="theme-mvp hub-lang"> */
html.theme-mvp.hub-lang body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-body);
  color: var(--mvp-hub-text);
  background: var(--mvp-hub-bg);
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

html.theme-mvp.hub-lang .hub-card {
  background: var(--mvp-hub-card);
  border: 2px solid var(--mvp-hub-border);
  padding: 2rem 2.25rem;
  max-width: 22rem;
  text-align: center;
}

html.theme-mvp.hub-lang h1 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
}

html.theme-mvp.hub-lang .hub-card p {
  margin: 0 0 1.25rem;
  font-size: 0.9rem;
  color: var(--mvp-hub-muted);
}

html.theme-mvp.hub-lang .hub-card .hub-lead-out {
  margin-bottom: 0.35rem;
}

html.theme-mvp.hub-lang .hub-card .hub-attrib {
  margin: 0 0 0.25rem;
  font-size: 0.78rem;
  color: var(--mvp-hub-muted);
}

html.theme-mvp.hub-lang .hub-card .hub-attrib[lang="en"] {
  margin-bottom: 1.25rem;
}

html.theme-mvp.hub-lang .hub-links {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

html.theme-mvp.hub-lang .hub-links a {
  display: block;
  padding: 0.85rem 1.25rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--mvp-hub-btn-fg);
  background: var(--mvp-hub-btn-bg);
  border: 3px solid var(--mvp-hub-btn-bg);
}

html.theme-mvp.hub-lang .hub-links a:hover {
  background: var(--wire-accent-hover);
  border-color: var(--wire-accent-hover);
}

html.theme-mvp.hub-lang .hub-links a.hub-secondary {
  background: var(--mvp-hub-btn-secondary-bg);
  color: var(--mvp-hub-btn-secondary-fg);
  border-color: var(--mvp-hub-btn-secondary-fg);
}

html.theme-mvp.hub-lang .hub-links a.hub-secondary:hover {
  background: var(--mvp-hub-bg);
}
