/*
Theme Name: MindWare Child Theme
Theme URI: https://mindware.themerex.net/
Description: MindWare is a Premium WordPress theme that has built-in support for popular Page Builders, slider with swipe gestures, and is SEO- and Retina-ready. The unique system of inheritance and override options allows setting up individual parameters for different sections of your site and supported plugins.
Author: ThemeREX
Author URI: https://themerex.net/
Version: 1.11.0
Tested up to: 6.6
Requires PHP: 7.0+
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: ai, ai art generator, ai bots, AI chatgpt, ai gaming, ai generator, artificial intelligence, chat gpt bot, data science, deep learning, digital agency, machine learning, neural network, support bot, text to image generator
Text Domain: mindware
Template: mindware
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */

/* ============================================================
   OMNIO AI — Palette et variables
   (Complètent les variables du thème MindWare dark scheme)
   ============================================================ */
:root {
  --omn-primary:      #7B2FBE;
  --omn-primary-dark: #5a1fa0;
  --omn-primary-glow: rgba(123,47,190,0.25);
  --omn-accent:       #3B82F6;
  --omn-accent-dark:  #2563EB;
  --omn-bg:           #0D0E1A;
  --omn-navy:         #1a1a2e;
  --omn-card:         #14152a;
  --omn-card-border:  rgba(123,47,190,0.3);
  --omn-text:         #E8E9F3;
  --omn-text-mid:     #9899B8;
  --omn-text-muted:   #6B6C8A;
  --omn-radius:       14px;
  --omn-radius-sm:    8px;
  --omn-shadow:       0 8px 40px rgba(0,0,0,0.5);
  --omn-shadow-glow:  0 0 40px rgba(123,47,190,0.3);
}

/* ============================================================
   FULL-WIDTH — Libère le contenu Elementor de la contrainte 1290px
   ============================================================ */
/* Pages Elementor full-width : supprime la largeur max du content_wrap */
body.elementor-template-full-width .page_content_wrap .content_wrap,
body.elementor-template-full-width .page_content_wrap .content {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Header : libère aussi le content_wrap du bandeau nav */
.top_panel_navi .content_wrap {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: clamp(16px, 3vw, 48px) !important;
  padding-right: clamp(16px, 3vw, 48px) !important;
}

/* ============================================================
   HEADER — LAYOUT 3 COLONNES + SÉPARATEUR 85%
   ============================================================ */
.sc_layouts_row_type_normal {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: none !important;
  position: relative;
}

/* Hauteur compacte — padding réduit, logo 100px contrôle la hauteur */
.top_panel_navi .content_wrap {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* Séparateur 85% centré couleur claire */
.top_panel_navi.sc_layouts_row_type_normal::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
  height: 1px;
  background: rgba(232,233,243,0.10);
  pointer-events: none;
}

/* Logo centré — max 120px */
.top_panel_navi .sc_layouts_column_align_center {
  text-align: center;
}
.top_panel_navi .sc_layouts_column_align_center .sc_layouts_logo {
  display: inline-flex;
  justify-content: center;
}
.top_panel_navi .sc_layouts_logo img,
.top_panel_navi .sc_layouts_logo .custom-logo {
  max-height: 100px !important;
  width: auto !important;
  display: block;
}

/* Menu horizontal aligné à gauche */
.top_panel_navi .menu_main_nav_area > ul {
  justify-content: flex-start;
}

/* ── COULEUR + HOVER MENU ── */
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li > a,
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li > a span {
  color: #C4C6D8 !important;
  font-weight: 500;
}
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li > a {
  position: relative;
  text-decoration: none !important;
}
/* Barre animée en dessous */
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li > a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--omn-primary);
  transition: width 0.25s ease;
}
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li:hover > a::after,
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li.current-menu-item > a::after {
  width: 100%;
}
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li:hover > a,
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li:hover > a span {
  color: #fff !important;
}
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li.current-menu-item > a,
.top_panel_navi .menu_main_nav_area .sc_layouts_menu_nav > li.current-menu-item > a span {
  color: #fff !important;
}

/* Hamburger mobile aligné à droite */
.top_panel_navi .sc_layouts_column_align_right .sc_layouts_item {
  display: inline-block;
  vertical-align: middle;
}
.top_panel_navi .sc_layouts_column_align_right {
  text-align: right;
}

/* ============================================================
   ACCENT COULEUR — Surcharge thème avec palette Omnio
   ============================================================ */
