/* ============================================================
   DATALYSIA — Main Stylesheet
   Chargé après style.css parent (AI Hub) + style.css enfant
   Contient tous les composants, layouts et styles custom
   ============================================================ */

/* ── DATALYSIA — Shared Stylesheet ── */
/* Fonts chargées via style.css du thème enfant */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#0c0c12;
  --ink2:#2c2c3a;
  --ink3:#606070;
  --ink4:#a0a0b0;
  --bg:#f5f4f0;
  --white:#ffffff;
  --blue:#1833f0;
  --blue2:#3a52f5;
  --blue-pale:#eef0ff;
  --blue-mid:#8899ff;
  --green:#0f6e3a;
  --green-pale:#e8faf0;
  --amber:#8a5c00;
  --amber-pale:#fff5e0;
  --coral:#c94020;
  --coral-pale:#fff0ec;
  --border:rgba(0,0,0,0.08);
  --border2:rgba(0,0,0,0.14);
  --r:14px;--rs:9px;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;font-size:16px;overflow-x:hidden;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(245,244,240,0.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 48px;height:62px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{font-family:'Urbanist',sans-serif;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-decoration:none;}
.nav-logo span{color:var(--blue);}
.nav-links{display:flex;gap:6px;list-style:none;align-items:center;}
.nav-links a{font-size:13px;color:var(--ink3);text-decoration:none;font-weight:500;padding:6px 12px;border-radius:7px;transition:all .18s;}
.nav-links a:hover,.nav-links a.active{color:var(--ink);background:rgba(0,0,0,0.05);}
.nav-dropdown{position:relative;}
.nav-dropdown:hover .dropdown-menu{opacity:1;pointer-events:all;transform:translateY(0);}
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:8px;min-width:220px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .2s;box-shadow:0 8px 32px rgba(0,0,0,0.08);}
.dropdown-menu a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:7px;font-size:13px;color:var(--ink2);text-decoration:none;transition:background .15s;white-space:nowrap;}
.dropdown-menu a:hover{background:var(--bg);}
.dropdown-menu a span.di{font-size:16px;width:20px;text-align:center;}
.nav-cta{background:var(--ink);color:#fff !important;font-size:13px;font-weight:500;padding:8px 18px !important;border-radius:8px;transition:background .2s !important;}
.nav-cta:hover{background:var(--blue) !important;}

/* ── HERO (page d'accueil) ── */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 80px 80px;position:relative;overflow:hidden;background:var(--ink);}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 50%,rgba(24,51,240,0.18) 0%,transparent 70%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.028) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.hero-content{position:relative;max-width:780px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(136,153,255,0.15);border:1px solid rgba(136,153,255,0.25);border-radius:30px;padding:6px 16px;margin-bottom:32px;}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--blue-mid);}
.hero-badge span{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-mid);}
.hero h1{font-family:'Urbanist',sans-serif;font-size:clamp(38px,5.5vw,68px);font-weight:900;line-height:1.04;letter-spacing:-.03em;color:#fff;margin-bottom:24px;}
.hero h1 em{font-style:normal;color:var(--blue-mid);}
.hero-sub{font-size:clamp(16px,1.8vw,20px);color:rgba(255,255,255,0.52);max-width:520px;line-height:1.62;margin-bottom:40px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:40px;margin-top:64px;padding-top:40px;border-top:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;}
.stat-num{font-family:'Urbanist',sans-serif;font-size:32px;font-weight:900;color:#fff;letter-spacing:-.02em;}
.stat-label{font-size:13px;color:rgba(255,255,255,0.38);margin-top:2px;}

/* ── PAGE HERO (services / contact) ── */
.page-hero{padding:140px 80px 80px;background:var(--ink);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 90% 50%,rgba(24,51,240,0.14) 0%,transparent 65%);}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.page-hero-inner{position:relative;max-width:1100px;margin:0 auto;}
.page-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;}
.page-breadcrumb a{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.35);text-decoration:none;transition:color .2s;}
.page-breadcrumb a:hover{color:rgba(255,255,255,0.7);}
.page-breadcrumb span{font-size:11px;color:rgba(255,255,255,0.2);}
.page-breadcrumb strong{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-mid);}
.page-hero-badge{display:inline-flex;align-items:center;gap:8px;border-radius:30px;padding:6px 16px;margin-bottom:20px;border:1px solid rgba(255,255,255,0.1);}
.page-hero-badge span{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
.page-hero h1{font-family:'Urbanist',sans-serif;font-size:clamp(34px,4.5vw,58px);font-weight:900;line-height:1.06;letter-spacing:-.03em;color:#fff;margin-bottom:18px;}
.page-hero h1 em{font-style:normal;color:var(--blue-mid);}
.page-hero-sub{font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,0.5);max-width:560px;line-height:1.65;margin-bottom:32px;}
.page-hero-meta{display:flex;gap:20px;flex-wrap:wrap;padding-top:32px;border-top:1px solid rgba(255,255,255,0.08);}
.meta-pill{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,0.45);}
.meta-pill strong{color:rgba(255,255,255,0.75);font-weight:500;}

