/* ========================================================
   Neo-PLAY Calculator — CSS WordPress consolidé
   Remplace le CSS dans Apparence > Personnaliser
   ======================================================== */

/* Bouton custom */
.btn-custom { background-color: #3e7dc0; }

/* Liens sans soulignement */
a { text-decoration: none !important; }

/* ---------- 1) Colonnes libellés : pseudo-libellés Elementor ---------- */
#p1TableF2P td:first-child::before, #p1TableF2P td:first-child:before,
#p1TableP2P td:first-child::before, #p1TableP2P td:first-child:before,
#p1TablePPG td:first-child::before, #p1TablePPG td:first-child:before,
#p1TablePBG td:first-child::before, #p1TablePBG td:first-child:before {
  content: none !important;
}

/* ---------- 2) KPI gras 3 dernières lignes ---------- */
#p1TablePBG tbody tr:nth-last-of-type(-n+3) > td:nth-child(n+2),
#p1TableP2P tbody tr:nth-last-of-type(-n+3) > td:nth-child(n+2),
#p1TableF2P tbody tr:nth-last-of-type(-n+3) > td:nth-child(n+2) { font-weight: 800 !important; }
#p1TablePBG tbody tr:nth-last-of-type(-n+3) > td:nth-child(n+2) *,
#p1TableP2P tbody tr:nth-last-of-type(-n+3) > td:nth-child(n+2) *,
#p1TableF2P tbody tr:nth-last-of-type(-n+3) > td:nth-child(n+2) * { font-weight: 800 !important; }

#plTableF2P tbody tr td { font-weight: normal !important; }
#plTableF2P tbody tr:nth-last-child(3) td,
#plTableF2P tbody tr:nth-last-child(2) td,
#plTableF2P tbody tr:nth-last-child(1) td { font-weight: 800 !important; }

#secPL_PPG table.data tbody tr td,
#secPL_F2P table.data tbody tr td { font-weight: normal !important; }
#secPL_PPG table.data tbody tr:nth-last-child(3) td,
#secPL_PPG table.data tbody tr:nth-last-child(2) td,
#secPL_PPG table.data tbody tr:nth-last-child(1) td,
#secPL_F2P table.data tbody tr:nth-last-child(3) td,
#secPL_F2P table.data tbody tr:nth-last-child(2) td,
#secPL_F2P table.data tbody tr:nth-last-child(1) td { font-weight: 800 !important; }

/* ---------- 3) UI – section Commentaires ---------- */
#langBtn { display: none !important; }
#secCOMMENTS .section-title .badge,
#secCOMMENTS .section-title .badge * { display: none !important; }
[id^="SEC"][id*="COMMEN"] .section-title .badge,
[id^="SEC"][id*="COMMEN"] .section-title a.badge,
[id^="SEC"][id*="COMMEN"] .section-title button.badge { display: none !important; }
#secCOMMENTS .section-title .badges,
#secCOMMENTS .section-title .badge-chip { display: none !important; }

/* ---------- 4) data-label responsive ---------- */
#neoplay-calc [data-label]::before { content: none !important; }

/* ---------- 5) Fix barre blanche header ---------- */
body[class*="calculteur-roi-neo-play"] .pix-header-placeholder {
  display: none !important; height: 0 !important; min-height: 0 !important;
  padding: 0 !important; margin: 0 !important; background: transparent !important;
}
body[class*="calculteur-roi-neo-play"] .pix-mobile-header-sticky,
body[class*="calculteur-roi-neo-play"] .pix-topbar,
body[class*="calculteur-roi-neo-play"] .pix-header-box,
body[class*="calculteur-roi-neo-play"] .pix-header-desktop,
body[class*="calculteur-roi-neo-play"] header#masthead {
  background-color: #010232 !important; box-shadow: none !important;
}
body[class*="calculteur-roi-neo-play"] main .elementor-section.elementor-top-section:first-of-type,
body[class*="calculteur-roi-neo-play"] main .card:first-of-type {
  background: transparent !important; border: 0 !important;
  box-shadow: none !important; margin-top: 0 !important; padding-top: 0 !important;
}

/* ---------- 6) Pseudo-éléments tableaux F2P et PPG ---------- */
#secPL_F2P table.data td::before, #secPL_F2P table.data td::after,
#plTableF2P td::before, #plTableF2P td::after,
#plTableF2P tr::before, #plTableF2P tr::after { content: none !important; display: none !important; }
#secPL_F2P table.data td, #plTableF2P td { font-size: 14px !important; }
#secPL_F2P table.data td[data-label]::before,
#plTableF2P td[data-label]::before { content: none !important; display: none !important; }
#secPL_F2P table.data tbody td:first-child,
#plTableF2P tbody td:first-child { color: inherit !important; font-size: 14px !important; line-height: 1.5 !important; }