a:not(.omn-btn):not(.sc_button):hover { color: var(--omn-primary); }

/* Couleur primaire sur les icônes TRX et liens thème */
.sc_icons_icon,
.trx_addons_icon:before,
.sc_icons_item .sc_icons_icon span { color: var(--omn-primary); }

/* Gradient sur titres accentués */
.theme_accent_text,
.sc_item_subtitle { color: var(--omn-primary); }

/* Boutons theme -> couleur Omnio */
.sc_button,
.sc_button_default {
  background-color: var(--omn-primary) !important;
  border-color: var(--omn-primary) !important;
}
.sc_button:hover,
.sc_button_default:hover {
  background-color: var(--omn-primary-dark) !important;
  border-color: var(--omn-primary-dark) !important;
}

/* ============================================================
   SECTIONS OMNIO — classes communes
   ============================================================ */
.omn-section {
  padding: clamp(64px, 8vw, 120px) clamp(16px, 5vw, 80px);
  max-width: 1200px;
  margin: 0 auto;
}

.omn-section-full {
  width: 100%;
  padding: clamp(64px, 8vw, 120px) 0;
}

.omn-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 80px);
}

.omn-section-dark {
  background: var(--omn-navy);
}

.omn-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--omn-primary);
  background: rgba(123,47,190,0.12);
  border: 1px solid rgba(123,47,190,0.3);
  border-radius: 100px;
  padding: 4px 14px;
  margin-bottom: 20px;
}

.omn-gradient-text {
  background: linear-gradient(135deg, var(--omn-primary), var(--omn-accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ============================================================
   HERO
   ============================================================ */
.omn-hero {
  min-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 10vw, 140px) clamp(16px, 5vw, 80px) clamp(60px, 8vw, 100px);
}

.omn-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(123,47,190,0.22) 0%, transparent 65%),
    radial-gradient(circle at 15% 60%, rgba(59,130,246,0.08) 0%, transparent 45%),
    radial-gradient(circle at 85% 30%, rgba(123,47,190,0.08) 0%, transparent 45%);
  pointer-events: none;
  z-index: 0;
}

.omn-hero-grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(123,47,190,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123,47,190,0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 0%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 0%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

.omn-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
}

.omn-hero .omn-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--omn-primary);
  background: rgba(123,47,190,0.1);
  border: 1px solid rgba(123,47,190,0.3);
  border-radius: 100px;
  padding: 6px 16px;
  margin-bottom: 32px;
}

.omn-hero h1 {
  font-size: clamp(2.6rem, 5.5vw, 4.2rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 0 28px;
}

.omn-hero p.lead {
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.75;
  margin: 0 auto 48px;
  max-width: 580px;
  opacity: 0.75;
}

.omn-btn-group {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================================
   BOUTONS
   ============================================================ */
.omn-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px 34px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none !important;
  transition: all 0.2s ease;
  cursor: pointer;
  border: none;
  font-family: inherit;
}

.omn-btn-primary {
  background: linear-gradient(135deg, var(--omn-primary), #9B4FDE);
  color: #fff !important;
  box-shadow: 0 4px 28px rgba(123,47,190,0.45);
}
.omn-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 36px rgba(123,47,190,0.6);
  color: #fff !important;
}

.omn-btn-secondary {
  background: transparent;
  color: var(--omn-text) !important;
  border: 1.5px solid rgba(232,233,243,0.2);
}
.omn-btn-secondary:hover {
  border-color: var(--omn-primary);
  background: rgba(123,47,190,0.08);
  color: var(--omn-text) !important;
}

/* ============================================================
   TRUST BAR — Compact (4 items en ligne, espacement réduit)
   ============================================================ */
.omn-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 28px;
  flex-wrap: wrap;
  padding: 12px clamp(16px,5vw,48px);
  border-top: 1px solid rgba(232,233,243,0.07);
  border-bottom: 1px solid rgba(232,233,243,0.07);
  margin-top: 32px;
}

.omn-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.76rem;
  opacity: 0.55;
  font-weight: 500;
  white-space: nowrap;
}

.omn-trust-item svg {
  flex-shrink: 0;
  color: var(--omn-primary);
  opacity: 0.9;
}

.omn-trust-item .icon {
  font-size: 0.9rem;
  opacity: 0.9;
}