/* ── BUTTONS ── */
.btn-primary{background:var(--blue);color:#fff;font-size:15px;font-weight:500;padding:14px 28px;border-radius:10px;text-decoration:none;transition:all .2s;display:inline-block;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-primary:hover{background:var(--blue2);transform:translateY(-1px);}
.btn-ghost{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.8);font-size:15px;font-weight:500;padding:14px 28px;border-radius:10px;text-decoration:none;border:1px solid rgba(255,255,255,0.12);transition:all .2s;display:inline-block;}
.btn-ghost:hover{background:rgba(255,255,255,0.13);}
.btn-dark{background:var(--ink);color:#fff;font-size:14px;font-weight:500;padding:12px 22px;border-radius:9px;text-decoration:none;transition:all .2s;display:inline-block;}
.btn-dark:hover{background:var(--blue);}

/* ── SECTIONS ── */
section{padding:96px 80px;}
.section-inner{max-width:1100px;margin:0 auto;}
.section-label{font-family:'DM Mono',monospace;font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:block;}
.section-title{font-family:'Urbanist',sans-serif;font-size:clamp(28px,3.5vw,44px);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin-bottom:14px;}
.section-sub{font-size:17px;color:var(--ink3);max-width:560px;line-height:1.65;margin-bottom:0;}

/* ── PROBLEMS ── */
.prob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:52px;}
.prob-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:24px;transition:border-color .2s;}
.prob-card:hover{border-color:var(--border2);}
.prob-icon{font-size:28px;margin-bottom:14px;display:block;}
.prob-card h3{font-family:'Urbanist',sans-serif;font-size:16px;font-weight:700;margin-bottom:8px;}
.prob-card p{font-size:14px;color:var(--ink3);line-height:1.6;}
.prob-quote{font-style:italic;color:var(--blue);font-weight:500;display:block;margin-top:10px;font-size:13px;}

/* ── SERVICE CARDS (accueil) ── */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:52px;}
.svc-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:24px 26px;text-decoration:none;color:var(--ink);transition:all .22s;display:block;position:relative;overflow:hidden;}
.svc-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--sc,var(--blue));}
.svc-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.06);}
.svc-card-icon{font-size:26px;margin-bottom:12px;display:block;}
.svc-card-name{font-family:'Urbanist',sans-serif;font-size:17px;font-weight:700;margin-bottom:7px;letter-spacing:-.01em;}
.svc-card-desc{font-size:13px;color:var(--ink3);line-height:1.55;margin-bottom:14px;}
.svc-card-link{font-size:12px;font-weight:500;color:var(--sc,var(--blue));display:flex;align-items:center;gap:5px;}
.svc-loco{display:inline-block;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--blue-pale);color:var(--blue);padding:2px 8px;border-radius:3px;margin-bottom:8px;}