#secPL_PPG table.data td::before, #secPL_PPG table.data td::after,
#plTablePPG td::before, #plTablePPG td::after { content: none !important; display: none !important; }
#secPL_PPG table.data tbody td:first-child,
#plTablePPG tbody td:first-child { color: #0B1220 !important; font-size: 14px !important; line-height: 1.5 !important; opacity: 1 !important; }
#secPL_PPG table.data tbody td, #plTablePPG tbody td { color: inherit !important; font-size: 14px !important; }
#secPL_PPG table.data td, #plTablePPG td { font-size: 14px !important; }
#secPL_PPG table.data td *, #plTablePPG td * { font-size: inherit !important; }

/* ---------- 7) Contour blanc Business Model PPG et F2P ---------- */
#secPPG {
  background: #ffffff !important; border-radius: 18px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important; overflow: hidden !important; margin-bottom: 18px !important;
}
#secPPG .section-title { background: var(--neox-dark) !important; color: #fff !important; padding: 12px 14px !important; font-weight: 800 !important; border-radius: 0 !important; }
#secPPG.collapsed::before, #secF2P.collapsed::before, #secF2P_ASSUMPTIONS.collapsed::before { display: none !important; }
.card.collapsed { background: #ffffff !important; border-radius: 18px !important; box-shadow: 0 16px 40px rgba(0,0,0,.10) !important; border: 1px solid rgba(255,255,255,.16) !important; }

#secF2P, #secF2P_ASSUMPTIONS,
[id*="F2P"][id*="BUSINESS"], [id*="F2P"][id*="ASSUMPTION"] {
  background: #ffffff !important; border-radius: 18px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important; overflow: hidden !important; margin-bottom: 18px !important;
}
#secF2P .section-title, #secF2P_ASSUMPTIONS .section-title,
[id*="F2P"][id*="BUSINESS"] .section-title, [id*="F2P"][id*="ASSUMPTION"] .section-title {
  background: var(--neox-dark) !important; color: #fff !important; padding: 12px 14px !important; font-weight: 800 !important; border-radius: 0 !important;
}

/* ---------- 8) Bloc Project Info ---------- */
#secMETA {
  display: block !important; visibility: visible !important; opacity: 1 !important;
  position: relative !important; height: auto !important; overflow: hidden !important;
  z-index: 10 !important; margin-bottom: 24px !important;
  background: var(--card) !important; border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important; border: 1px solid rgba(255,255,255,.16) !important;
}
#secMETA::before { display: none !important; }
#secMETA .content { display: block !important; visibility: visible !important; opacity: 1 !important; padding: clamp(14px,2vw,20px) !important; }
#secMETA .grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
#secMETA .section-title { background: var(--neox-dark) !important; color: #fff !important; padding: 12px 14px !important; font-weight: 800 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
@media (max-width: 860px) { #secMETA .grid { grid-template-columns: 1fr !important; } }

/* ---------- 9) Débordement textes Business Model ---------- */
#secPPG .unit, #secPPG_ASSUMPTIONS .unit, #secF2P .unit, #secF2P_ASSUMPTIONS .unit,
[id*="BUSINESS"] .unit, [id*="ASSUMPTION"] .unit { font-size: 11px !important; line-height: 1.3 !important; white-space: normal !important; word-wrap: break-word !important; }
#secPPG input[type="number"] + .unit, #secF2P input[type="number"] + .unit,
.input-group .unit, .field-group .unit { font-size: 10px !important; padding-left: 4px !important; max-width: 120px !important; overflow-wrap: break-word !important; }
#secPPG input[type="number"], #secF2P input[type="number"],
#secPPG_ASSUMPTIONS input[type="number"], #secF2P_ASSUMPTIONS input[type="number"] { padding-right: 8px !important; }
.input-wrapper, .field-wrapper { display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important; }

/* ---------- 10) Anti-coupure mobile ---------- */
#neoplay-calc table.data td, #neoplay-calc table.data th { word-break: keep-all !important; overflow-wrap: break-word !important; hyphens: none !important; white-space: normal !important; }
#secPL_PPG table.data tbody td:first-child, #secPL_F2P table.data tbody td:first-child,
#plTablePPG tbody td:first-child, #plTableF2P tbody td:first-child { word-break: keep-all !important; overflow-wrap: break-word !important; hyphens: auto !important; min-width: 140px !important; }
@media (max-width: 640px) {
  #neoplay-calc table.data td, #neoplay-calc table.data th { word-break: keep-all !important; overflow-wrap: anywhere !important; hyphens: manual !important; line-height: 1.4 !important; padding: 10px 8px !important; }
  #secPL_PPG table.data tbody td:first-child, #secPL_F2P table.data tbody td:first-child { min-width: 180px !important; max-width: 200px !important; white-space: normal !important; }
  #secPPG .label, #secF2P .label, #secPPG_ASSUMPTIONS .label, #secF2P_ASSUMPTIONS .label { word-break: keep-all !important; hyphens: auto !important; line-height: 1.5 !important; }
}
td:first-child { -webkit-hyphens: auto !important; -moz-hyphens: auto !important; hyphens: auto !important; }

/* ---------- 11) CTA Contact obfuscation ---------- */
.neox-align { width: 100%; }
.neox-align.neox-left { text-align: left; }
.neox-align.neox-center { text-align: center; }
.neox-align.neox-right { text-align: right; }
i[class^="pixicon-"], i[class*=" pixicon-"], .fa, .fas, .far, .fab { display: inline-block; width: 1.25em; min-width: 1.25em; text-align: center; }
.neox-logos { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; row-gap: 12px; }
.neox-obf-click { flex: 0 0 auto; display: inline-flex; align-items: center; }
.neox-logos .neox-obf-click img { height: 70px; width: auto; display: block; cursor: pointer; }
@media (max-width: 480px) { .neox-logos { gap: 16px; } .neox-logos .neox-obf-click img { height: 48px; } }

/* ---------- 12) CF7 feedback ---------- */
body .wpcf7 form .wpcf7-response-output { display: none !important; margin: 24px auto 0 !important; max-width: 720px; width: 100%; padding: 16px 20px !important; border-radius: 14px !important; font-weight: 700 !important; font-size: 16px !important; line-height: 1.4 !important; text-align: center !important; box-shadow: 0 10px 30px rgba(0,0,0,.25) !important; }
body .wpcf7 form .wpcf7-response-output:not(:empty) { display: block !important; }
body .wpcf7 form.sent .wpcf7-response-output, body .wpcf7 form.invalid .wpcf7-response-output, body .wpcf7 form.failed .wpcf7-response-output, body .wpcf7 form.spam .wpcf7-response-output { display: block !important; }
body .wpcf7 form.invalid .wpcf7-response-output, body .wpcf7 form.failed .wpcf7-response-output, body .wpcf7 form.spam .wpcf7-response-output { background: rgba(255,196,0,.12) !important; border: 2px solid rgba(255,196,0,.95) !important; color: #fff !important; }
body .wpcf7 form.sent .wpcf7-response-output { background: rgba(46,204,113,.16) !important; border: 2px solid rgba(46,204,113,.95) !important; color: #fff !important; }
@media (max-width: 768px) { body .wpcf7 form .wpcf7-response-output { max-width: 92%; font-size: 15px; } }
body .wpcf7 form.sent label, body .wpcf7 form.sent .wpcf7-form-control, body .wpcf7 form.sent .wpcf7-form-control-wrap, body .wpcf7 form.sent .wpcf7-submit, body .wpcf7 form.sent .wpcf7-spinner, body .wpcf7 form.sent .wpcf7-not-valid-tip, body .wpcf7 form.sent .wpcf7-recaptcha { display: none !important; }
.btn-custom-submit { background-color: #00d3aa !important; border-color: #00d3aa !important; color: #ffffff !important; }
.btn-custom-submit:hover { background-color: #00b894 !important; border-color: #00b894 !important; }

/* ---------- 13) Boutons flottants — même largeur ---------- */
.float-actions { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 6px !important; width: 170px !important; min-width: 170px !important; }
.float-actions .fab, .float-actions button { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; text-align: center !important; display: block !important; padding: 10px 12px !important; white-space: nowrap !important; overflow: visible !important; font-size: 13px !important; }

/* ---------- 14) Masquer Weglot sur page calculateur ---------- */
body[class*="calculteur-roi-neo-play"] .weglot-container,
body[class*="calculteur-roi-neo-play"] .country-selector,
body[class*="calculteur-roi-neo-play"] [class*="weglot"],
body[class*="calculteur-roi-neo-play"] #weglot-listbox { display: none !important; visibility: hidden !important; opacity: 0 !important; }