/* ============================================================
   FEATURE CARDS — Structure MindWare .sc_icons_item + custom
   ============================================================ */
.omn-features-wrap {
  padding: clamp(64px, 8vw, 100px) clamp(16px, 5vw, 80px);
}

.omn-features-wrap .sc_icons {
  margin-top: 48px;
}

/* Personnalisation des cards TRX sc_icons_item pour Omnio */
.omn-features-wrap .sc_icons_item {
  padding: 36px 32px;
  border: 1px solid rgba(123,47,190,0.2);
  border-radius: 14px;
  background: rgba(20,21,42,0.6);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  overflow: hidden;
}

.omn-features-wrap .sc_icons_item::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--omn-primary), var(--omn-accent));
  opacity: 0;
  transition: opacity 0.25s ease;
}

.omn-features-wrap .sc_icons_item:hover {
  transform: translateY(-6px);
  border-color: rgba(123,47,190,0.45);
  box-shadow: 0 0 40px rgba(123,47,190,0.25);
}

.omn-features-wrap .sc_icons_item:hover::before { opacity: 1; }

.omn-features-wrap .sc_icons_icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  margin-bottom: 24px;
  background: rgba(123,47,190,0.15);
  border: 1px solid rgba(123,47,190,0.25);
}

.omn-features-wrap .sc_icons_icon.accent {
  background: rgba(59,130,246,0.12);
  border-color: rgba(59,130,246,0.25);
}

.omn-features-wrap .sc_icons_item_title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 12px;
}

.omn-features-wrap .sc_icons_item_description {
  font-size: 0.925rem;
  line-height: 1.7;
  opacity: 0.65;
}

/* ============================================================
   HOW IT WORKS — STEPS
   ============================================================ */
.omn-steps-wrap {
  padding: clamp(64px, 8vw, 100px) clamp(16px, 5vw, 80px);
}

.omn-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
  margin-top: 56px;
  position: relative;
}

.omn-steps::before {
  content: '';
  position: absolute;
  top: 36px;
  left: calc(16.67% + 28px);
  right: calc(16.67% + 28px);
  height: 1px;
  background: linear-gradient(90deg, var(--omn-primary), var(--omn-accent));
  opacity: 0.3;
}

.omn-step {
  text-align: center;
  padding: 0 24px;
}

.omn-step-num {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--omn-primary), #9B4FDE);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 900;
  color: #fff;
  margin: 0 auto 24px;
  position: relative;
  z-index: 2;
  box-shadow: 0 0 28px rgba(123,47,190,0.45);
}

.omn-step h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 10px;
}

.omn-step p {
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0;
  opacity: 0.65;
}

/* ============================================================
   AI ENGINES BAR
   ============================================================ */
.omn-engines-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 56px);
  flex-wrap: wrap;
  padding: clamp(32px,4vw,48px) clamp(16px,5vw,80px);
  border-top: 1px solid rgba(232,233,243,0.07);
  border-bottom: 1px solid rgba(232,233,243,0.07);
}

.omn-engines-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.45;
  font-weight: 600;
  white-space: nowrap;
}

.omn-engine-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  opacity: 0.55;
  transition: opacity 0.2s;
}

.omn-engine-item:hover { opacity: 0.85; }

.omn-engine-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--omn-primary);
  flex-shrink: 0;
}

/* ============================================================
   PRICING
   ============================================================ */
.omn-pricing-wrap {
  padding: clamp(64px, 8vw, 100px) clamp(16px, 5vw, 80px);
}

.omn-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
  gap: 24px;
  justify-content: center;
  margin-top: 56px;
}

.omn-plan {
  background: rgba(20,21,42,0.7);
  border: 1px solid rgba(123,47,190,0.2);
  border-radius: var(--omn-radius);
  padding: 40px 36px;
  position: relative;
  transition: transform 0.25s ease;
}

.omn-plan:hover { transform: translateY(-4px); }

.omn-plan.featured {
  border-color: var(--omn-primary);
  background: linear-gradient(160deg, rgba(30,16,64,0.9) 0%, rgba(20,21,42,0.9) 100%);
  box-shadow: 0 0 60px rgba(123,47,190,0.3);
}

.omn-plan-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, var(--omn-primary), var(--omn-accent));
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 18px;
  border-radius: 100px;
  white-space: nowrap;
}

.omn-plan-name {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--omn-primary);
  margin: 0 0 16px;
}