/* ── CAS D'USAGE ── */
.cas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:52px;}
.cas-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:28px;transition:all .2s;}
.cas-card:hover{border-color:var(--border2);transform:translateY(-2px);}
.cas-sector{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 10px;border-radius:4px;display:inline-block;margin-bottom:16px;}
.cas-card h3{font-family:'Urbanist',sans-serif;font-size:17px;font-weight:700;margin-bottom:10px;}
.cas-problem{font-size:14px;color:var(--ink3);margin-bottom:16px;line-height:1.55;}
.cas-divider{height:1px;background:var(--border);margin-bottom:16px;}
.cas-result{display:flex;flex-direction:column;gap:10px;}
.cas-metric{display:flex;align-items:center;gap:10px;}
.metric-val{font-family:'Urbanist',sans-serif;font-size:24px;font-weight:900;letter-spacing:-.02em;flex-shrink:0;}
.metric-label{font-size:13px;color:var(--ink3);line-height:1.4;}

/* ── PROCESS STEPS ── */
.process-section{background:var(--ink);}
.process-section .section-title{color:#fff;}
.process-section .section-label{font-family:'DM Mono',monospace;font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:block;}
.process-section .section-sub{color:rgba(255,255,255,0.45);}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin-top:52px;position:relative;}
.steps-grid::before{content:'';position:absolute;top:27px;left:8%;right:8%;height:1px;background:rgba(255,255,255,0.07);}
.step{text-align:center;padding:0 14px;position:relative;}
.step-num{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:'DM Mono',monospace;font-size:13px;font-weight:500;color:var(--blue-mid);position:relative;z-index:1;}
.step h3{font-family:'Urbanist',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:8px;}
.step p{font-size:13px;color:rgba(255,255,255,0.42);line-height:1.55;}

/* ── TARIFS ── */
.tarifs-table{margin-top:52px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;}
.tarif-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;border-bottom:1px solid var(--border);transition:background .15s;}
.tarif-row:last-child{border-bottom:none;}
.tarif-row:hover:not(.tarif-header){background:var(--bg);}
.tarif-header{background:var(--ink);}
.tarif-cell{padding:15px 20px;font-size:14px;display:flex;align-items:center;}
.tarif-header .tarif-cell{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,0.4);padding:13px 20px;}
.tarif-name{font-weight:500;}
.tarif-price{font-family:'Urbanist',sans-serif;font-weight:700;font-size:15px;color:var(--blue);}
.tarif-type,.tarif-detail{color:var(--ink3);font-size:13px;}

/* ── FAQ ── */
.faq-list{margin-top:44px;display:flex;flex-direction:column;gap:2px;max-width:760px;}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);overflow:hidden;}
.faq-q{padding:17px 22px;font-weight:500;font-size:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .15s;user-select:none;}
.faq-q:hover{background:var(--bg);}
.faq-arrow{font-size:14px;color:var(--ink3);transition:transform .2s;flex-shrink:0;}
.faq-a{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;font-size:14px;color:var(--ink3);line-height:1.7;}
.faq-item.open .faq-a{max-height:240px;padding:0 22px 18px;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}

