/**
 * TACRION — ClubPlanner-inspired marketing site theme
 * Preserves text, URLs, SEO — design only
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@700;800;900&display=swap');

:root {
  --cp-radius: 20px;
  --cp-radius-sm: 12px;
  --cp-radius-pill: 999px;
}

/* ── Navigation ClubPlanner style ── */
#tn-nav {
  background: #000000 !important;
  border-bottom: none !important;
  height: 72px !important;
  padding: 0 clamp(20px, 4vw, 48px) !important;
}

#tn-nav .tn-logo-text {
  font-family: 'Inter Tight', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

#tn-nav ul a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  color: rgba(255,255,255,0.75) !important;
}

#tn-nav ul a:hover, #tn-nav ul a.active {
  color: #fff !important;
}

#tn-nav .tn-btn {
  border-radius: var(--cp-radius-pill) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  padding: 10px 20px !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  color: #fff !important;
}

#tn-nav .tn-btn-amber {
  background: var(--accent, #c8a85a) !important;
  border-color: var(--accent, #c8a85a) !important;
  color: #1a1a1a !important;
}

#tn-nav .tn-btn-amber:hover {
  background: var(--accent2, #e8c878) !important;
  border-color: var(--accent2, #e8c878) !important;
}

#tn-nav .tn-dropdown-menu {
  border-radius: var(--cp-radius-sm) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
  background: #111 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  overflow: hidden;
}

/* ── Legacy .nav (index.html inline) ── */
.ticker {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10040 !important;
  height: 32px !important;
}

.nav {
  z-index: 10050 !important;
  top: 32px !important;
  background: rgba(8, 9, 12, 0.92) !important;
  backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--border, #1c2030) !important;
  transition: background 0.25s ease !important;
  height: auto !important;
  min-height: 72px !important;
  overflow: visible !important;
}

.nav.scrolled {
  top: 32px !important;
  background: rgba(8, 9, 12, 0.98) !important;
}

/* Contenu ne passe jamais au-dessus du header */
section,
.cta-final,
.footer,
.terminal,
.security-grid,
.security-item {
  position: relative;
  z-index: 1;
}

.nav-links a {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.06em !important;
}

.btn, .btn-primary, .btn-ghost {
  border-radius: var(--cp-radius-pill) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  padding: 12px 28px !important;
}

.btn-primary {
  background: var(--accent, #c8a85a) !important;
  color: #1a1a1a !important;
}

.btn-ghost {
  background: transparent !important;
  border: 1px solid var(--border2, #252a38) !important;
  color: var(--text2, #a0a8b8) !important;
}

.btn-ghost:hover {
  border-color: #fff !important;
  color: #fff !important;
}

/* ── Hero ── */
.hero-title {
  font-family: 'Inter Tight', 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

.hero-eyebrow {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
}

.hero-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
}

.hero-cta .btn {
  min-width: 160px;
  justify-content: center;
}

/* ── Sections ── */
.section-title {
  font-family: 'Inter Tight', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}

.section-label {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
}

section {
  padding: 100px 0 !important;
}

/* ── Module cards ── */
.modules-grid {
  gap: 24px !important;
  background: transparent !important;
  grid-template-columns: repeat(3, 1fr) !important;
}

.module-card {
  border-radius: var(--cp-radius) !important;
  border: 1px solid var(--border, #1c2030) !important;
  background: var(--bg2, #0d0f14) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.2) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.module-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3) !important;
}

.module-name {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.06em !important;
}

.module-tagline {
  font-family: 'Inter Tight', sans-serif !important;
  font-weight: 700 !important;
}

/* ── Security / feature grids ── */
.security-grid {
  gap: 24px !important;
  background: transparent !important;
}

.security-item {
  border-radius: var(--cp-radius) !important;
  border: 1px solid var(--border) !important;
}

/* ── CTA blocks ── */
.cta-final {
  gap: 24px !important;
  background: transparent !important;
}

.cta-block {
  border-radius: var(--cp-radius) !important;
  overflow: hidden;
}

.cta-block-title {
  font-family: 'Inter Tight', sans-serif !important;
  text-transform: none !important;
}

/* ── Footer ── */
.footer {
  background: #030406 !important;
  border-top: 1px solid var(--border, #1c2030) !important;
}

.footer-logo {
  font-family: 'Inter Tight', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
}

/* ── Modals ── */
.modal-box {
  border-radius: var(--cp-radius) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.5) !important;
}

.modal-title {
  font-family: 'Inter Tight', sans-serif !important;
  text-transform: none !important;
}

.form-input {
  border-radius: 8px !important;
  background: var(--bg, #08090c) !important;
}

.form-label {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}

/* ── Page hero (inner pages) ── */
.page-hero .section-title,
.page-hero h1 {
  font-family: 'Inter Tight', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
}

/* ── Floating demo widget (ClubPlanner style) — moved above with dark theme */

@media (max-width: 768px) {
  .cp-float-widget { display: none; }
  .modules-grid { grid-template-columns: 1fr !important; }
}

/* ══════════════════════════════════════════
   Toutes les pages intérieures (about, pricing, contact, legal, guide, locales)
   ══════════════════════════════════════════ */

/* Nav fixe — couleurs d'origine TACRION */
.nav,
.nav.scrolled,
.nav:not(:has(.nav-inner)) {
  z-index: 10000 !important;
  background: rgba(8, 9, 12, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--border, #1c2030) !important;
}

.nav.scrolled {
  top: 32px !important;
}

.nav-logo,
.nav-logo .wordmark {
  font-family: 'Inter Tight', 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}

.nav-links a,
.nav-dropdown-btn {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.nav-right .btn,
.nav-right .lang-switcher-btn {
  border-radius: var(--cp-radius-pill) !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  height: auto !important;
  min-height: 38px !important;
  padding: 10px 20px !important;
}

.nav-dropdown-menu {
  border-radius: var(--cp-radius-sm) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.35) !important;
  overflow: hidden !important;
}

/* Boutons globaux */
.btn-text {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
}

/* Page hero (about, modules, contact, pricing, legal…) */
.page-hero {
  padding: 140px 0 72px !important;
}

.page-hero .section-title {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
}

.breadcrumb,
.sector-tag {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sector-tag {
  display: inline-block;
  border-radius: var(--cp-radius-pill) !important;
  padding: 6px 14px !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}

.section-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* Pricing */
.plan-card,
.plans-grid .plan-card {
  border-radius: var(--cp-radius) !important;
  border: 1px solid var(--border, #1c2030) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.plan-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important;
}

.plan-card.featured {
  border-color: var(--accent, #c8a85a) !important;
}

.plans-grid {
  gap: 24px !important;
  background: transparent !important;
}

.sector-tabs,
.pricing-tabs {
  gap: 8px !important;
}

.sector-tab,
.pricing-tab,
.sector-btn {
  border-radius: var(--cp-radius-pill) !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
}

.sector-tab.active,
.pricing-tab.active,
.sector-btn.active {
  background: var(--accent, #c8a85a) !important;
  color: #1a1a1a !important;
}

/* FAQ */
.faq-item,
.faq-q {
  border-radius: var(--cp-radius-sm) !important;
}

.faq-q {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Contact & formulaires */
.contact-grid,
.form-grid,
.form-grid-2 {
  gap: 20px !important;
}

.contact-card,
.contact-info-card {
  border-radius: var(--cp-radius) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
}

/* Legal pages */
.page-hero.legal-hero {
  padding: calc(32px + var(--nav-h) + 24px) 0 40px !important;
}

.legal-section {
  padding: 48px 0 80px !important;
}

.legal-body .section,
.legal-body .alert,
.legal-meta {
  border-radius: var(--cp-radius-sm) !important;
}

.legal-body .section {
  border-left: none !important;
}

.legal-back {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--border, #1c2030);
  text-align: center;
}

.legal-content,
.prose,
.legal-body,
.privacy-content {
  font-family: 'Inter', sans-serif !important;
  line-height: 1.75 !important;
}

.legal-back .btn {
  min-width: 200px;
  justify-content: center;
}

.legal-content h2,
.prose h2 {
  font-family: 'Inter Tight', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
}

/* Solutions sectorielles */
.problem-card,
.use-case-card,
.module-pill,
.value-card,
.feature-block {
  border-radius: var(--cp-radius-sm) !important;
  border: 1px solid var(--border, #1c2030) !important;
}

.problems-grid,
.use-cases-grid,
.values-grid,
.modules-grid,
.value-grid,
.why-grid {
  gap: 20px !important;
  background: transparent !important;
}

.module-cell,
.value-item {
  border-radius: var(--cp-radius-sm) !important;
  border: 1px solid var(--border, #1c2030) !important;
}

.toggle-label,
.plan-cta,
.badge-save {
  border-radius: var(--cp-radius-pill) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

.sector-tabs {
  border-bottom: none !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.sector-btn {
  border: 1px solid var(--border2, #252a38) !important;
}

.why-card,
.compare-mini {
  border-radius: var(--cp-radius-sm) !important;
}

.why-grid {
  gap: 24px !important;
}

.cta-wrap {
  max-width: var(--max-w, 1200px) !important;
  margin: 0 auto !important;
  padding: 80px 40px !important;
}

.grid-3,
.grid-4 {
  gap: 24px !important;
  background: transparent !important;
}

.cell {
  border-radius: var(--cp-radius-sm) !important;
  border: 1px solid var(--border, #1c2030) !important;
}

/* Guide */
.guide-card,
.guide-nav-item,
.doc-card {
  border-radius: var(--cp-radius-sm) !important;
}

/* Tech / terminal */
.terminal {
  border-radius: var(--cp-radius-sm) !important;
}

/* Cookie banner */
#cookieBanner {
  z-index: 10050 !important;
  border-radius: 0 !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.4) !important;
}

body:has(#cookieBanner:not(.hidden)) footer {
  padding-bottom: 80px !important;
}

body:has(#cookieBanner:not(.hidden)) .cp-float-widget {
  bottom: 88px !important;
}

.cookie-btns .btn {
  border-radius: var(--cp-radius-pill) !important;
}

/* ── Floating demo widget — dark theme ── */
.cp-float-widget {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 10040;
  display: flex;
  align-items: center;
  background: var(--bg2, #0d0f14) !important;
  border: 1px solid var(--border, #1c2030) !important;
  border-radius: var(--cp-radius-pill);
  box-shadow: 0 4px 24px rgba(0,0,0,0.45);
  overflow: hidden;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

.cp-float-widget a {
  padding: 12px 20px;
  color: var(--text2, #a0a8b8) !important;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.cp-float-widget a:hover {
  background: var(--bg3, #12151c) !important;
  color: #fff !important;
}

.cp-float-widget .cp-divider {
  width: 1px;
  height: 24px;
  background: var(--border, #1c2030) !important;
}

/* Subscribe modal (tacrion-site.js) */
.subscribe-box,
#subscribeModal .subscribe-box {
  border-radius: var(--cp-radius) !important;
}

/* Photo sections */
.photo-section {
  border-radius: 0 !important;
}

/* Intel section label on index */
.intel-section-label .section-label {
  color: var(--accent) !important;
}