.omn-plan-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 0 0 6px;
}

.omn-plan-price .amount {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1;
}

.omn-plan-price .currency {
  font-size: 1.2rem;
  opacity: 0.6;
  font-weight: 600;
}

.omn-plan-price .period {
  font-size: 0.875rem;
  opacity: 0.45;
}

.omn-plan-tax {
  font-size: 0.8rem;
  opacity: 0.45;
  margin: 0 0 28px;
}

.omn-plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  border-top: 1px solid rgba(232,233,243,0.07);
  padding-top: 24px;
}

.omn-plan-features li {
  font-size: 0.9rem;
  opacity: 0.7;
  padding: 8px 0 8px 24px;
  position: relative;
  border-bottom: 1px solid rgba(232,233,243,0.04);
}

.omn-plan-features li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: var(--omn-primary);
  font-weight: 700;
  opacity: 1;
}

.omn-plan-features li.muted { opacity: 0.35; }
.omn-plan-features li.muted::before { color: currentColor; }

/* ============================================================
   CTA BANDE
   ============================================================ */
.omn-cta-section {
  padding: clamp(72px, 9vw, 120px) clamp(16px, 5vw, 80px);
  text-align: center;
  background: linear-gradient(135deg, rgba(123,47,190,0.14) 0%, rgba(59,130,246,0.1) 100%);
  border-top: 1px solid rgba(123,47,190,0.25);
  border-bottom: 1px solid rgba(123,47,190,0.25);
}

.omn-cta-section h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 900;
  margin: 0 0 16px;
  line-height: 1.2;
}

.omn-cta-section p {
  font-size: 1rem;
  opacity: 0.65;
  margin: 0 auto 40px;
  max-width: 500px;
  line-height: 1.7;
}

/* ============================================================
   CHECKOUT MULTI-STEPS
   ============================================================ */
.omn-checkout {
  max-width: 680px;
  margin: 0 auto;
  padding: clamp(40px,6vw,80px) clamp(16px,5vw,48px);
}

.omn-checkout-steps-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 48px;
}

.omn-step-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(232,233,243,0.08);
  border: 2px solid rgba(232,233,243,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  opacity: 0.5;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
}

.omn-step-dot.active {
  background: linear-gradient(135deg, var(--omn-primary), #9B4FDE);
  border-color: var(--omn-primary);
  color: #fff;
  opacity: 1;
  box-shadow: 0 0 16px rgba(123,47,190,0.5);
}

.omn-step-dot.done {
  background: rgba(123,47,190,0.25);
  border-color: var(--omn-primary);
  opacity: 1;
}

.omn-step-connector {
  flex: 1;
  height: 2px;
  background: rgba(232,233,243,0.1);
  max-width: 80px;
}

.omn-checkout-panel {
  background: rgba(20,21,42,0.8);
  border: 1px solid rgba(123,47,190,0.25);
  border-radius: var(--omn-radius);
  padding: 40px;
}

.omn-plan-option {
  border: 2px solid rgba(232,233,243,0.1);
  border-radius: var(--omn-radius-sm);
  padding: 20px 24px;
  margin-bottom: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 16px;
}

.omn-plan-option:hover,
.omn-plan-option.selected {
  border-color: var(--omn-primary);
  background: rgba(123,47,190,0.08);
}

.omn-plan-option input[type="radio"] { display: none; }

.omn-plan-option .plan-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(232,233,243,0.25);
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.omn-plan-option.selected .plan-dot {
  border-color: var(--omn-primary);
  background: var(--omn-primary);
  box-shadow: inset 0 0 0 4px rgba(20,21,42,0.9);
}

.omn-plan-option .plan-info { flex: 1; }
.omn-plan-option .plan-label { font-weight: 700; margin: 0 0 2px; }
.omn-plan-option .plan-desc { font-size: 0.85rem; opacity: 0.6; }
.omn-plan-option .plan-price-tag { font-weight: 800; font-size: 1.1rem; }

.omn-form-group { margin-bottom: 20px; }
.omn-form-group label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  opacity: 0.7;
  margin-bottom: 8px;
}
.omn-form-group input,
.omn-form-group select,
.omn-form textarea {
  width: 100%;
  padding: 12px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(232,233,243,0.12);
  border-radius: var(--omn-radius-sm);
  font-size: 0.95rem;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  font-family: inherit;
}
.omn-form-group input:focus,
.omn-form-group select:focus,
.omn-form textarea:focus {
  outline: none;
  border-color: var(--omn-primary);
  background: rgba(123,47,190,0.05);
}