/* ── SERVICE PAGE CONTENT ── */
.svc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:52px;align-items:start;}
.svc-tags-wrap{display:flex;flex-wrap:wrap;gap:8px;}
.svc-tag-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 13px;font-size:13px;color:var(--ink2);line-height:1.4;}
.svc-roi-box{border-radius:var(--r);padding:20px 24px;margin-top:24px;display:flex;align-items:center;gap:18px;}
.svc-roi-num{font-family:'Urbanist',sans-serif;font-size:36px;font-weight:900;flex-shrink:0;letter-spacing:-.02em;}
.svc-roi-txt{font-size:14px;color:var(--ink2);line-height:1.5;}
.svc-steps-list{display:flex;flex-direction:column;gap:14px;margin-top:8px;}
.svc-step{display:flex;gap:14px;align-items:flex-start;font-size:14px;color:var(--ink2);line-height:1.55;}
.svc-step-n{width:26px;height:26px;border-radius:50%;background:var(--blue-pale);color:var(--blue);font-family:'DM Mono',monospace;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.svc-for-who{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.svc-who-item{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border-radius:var(--rs);padding:14px 16px;font-size:14px;color:var(--ink2);}
.svc-who-icon{font-size:18px;flex-shrink:0;}
.offer-box{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:24px;}
.offer-box-head{padding:18px 22px;border-bottom:1px solid var(--border);background:var(--bg);}
.offer-box-name{font-family:'Urbanist',sans-serif;font-size:18px;font-weight:800;margin-bottom:4px;}
.offer-box-promise{font-size:14px;color:var(--ink3);}
.offer-box-body{padding:22px;}
.offer-price{font-family:'Urbanist',sans-serif;font-size:28px;font-weight:900;letter-spacing:-.02em;margin-bottom:4px;}
.offer-price-sub{font-size:13px;color:var(--ink3);margin-bottom:18px;}
.offer-items{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:20px;}
.offer-items li{display:flex;gap:10px;font-size:14px;color:var(--ink2);}
.check{color:var(--blue);font-size:15px;flex-shrink:0;margin-top:2px;}

/* ── CTA FINAL ── */
.cta-final{background:var(--blue);padding:96px 80px;text-align:center;}
.cta-final h2{font-family:'Urbanist',sans-serif;font-size:clamp(28px,4vw,46px);font-weight:900;color:#fff;letter-spacing:-.025em;margin-bottom:14px;}
.cta-final p{font-size:17px;color:rgba(255,255,255,0.68);margin-bottom:36px;max-width:500px;margin-left:auto;margin-right:auto;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-white{background:#fff;color:var(--blue);font-size:15px;font-weight:600;padding:14px 32px;border-radius:10px;text-decoration:none;transition:all .2s;display:inline-block;}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.14);}
.btn-outline-white{background:transparent;color:#fff;font-size:15px;font-weight:500;padding:14px 32px;border-radius:10px;text-decoration:none;border:1px solid rgba(255,255,255,0.28);transition:all .2s;display:inline-block;}
.btn-outline-white:hover{background:rgba(255,255,255,0.1);}
.cta-note{font-size:13px;color:rgba(255,255,255,0.45);margin-top:18px;}

/* ── FOOTER ── */
footer{background:var(--ink);padding:48px 80px 36px;}
.footer-top{display:grid;grid-template-columns:1fr auto auto auto;gap:48px;max-width:1100px;margin:0 auto 40px;align-items:start;}
.footer-logo{font-family:'Urbanist',sans-serif;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;text-decoration:none;display:block;margin-bottom:10px;}
.footer-logo span{color:var(--blue-mid);}
.footer-tagline{font-size:13px;color:rgba(255,255,255,0.32);max-width:220px;line-height:1.5;}
.footer-col h4{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,0.28);margin-bottom:14px;}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,0.45);text-decoration:none;margin-bottom:8px;transition:color .18s;}
.footer-col a:hover{color:rgba(255,255,255,0.8);}
.footer-bottom{max-width:1100px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,0.07);display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.22);}

/* ── UTILS ── */
.bg-white{background:var(--white);}
.bg-dark{background:var(--ink);}
.animate{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease;}
.animate.in{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .hero,.page-hero,section,.cta-final{padding-left:24px;padding-right:24px;}
  footer{padding:40px 24px 28px;}
  .footer-top{grid-template-columns:1fr;gap:28px;}
  .svc-detail-grid{grid-template-columns:1fr;}
  .tarif-row{grid-template-columns:1fr 1fr;}
  .tarif-cell:nth-child(3),.tarif-cell:nth-child(4),.tarif-header .tarif-cell:nth-child(3),.tarif-header .tarif-cell:nth-child(4){display:none;}
  .steps-grid::before{display:none;}
}

/* ── JS ── */


/* ── SURCHARGES WORDPRESS ── */

/* Retirer les marges par défaut WP */
.wp-site-blocks { padding: 0 !important; }
.wp-block-group { margin: 0 !important; }
.entry-content { max-width: 100% !important; padding: 0 !important; }

/* Logo dans la nav WP */
.custom-logo-link img {
    height: 36px !important;
    width: auto !important;
    display: block;
}

/* Gutenberg alignment */
.alignfull { width: 100vw !important; margin-left: calc(50% - 50vw) !important; }
.alignwide { max-width: 1100px !important; margin-left: auto !important; margin-right: auto !important; }

/* Contact Form 7 styling */
.wpcf7-form {
    width: 100%;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border2);
    border-radius: var(--rs);
    padding: 11px 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: var(--ink);
    transition: border-color .18s, box-shadow .18s;
    outline: none;
    margin-bottom: 16px;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(24,51,240,0.1);
}
.wpcf7-form textarea { min-height: 100px; resize: vertical; }
.wpcf7-form input[type="submit"] {
    width: 100%;
    background: var(--blue);
    color: #fff;
    border: none;
    border-radius: var(--rs);
    padding: 14px;
    font-family: 'Urbanist', sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s;
    letter-spacing: -.01em;
}
.wpcf7-form input[type="submit"]:hover {
    background: var(--blue2);
    transform: translateY(-1px);
}
.wpcf7-response-output {
    border-radius: var(--rs) !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
    margin-top: 16px !important;
    border: none !important;
    background: var(--green-pale) !important;
    color: var(--green) !important;
}
.wpcf7-not-valid-tip {
    font-size: 12px !important;
    color: var(--coral) !important;
}

