:root{
  --atlox-blue:#0e4194;
  --atlox-orange:#f59c00;
  --atlox-bg:#f7f9fc;
  --atlox-text:#1a1f36;
  --atlox-muted:#6b7280;
  --radius:12px;
}

/* ===== UI de la page (inchangé) ===================================== */
.atlox-wrapper{max-width:600px;margin:40px auto;padding:0 16px;color:var(--atlox-text);}
.atlox-title{font-size:28px;margin-bottom:8px;}
.atlox-sub{color:var(--atlox-muted);margin-bottom:20px;}
.atlox-card{background:#fff;border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.05);padding:20px;}
.atlox-field{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.atlox-label{min-width:120px;}
.atlox-input{flex:1;min-width:200px;padding:8px;border:1px solid #ddd;border-radius:var(--radius);}
.atlox-filetext{color:var(--atlox-muted);}
.atlox-actions{display:flex;gap:10px;}
.atlox-btn{border:none;border-radius:var(--radius);padding:10px 16px;font-weight:600;cursor:pointer;transition:background .2s;}
.atlox-btn[disabled]{opacity:.5;cursor:not-allowed;}
.atlox-btn-primary{background:var(--atlox-blue);color:#fff;}
.atlox-btn-primary:hover{background:#0c3475;}
.atlox-btn-accent{background:var(--atlox-orange);color:#fff;}
.atlox-btn-accent:hover{background:#d18400;}

/* ===== LOADER plein écran – Effet « scanner » ======================= */
#atlox-loader-overlay{
  position:fixed;inset:0;z-index:999999;display:none;overflow:hidden;
  background:
    radial-gradient(1200px 800px at 50% 40%, rgba(0,0,0,.96), rgba(0,0,0,.985)),
    repeating-linear-gradient(to bottom,
      rgba(255,255,255,.03) 0px,
      rgba(255,255,255,.03) 1px,
      transparent 2px,
      transparent 6px);
}
#atlox-loader-overlay.atlox-show{display:block;}
#atlox-loader-overlay .scan-area{position:absolute;inset:0;z-index:1;}
#atlox-loader-overlay::before,
#atlox-loader-overlay::after{content:"";position:absolute;left:0;right:0;height:120px;pointer-events:none;z-index:2;}
#atlox-loader-overlay::before{top:0;background:linear-gradient(to bottom, rgba(0,0,0,.96), rgba(0,0,0,0));}
#atlox-loader-overlay::after{bottom:0;background:linear-gradient(to top, rgba(0,0,0,.96), rgba(0,0,0,0));}
#atlox-loader-overlay .scan-beam{
  position:absolute;left:0;right:0;top:0;height:28%;
  background:linear-gradient(to bottom,
      rgba(14,65,148,0) 0%,
      rgba(14,65,148,.25) 10%,
      rgba(255,255,255,.38) 50%,
      rgba(245,156,0,.25) 90%,
      rgba(245,156,0,0) 100%);
  box-shadow:0 0 24px rgba(255,255,255,.08),0 0 60px rgba(14,65,148,.18),0 0 60px rgba(245,156,0,.18) inset;
  filter:blur(.2px);
  animation:atlox-scan-move 1.6s linear infinite alternate;
}
#atlox-loader-overlay .scan-area::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:28%;
  background:linear-gradient(to bottom,
      rgba(14,65,148,0) 0%,
      rgba(14,65,148,.25) 10%,
      rgba(255,255,255,.38) 50%,
      rgba(245,156,0,.25) 90%,
      rgba(245,156,0,0) 100%);
  box-shadow:0 0 24px rgba(255,255,255,.08),0 0 60px rgba(14,65,148,.18),0 0 60px rgba(245,156,0,.18) inset;
  filter:blur(.2px);
  animation:atlox-scan-move-up 1.6s linear infinite alternate;
}
#atlox-loader-overlay .scan-grid{
  position:absolute;inset:6% 10%;border-radius:12px;opacity:.25;z-index:0;
  border:1px solid rgba(255,255,255,.2);
  background:
    linear-gradient(to bottom, rgba(255,255,255,.15) 1px, transparent 1px) 0 0/100% 36px,
    linear-gradient(to right,  rgba(255,255,255,.12) 1px, transparent 1px) 0 0/48px 100%;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}
#atlox-loader-overlay .atlox-center{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:3;color:#fff;padding:24px;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
#atlox-loader-overlay .atlox-center .atlox-title{font-weight:800;font-size:clamp(24px,4.2vw,44px);letter-spacing:.3px;margin-bottom:10px;background:rgba(0,0,0,.35);display:inline-block;padding:6px 12px;border-radius:10px;}
#atlox-loader-overlay .atlox-center .atlox-sub{font-weight:500;font-size:clamp(14px,2.2vw,22px);opacity:.95;background:rgba(0,0,0,.28);display:inline-block;padding:6px 12px;border-radius:10px;}
@keyframes atlox-scan-move{0%{transform:translateY(-110%);opacity:.95}100%{transform:translateY(110%);opacity:.95}}
@keyframes atlox-scan-move-up{0%{transform:translateY(110%);opacity:.95}100%{transform:translateY(-110%);opacity:.95}}
@media (prefers-reduced-motion:reduce){
  #atlox-loader-overlay .scan-beam{animation:none;opacity:.85;}
  #atlox-loader-overlay .atlox-center .atlox-title{animation:atlox-pulse 1.6s ease-in-out infinite;}
  @keyframes atlox-pulse{0%,100%{opacity:.9}50%{opacity:1}}
}
#atlox-loader-overlay .scan-area,
#atlox-loader-overlay .scan-grid{z-index:1;}
#atlox-loader-overlay .atlox-center{z-index:3;}

/* ==== Uploader — version +moderne & centrée ======================= */
.atlox-hero{position:relative;padding:42px 0 80px;}
.atlox-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:
    radial-gradient(800px 420px at 50% -10%, rgba(14,65,148,.08), transparent 60%),
    radial-gradient(620px 360px at 80% 110%, rgba(245,156,0,.10), transparent 60%);}
.atlox-hero-title{font-size:clamp(34px,5vw,56px);line-height:1.1;font-weight:800;letter-spacing:.2px;text-align:center;color:#0f1f3c;margin:8px 0 6px;}
.atlox-hero-sub{ text-align:center;color:#475569;margin-bottom:28px;opacity:.9; }
.atlox-upload-card{max-width:860px;margin:0 auto;padding:28px 28px;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfbfd 100%);border:1px solid rgba(14,65,148,.08);box-shadow:0 18px 60px rgba(2,6,14,.08);}
.atlox-upload-row{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:12px;}
#atlox-choose.atlox-btn{display:inline-flex;align-items:center;gap:10px;}
#atlox-choose::before{
  content:"";width:18px;height:18px;background:#fff;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="black" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm1 7V3.5L19.5 9H15zM8 13h8v2H8v-2zm0 4h8v2H8v-2zm0-8h4v2H8V9z"/></svg>') center/contain no-repeat;
          mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="black" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm1 7V3.5L19.5 9H15zM8 13h8v2H8v-2zm0 4h8v2H8v-2zm0-8h4v2H8V9z"/></svg>') center/contain no-repeat;
}
#atlox-filename{display:block;width:100%;text-align:center;color:var(--atlox-muted);min-height:20px;}
.atlox-actions-center{justify-content:center;margin-top:6px;}
.atlox-btn-xl{padding:15px 26px;font-size:18px;border-radius:14px;}
.atlox-btn{transition:transform .15s ease, box-shadow .2s ease;}
.atlox-btn-primary{box-shadow:0 10px 24px rgba(14,65,148,.18);}
.atlox-btn-accent{box-shadow:0 10px 24px rgba(245,156,0,.22);}
.atlox-btn:hover{transform:translateY(-1px);}
.atlox-btn:active{transform:translateY(0);}

/* Mobile */
@media (max-width:560px){
  .atlox-upload-card{padding:22px;}
  .atlox-btn-xl{width:100%;}
}

/* Fond 100% blanc (supprime le halo) */
body, .atlox-hero { background:#fff !important; }
.atlox-hero::before { display:none !important; }

/* Titre principal */
.atlox-hero-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 34px; /* tu peux ajuster */
  color: #000; 
  text-align: center;
  font-weight: 700;
}

/* CV en orange dans le titre */
.atlox-hero-title .hl-cv { 
  color: var(--atlox-orange); 
}

/* Logo sous le titre */
.atlox-hero-logo { 
  display: block; 
  margin: 20px auto 10px; 
  max-width: 260px; 
  height: auto; 
}

/* Carte blanche avec contour orange, sans ombre marquée */
.atlox-upload-card{ background:#fff !important; border:2px solid var(--atlox-orange) !important; box-shadow:none !important; border-radius:16px; }

/* Centrage harmonisé des textes d’état */
#atlox-filename, .atlox-hint { text-align:center; }

/* Reset logo (écrase styles Elementor) */
.atlox-hero-logo{
  opacity:1 !important; filter:none !important; box-shadow:none !important;
  margin-left:auto !important; margin-right:auto !important;
}

/* ============= PATCH DESKTOP UNIQUEMENT (≥1200px) ================== */
/* Centre *géométriquement* titre / sous-titre / carte sous le logo
   et leur donne exactement la même largeur. Mobile inchangé. */
@media (min-width:1200px){
  :root{ --heroW: clamp(900px, 60vw, 1120px); }

  /* Sécurise le centrage quelle que soit la mise en page Elementor */
  .atlox-hero{ display:block; }

  /* Titre : une ligne, centré, largeur commune */
  .atlox-hero-title{
    position:relative; left:50%; transform:translateX(-50%);
    width:var(--heroW); max-width:var(--heroW);
    white-space:nowrap; text-align:center; line-height:1.05;
    font-size:clamp(36px,3.2vw,54px); /* plus raisonnable */
    margin-top:8px; margin-bottom:10px;
  }

  /* Sous-titre aligné sous le titre */
  .atlox-hero-sub{
    position:relative; left:50%; transform:translateX(-50%);
    width:var(--heroW); max-width:var(--heroW);
    text-align:center; margin-bottom:16px;
  }

  /* Carte : même largeur exacte que le titre, centrée */
  .atlox-upload-card{
    position:relative; left:50%; transform:translateX(-50%);
    width:var(--heroW) !important; max-width:var(--heroW) !important;
    box-sizing:border-box; padding:26px 32px !important;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
  }

  /* Échelle douce des éléments internes pour l’harmonie desktop */
  .atlox-upload-row{ gap:12px; margin-bottom:0; }
  .atlox-btn-xl{ font-size:18px; padding:14px 24px; }
  #atlox-filename{ font-size:15px; }
}

/* === Custom styles for analyser result titles and list === */
/* Center the headings inside the analyzer result block */
.atlox-analyzer-wide .atlox-section-title {
  text-align: center !important;
}

/* Remove default list styling and align criteria text to the left */
.atlox-analyzer-wide ul {
  list-style: none !important;
  margin: 10px 0 6px 0 !important; /* reset left margin */
  padding-left: 0 !important;
  text-align: left !important;
}

.atlox-analyzer-wide li {
  list-style: none !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.atlox-analyzer-wide li::marker {
  content: "" !important;
}

.atlox-analyzer-wide li::before {
  content: none !important;
}

/* ====== RÉGLAGE GLOBAL D'ECHELLE (DESKTOP UNIQUEMENT) ====== */
/* Mets 0.85 pour -15 %, 0.9 pour -10 %, 1 pour 100 %, etc. */
@media (min-width:1200px){
  :root{
    --pc-scale: 0.85;               /* ← ajuste ce seul nombre */
    --heroW: clamp(900px, 60vw, 1120px); /* largeur de base (inchangée mobile) */
  }

  /* Même largeur pour Titre / Sous-titre / Carte, centrée sous le logo */
  .atlox-hero-title,
  .atlox-hero-sub,
  .atlox-upload-card{
    width: calc(var(--heroW) * var(--pc-scale)) !important;
    max-width: calc(var(--heroW) * var(--pc-scale)) !important;
    left: 50%;
    transform: translateX(-50%);
    position: relative;
    box-sizing: border-box;
  }

  /* Titre : une seule ligne, taille scalable */
  .atlox-hero-title{
    font-size: calc(clamp(36px, 3.2vw, 54px) * var(--pc-scale));
    margin-top:  calc(8px  * var(--pc-scale));
    margin-bottom: calc(10px * var(--pc-scale));
    white-space: nowrap;
    text-align: center;
    line-height: 1.05;
  }

  /* Sous-titre : léger scale + espacement */
  .atlox-hero-sub{
    font-size: calc(16px * var(--pc-scale));
    margin-bottom: calc(16px * var(--pc-scale));
    text-align: center;
  }

  /* Carte + contenus : paddings / gaps / tailles cohérents */
  .atlox-upload-card{
    padding: calc(26px * var(--pc-scale)) calc(32px * var(--pc-scale)) !important;
  }
  .atlox-upload-row{ gap: calc(12px * var(--pc-scale)); }

  /* Boutons & état fichier */
  .atlox-btn-xl{
    font-size: calc(18px * var(--pc-scale));
    padding: calc(14px * var(--pc-scale)) calc(24px * var(--pc-scale));
    border-radius: calc(14px * var(--pc-scale));
  }
  #atlox-filename{ font-size: calc(15px * var(--pc-scale)); }
}

/* === Nouveaux blocs UI Analyseur === */
.atlox-section-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--atlox-blue);
  margin: 24px 0 12px;
  text-align: left;
}

.atlox-cta-title {
  font-size: 20px;
  font-weight: 600;
  margin: 30px 0 16px;
  color: var(--atlox-orange);
  text-align: center;
}

.atlox-cta-sub {
  font-size: 16px;
  color: var(--atlox-blue);
  margin-bottom: 12px;
  text-align: center;
}

/* Bloc CTA global */
.atlox-cta {
  background:#fff;
  border:2px solid var(--atlox-orange);
  border-radius: var(--radius);
  padding:20px;
  margin-top:24px;
  text-align:center;
}

/* Mini-formulaire CTA */
.atlox-cta .atlox-field {
  justify-content:center;
  margin-bottom:12px;
}
.atlox-cta .atlox-btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  padding:10px 18px;
  margin:6px;
}

/* Titre au-dessus des logos contact */
.atlox-contacts{
font-family: 'Montserrat', sans-serif !important;
  font-size: 20px;
  font-weight: 600;
  margin: 30px 0 16px;
  color: #000;
  text-align: center;
}


/* Logos WhatsApp / Messenger (anciens dans les boutons) */
.atlox-cta .atlox-btn img {
  width:20px;
  height:20px;
  display:inline-block;
}

/* Largeur homogène analyse/critères/CTA */
@media (min-width:1200px){
  .atlox-analyzer-wide {
    width: calc(var(--heroW) * var(--pc-scale)) !important;
    max-width: calc(var(--heroW) * var(--pc-scale)) !important;
    margin-left:auto;
    margin-right:auto;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
  }
}

/* Logos WhatsApp / Messenger (nouvelle version en PNG hors CTA) */
.atlox-social-logos {
  text-align: center;
  margin-top: 20px;
}
.atlox-social-logos a {
  margin: 0 10px;
}
.atlox-social-logos img {
  height: 60px;
  width: auto;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  display: inline-block;
}

/* === CUSTOM MODIFICATIONS ===
   These rules were added to improve the layout of the CV analyzer page. The first
   block centers the contents of the upload card both horizontally and
   vertically, regardless of screen size. A minimum height is defined so that
   vertical centering has enough space to work when the card is large. The
   second block increases the size and weight of the analyzer result titles and
   ensures they are centered.  Without these overrides the titles were small
   and left‑aligned. */

/* Center the elements inside the orange upload card */
.atlox-upload-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 200px;
}

/* Make the result section titles larger and centered */
.atlox-section-title {
  font-size: 28px !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 40px 0 24px !important;
  color: var(--atlox-blue);
}

.atlox-cta-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin: 40px 0 24px !important;
  color: var(--atlox-orange);
}