.omn-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.omn-checkout-msg {
  font-size: 0.8rem;
  opacity: 0.45;
  text-align: center;
  margin-top: 16px;
}

.omn-loading { text-align: center; padding: 40px; opacity: 0.6; }

.omn-spinner {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 3px solid rgba(123,47,190,0.2);
  border-top-color: var(--omn-primary);
  border-radius: 50%;
  animation: omn-spin 0.8s linear infinite;
  margin-bottom: 16px;
}

@keyframes omn-spin { to { transform: rotate(360deg); } }

/* ============================================================
   CONTACT / DEMO FORM
   ============================================================ */
.omn-contact-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  margin-top: 56px;
}

.omn-contact-info h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 16px;
}

.omn-contact-info p {
  line-height: 1.7;
  font-size: 0.95rem;
  opacity: 0.7;
  margin: 0 0 20px;
}

.omn-contact-detail {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 0.9rem;
}

.omn-contact-detail .icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(123,47,190,0.12);
  border: 1px solid rgba(123,47,190,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.omn-form {
  background: rgba(20,21,42,0.7);
  border: 1px solid rgba(123,47,190,0.2);
  border-radius: var(--omn-radius);
  padding: 36px;
}

.omn-form textarea { resize: vertical; min-height: 100px; }

/* ============================================================
   BLOG GRID
   ============================================================ */
.omn-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 48px;
}