/* ── TEMPLATE TAGS WP ── */
.page-title { display: none; } /* Masquer le titre H1 auto de WP si géré manuellement */

/* ── ADMIN BAR COMPENSATION ── */
@media screen and (min-width: 600px) {
    nav { top: 32px !important; }
    .mobile-menu { top: calc(62px + 32px) !important; }
}
@media screen and (max-width: 782px) {
    nav { top: 46px !important; }
    .mobile-menu { top: calc(62px + 46px) !important; }
}

/* ════════════════════════════════════════════════════════
   PAGE CRÉATION SITE INTERNET — Styles spécifiques
   ════════════════════════════════════════════════════════ */

/* ── Offres grid ── */
.offre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:52px;}
.offre-card{background:#fff;border:2px solid rgba(0,0,0,0.08);border-radius:14px;overflow:hidden;transition:all .25s;display:flex;flex-direction:column;}
.offre-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,0.1);}
.offre-card.featured{border-color:#1833f0;}
.offre-card.featured-ecom{border-color:#0f6e3a;}
.offre-head{padding:28px 28px 20px;border-bottom:1px solid rgba(0,0,0,0.08);}
.offre-badge-type{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:3px 10px;border-radius:4px;display:inline-block;margin-bottom:12px;}
.offre-name{font-family:'Urbanist',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;color:#0c0c12;}
.offre-promise{font-size:14px;color:#606070;line-height:1.55;}
.offre-body{padding:24px 28px;display:flex;flex-direction:column;flex:1;}
.offre-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;}
.offre-price-main{font-family:'Urbanist',sans-serif;font-size:32px;font-weight:900;letter-spacing:-.02em;}
.offre-price-sub{font-size:13px;color:#606070;margin-bottom:20px;}
.offre-items{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;flex:1;padding:0;}
.offre-items li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#2c2c3a;line-height:1.5;}
.offre-check{flex-shrink:0;margin-top:1px;font-size:14px;font-weight:700;}
.offre-cta{display:block;text-align:center;color:#fff!important;font-size:14px;font-weight:600;padding:14px;border-radius:9px;text-decoration:none;transition:opacity .2s;margin-top:auto;}
.offre-cta:hover{opacity:.85;transform:none;}

/* ── Stack technologies ── */
.stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:40px;}
.stack-card{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:9px;padding:16px;text-align:center;transition:border-color .2s;}
.stack-card:hover{border-color:rgba(0,0,0,0.14);}
.stack-icon{font-size:28px;display:block;margin-bottom:8px;}
.stack-name{font-family:'Urbanist',sans-serif;font-size:13px;font-weight:700;margin-bottom:3px;color:#0c0c12;}
.stack-desc{font-size:12px;color:#606070;line-height:1.4;}

/* ── Tableau comparatif ── */
.compare-table{margin-top:40px;border:1px solid rgba(0,0,0,0.08);border-radius:14px;overflow:hidden;}
.compare-row{display:grid;grid-template-columns:2fr 1fr 1fr;border-bottom:1px solid rgba(0,0,0,0.08);}
.compare-row:last-child{border-bottom:none;}
.compare-row:hover:not(.compare-header){background:#f5f4f0;}
.compare-header{background:#0c0c12;}
.compare-cell{padding:14px 18px;font-size:14px;display:flex;align-items:center;}
.compare-header .compare-cell{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,0.4);padding:12px 18px;}
.compare-feat{font-weight:500;color:#0c0c12;}
.compare-yes{color:#0f6e3a;font-weight:600;}
.compare-no{color:#a0a0b0;}

/* ── Responsive ── */
@media(max-width:900px){
  .offre-grid{grid-template-columns:1fr;}
  .stack-grid{grid-template-columns:repeat(3,1fr);}
  .compare-row{grid-template-columns:1fr 1fr 1fr;}
}
@media(max-width:600px){
  .stack-grid{grid-template-columns:repeat(2,1fr);}
  .compare-row{grid-template-columns:1fr 1fr;}
  .compare-cell:last-child{display:none;}
  .compare-header .compare-cell:last-child{display:none;}
}

/* ── FIX ESPACE HEADER (no admin-bar) ── */
html, body { margin-top: 0 !important; padding-top: 0 !important; }
body:not(.admin-bar) nav { top: 0 !important; }
body:not(.admin-bar) .mobile-menu { top: 62px !important; }
@media screen and (min-width: 600px) {
  body:not(.admin-bar) nav { top: 0 !important; }
}
/* ── CTA FINAL COULEUR UNIFORME ── */
.cta-final { background: #1733ef !important; }


/* ── PROFILS CLIENTS ── */
.profil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:52px;}
.profil-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s,transform .2s;}
.profil-card:hover{box-shadow:0 8px 32px rgba(12,12,18,.1);transform:translateY(-2px);}
.profil-badge{display:inline-block;font-size:11px;font-family:'DM Mono',monospace;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:6px;width:fit-content;}
.profil-icon{font-size:28px;line-height:1;}
.profil-title{font-size:15px;font-weight:700;line-height:1.4;margin:0;}
.profil-desc{font-size:13px;color:var(--ink2);line-height:1.65;margin:0;}
.profil-declic{background:var(--blue-pale);border-left:3px solid var(--blue);padding:10px 14px;border-radius:0 8px 8px 0;font-size:13px;font-style:italic;color:var(--blue);line-height:1.5;}
.profil-change{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:4px;}
.profil-num{font-size:20px;font-weight:800;color:var(--blue);font-family:'DM Mono',monospace;display:block;line-height:1.1;}
.profil-num-label{font-size:11px;color:var(--ink3);display:block;margin-bottom:4px;}

/* ── FOOTER GARANTIES + SOCIAL ── */
.footer-garanties{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:24px 0;border-top:1px solid rgba(255,255,255,0.07);margin-bottom:20px;}
@media(max-width:640px){.footer-garanties{grid-template-columns:repeat(2,1fr);}}
.garantie-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,0.6);}
.garantie-item svg{flex-shrink:0;opacity:.7;}
.social-links{display:flex;gap:10px;margin-top:12px;}
.social-link--soon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.3);pointer-events:none;cursor:default;transition:background .2s;}


/* ── Livraison 2 : Focus visible (accessibilité) ─────────────────────────── */
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--blue, #1E40FF);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ── Livraison 2 : Skip-link ─────────────────────────────────────────────── */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  background: var(--blue, #1E40FF);
  color: #fff;
  padding: .75rem 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 4px 0;
  font-family: 'DM Sans', sans-serif;
}
.skip-link:focus { left: 0; }

/* ── Livraison 2 : Hero mock dashboard ───────────────────────────────────── */
.hero-mock {
  width: 100%;
  max-width: 460px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(99,136,255,0.25);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 60px rgba(23,51,239,0.18), 0 0 0 1px rgba(99,136,255,0.1);
  flex-shrink: 0;
}
.hero-mock-bar {
  background: rgba(255,255,255,0.06);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.hero-mock-bar span { font-size: 11px; color: rgba(255,255,255,0.4); font-family: 'DM Mono',monospace; margin-left: 6px; }
.mock-dot { width: 10px; height: 10px; border-radius: 50%; }
.mock-dot.r { background: #ff5f57; }
.mock-dot.o { background: #febc2e; }
.mock-dot.g { background: #28c840; }
.hero-mock-body { padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.mock-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  animation: mockSlideIn 0.5s ease both;
  font-size: 13px;
  color: rgba(255,255,255,0.85);
}
.mock-card:nth-child(1) { animation-delay: 0.2s; }
.mock-card:nth-child(2) { animation-delay: 0.7s; }
.mock-card:nth-child(3) { animation-delay: 1.2s; }
.mock-card-icon {
  width: 32px; height: 32px;
  background: rgba(23,51,239,0.25);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 15px;
}
.mock-card-text { flex: 1; }
.mock-card-label { font-weight: 600; font-size: 12px; }
.mock-card-sub { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 2px; font-family: 'DM Mono',monospace; }
.mock-card-time { font-size: 11px; color: rgba(99,136,255,0.7); font-family: 'DM Mono',monospace; flex-shrink: 0; }
.mock-card.active {
  border-color: rgba(99,136,255,0.4);
  background: rgba(23,51,239,0.12);
  animation: mockSlideIn 0.5s ease both, mockPulse 0.6s ease 0.5s;
}
.mock-card.active:nth-child(1) { animation: mockSlideIn 0.5s ease 0.2s both, mockPulse 0.6s ease 0.8s; }
.mock-card.active:nth-child(2) { animation: mockSlideIn 0.5s ease 0.7s both, mockPulse 0.6s ease 1.3s; }
.mock-card.active:nth-child(3) { animation: mockSlideIn 0.5s ease 1.2s both, mockPulse 0.6s ease 1.8s; }
.hero-mock-footer {
  padding: 10px 14px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.mock-progress {
  height: 3px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden;
}
.mock-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--blue, #1E40FF), #6388ff);
  border-radius: 2px;
  animation: mockProgress 8s linear infinite;
}
@keyframes mockSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes mockPulse {
  0%   { box-shadow: 0 0 0 0 rgba(23,51,239,0); }
  40%  { box-shadow: 0 0 0 4px rgba(23,51,239,0.3); }
  100% { box-shadow: 0 0 0 0 rgba(23,51,239,0); }
}
@keyframes mockProgress {
  from { width: 0%; }
  to   { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-mock * { animation: none !important; }
}
@media (max-width: 768px) {
  .hero-mock { display: none; }
}