.omn-post-card {
  background: rgba(20,21,42,0.6);
  border: 1px solid rgba(123,47,190,0.2);
  border-radius: var(--omn-radius);
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.omn-post-card:hover {
  transform: translateY(-4px);
  border-color: rgba(123,47,190,0.45);
}

.omn-post-card-body { padding: 24px; }

.omn-post-meta {
  font-size: 0.75rem;
  opacity: 0.45;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.omn-post-card h4 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.4;
}

.omn-post-card a.omn-read-more {
  color: var(--omn-primary);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
}
.omn-post-card a.omn-read-more:hover { color: var(--omn-accent); }

/* ============================================================
   FOOTER NAV — Réduction espacement inter-liens
   ============================================================ */
.footer_wrap .widget_text ul,
.footer_widgets .widget_text ul {
  gap: 3px !important;
}
.footer_wrap .widget_text ul li a,
.footer_widgets .widget_text ul li a {
  line-height: 1.5 !important;
  font-size: 0.85rem !important;
}

/* ============================================================
   BLOG — Masquer le titre "Blog + breadcrumb" redondant
   ============================================================ */
body.blog .top_panel_title,
body.blog_mode_home .top_panel_title {
  display: none !important;
}

/* ============================================================
   BLOG — Style natif MindWare "classic"
   ============================================================ */
/* Ensure excerpt posts look clean */
.blog .post_layout_excerpt .post_featured,
.home .post_layout_excerpt .post_featured {
  margin-bottom: 20px;
}
.blog .post_layout_excerpt .post_header,
.home .post_layout_excerpt .post_header {
  padding-bottom: 8px;
}
/* Post card hover effet */
.blog .post_layout_excerpt,
.home .post_layout_excerpt {
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.25s ease;
  margin-bottom: 40px;
  border: 1px solid rgba(123,47,190,0.15);
  background: var(--omn-card);
}
.blog .post_layout_excerpt:hover,
.home .post_layout_excerpt:hover {
  box-shadow: 0 0 30px rgba(123,47,190,0.18);
  border-color: rgba(123,47,190,0.35);
}
/* Placeholder quand pas d'image featured */
.blog .post_layout_excerpt .post_featured.without_thumb,
.home .post_layout_excerpt .post_featured.without_thumb {
  display: none;
}
/* Category badge couleur Omnio */
.blog .post_categories a,
.home .post_categories a {
  color: var(--omn-primary) !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* Titre article couleur claire */
.blog .entry-title a,
.home .entry-title a {
  color: var(--omn-text) !important;
  transition: color 0.2s ease;
}
.blog .entry-title a:hover,
.home .entry-title a:hover {
  color: var(--omn-primary) !important;
}
/* Lien "Read more" violet */
.blog .more-link,
.home .more-link {
  color: var(--omn-primary) !important;
  font-weight: 600;
  font-size: 0.875rem;
}

/* ============================================================
   INSPIRANT — Mouse tracking glow
   ============================================================ */
.omn-inspire-section {
  --mx: 0.5;
  --my: 0.5;
  position: relative;
  overflow: hidden;
  padding: clamp(72px,10vw,120px) clamp(16px,5vw,80px);
  text-align: center;
}
.omn-inspire-section::before {
  content: '';
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(123,47,190,0.22) 0%, transparent 70%);
  top: calc(var(--my,0.5) * 100% - 350px);
  left: calc(var(--mx,0.5) * 100% - 350px);
  transition: top 0.08s linear, left 0.08s linear;
  pointer-events: none;
}
.omn-inspire-text {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.3;
  max-width: 860px;
  margin: 0 auto;
  color: rgba(232,233,243,0.88);
  position: relative;
  z-index: 1;
}

/* ============================================================
   SC_ICONS color_style_link2 + hover — override MindWare
   ============================================================ */
.omn-features-wrap .sc_icons.color_style_link2 .sc_icons_item {
  background: var(--omn-card);
  border: 1px solid rgba(123,47,190,0.18);
  border-radius: var(--omn-radius);
  padding: 28px 24px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}
.omn-features-wrap .sc_icons.color_style_link2.sc_icons_hover .sc_icons_item:hover {
  border-color: rgba(123,47,190,0.5);
  box-shadow: 0 0 32px rgba(123,47,190,0.18);
  transform: translateY(-4px);
}
.omn-features-wrap .sc_icons.color_style_link2 .sc_icons_icon {
  color: var(--omn-primary);
  margin-bottom: 16px;
}
.omn-features-wrap .sc_icons.color_style_link2 .sc_icons_icon svg {
  stroke: var(--omn-primary);
  transition: stroke 0.25s ease;
}
.omn-features-wrap .sc_icons.color_style_link2.sc_icons_hover .sc_icons_item:hover .sc_icons_icon svg {
  stroke: var(--omn-accent);
}
.omn-features-wrap .sc_icons.color_style_link2 a.sc_icons_item_link {
  color: inherit;
  text-decoration: none;
}
.omn-features-wrap .sc_icons.color_style_link2 .sc_icons_item_title a {
  color: var(--omn-text) !important;
  text-decoration: none;
}
.omn-features-wrap .sc_icons.color_style_link2.sc_icons_hover .sc_icons_item:hover .sc_icons_item_title a {
  color: #fff !important;
}

/* ============================================================
   JOURNEY 2×2 — Onboarding 4 étapes zigzag
   ============================================================ */
.omn-journey-wrap {
  padding: 0 clamp(16px,5vw,80px) clamp(56px,7vw,80px);
  max-width: 860px;
  margin: 0 auto;
}

.omn-journey-row {
  display: grid;
  grid-template-columns: 1fr 56px 1fr;
  gap: 0 0;
  align-items: start;
}

.omn-journey-step {
  background: var(--omn-card);
  border: 1px solid rgba(123,47,190,0.18);
  border-radius: 12px;
  padding: 24px 20px;
  position: relative;
}
.omn-journey-step:hover {
  border-color: rgba(123,47,190,0.45);
  box-shadow: 0 0 24px rgba(123,47,190,0.12);
}

.omn-journey-num {
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 10px;
  background: linear-gradient(135deg, var(--omn-primary), var(--omn-accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0.5;
}
.omn-journey-step h4 {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--omn-text);
}
.omn-journey-step p {
  font-size: 0.82rem;
  opacity: 0.55;
  margin: 0;
  line-height: 1.6;
}

/* Connecteur horizontal — flèche au milieu */
.omn-journey-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  padding-top: 0;
  color: var(--omn-primary);
}
.omn-journey-connector svg {
  opacity: 0.6;
}

/* Descente verticale entre lignes — droite pour row-1, gauche pour row-2 */
.omn-journey-descent {
  height: 44px;
  position: relative;
  margin: 4px 0;
}
/* Ligne verticale sur le côté droit */
.omn-journey-descent::before {
  content: '';
  position: absolute;
  right: 27px; /* aligne avec le centre de la col droite */
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, rgba(59,130,246,0.5), rgba(123,47,190,0.5));
}
/* Flèche bas */
.omn-journey-descent::after {
  content: '';
  position: absolute;
  right: 22px;
  bottom: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid rgba(123,47,190,0.55);
}

/* Ligne 2 : step 4 à gauche, step 3 à droite (inversée) */
.omn-journey-row-rtl {
  direction: rtl;
}
.omn-journey-row-rtl .omn-journey-step,
.omn-journey-row-rtl .omn-journey-connector {
  direction: ltr;
}
/* Flèche inversée pour row 2 */
.omn-journey-row-rtl .omn-journey-connector svg {
  transform: scaleX(-1);
}

@media (max-width: 640px) {
  .omn-journey-row,
  .omn-journey-row-rtl {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 16px;
  }
  .omn-journey-connector { display: none; }
  .omn-journey-descent::before { right: auto; left: 27px; }
  .omn-journey-descent::after { right: auto; left: 22px; }
}

/* ============================================================
   RESPONSIVE — TABLETTE (max 900px)
   ============================================================ */
@media (max-width: 900px) {
  /* Pricing 3 col → 1 col (override inline style="" sur .omn-pricing-grid) */
  .omn-pricing-grid {
    grid-template-columns: 1fr !important;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Feature cards MindWare : forcer 1 col */
  .omn-features-wrap .sc_icons_columns_wrap,
  .omn-features-wrap .columns_wrap {
    display: flex !important;
    flex-direction: column !important;
  }
  .omn-features-wrap .sc_icons_columns_wrap [class*="column-"],
  .omn-features-wrap .columns_wrap [class*="column-"] {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
  }
}

/* ============================================================
   RESPONSIVE — MOBILE (max 768px)
   ============================================================ */
@media (max-width: 768px) {

  /* Steps */
  .omn-steps::before { display: none; }
  .omn-steps { grid-template-columns: 1fr; }
  .omn-step { margin-bottom: 40px; }

  /* Contact / demo */
  .omn-contact-wrap { grid-template-columns: 1fr; gap: 40px; }

  /* Formulaire checkout */
  .omn-form-row { grid-template-columns: 1fr; }

  /* Engines bar */
  .omn-engines-bar { gap: 16px 20px; }

  /* Trust bar : retour à la ligne autorisé */
  .omn-trust-item { white-space: normal; }
  .omn-trust-bar { gap: 8px 14px; padding: 10px clamp(16px,4vw,32px); }

  /* Boutons hero — colonne sur mobile */
  .omn-btn-group {
    flex-direction: column;
    align-items: stretch;
  }
  .omn-btn-group .omn-btn {
    justify-content: center;
    width: 100%;
    text-align: center;
  }

  /* Hero — réduire la hauteur min */
  .omn-hero { min-height: 60vh; }

  /* Header — logo un peu plus petit */
  .top_panel_navi .sc_layouts_logo img,
  .top_panel_navi .sc_layouts_logo .custom-logo {
    max-height: 70px !important;
  }

  /* Journey descent — centrer le fil vertical */
  .omn-journey-descent::before { right: auto; left: 50%; transform: translateX(-50%); width: 2px; }
  .omn-journey-descent::after  { right: auto; left: calc(50% - 6px); }

  /* Blog section titre panel */
  body.blog .top_panel_title { display: none !important; }

  /* Checkout panel */
  .omn-checkout { padding: clamp(20px,4vw,40px) clamp(12px,4vw,24px); }
  .omn-checkout-panel { padding: 24px 16px; }

  /* Plan option sur mobile */
  .omn-plan-option { flex-wrap: wrap; }
  .omn-plan-option .plan-price-tag { width: 100%; text-align: right; }
}

/* ============================================================
   RESPONSIVE — PETIT MOBILE (max 480px)
   ============================================================ */
@media (max-width: 480px) {
  /* Boutons */
  .omn-btn { padding: 13px 22px; font-size: 0.875rem; }

  /* Sections padding réduit */
  .omn-features-wrap { padding-left: 12px; padding-right: 12px; }
  .omn-journey-wrap  { padding-left: 12px; padding-right: 12px; }
  .omn-pricing-wrap  { padding-left: 12px; padding-right: 12px; }

  /* Inspirant text */
  .omn-inspire-text { font-size: clamp(1.4rem, 5vw, 1.9rem); }

  /* Pricing plan padding réduit */
  .omn-plan { padding: 28px 20px; }

  /* Journey row → 1 col */
  .omn-journey-row,
  .omn-journey-row-rtl {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 16px;
  }
  .omn-journey-connector { display: none; }
}
