/* ============================================================================
   cq-base.css — Styles communs aux 12 instruments InfiniSuite/CSS-Questionnaires.
   Les styles SPÉCIFIQUES de chaque instrument sont dans
   /assets/css/instruments/{slug}.css et conservés VERBATIM depuis les HTML refs.
   ============================================================================ */

.cq-instrument {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
  line-height: 1.5;
  color: #2c3e50;
  margin: 0 auto;
  max-width: 100%;
}

.cq-error {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
  border-radius: 6px;
  padding: 16px;
  margin: 20px 0;
  font-size: 14px;
}

.cq-signature-wrap {
  margin: 30px 0 12px;
  padding: 24px;
  background: #f8f9fa;
  border-left: 4px solid #2c5f7c;
  border-radius: 6px;
}
.cq-signature h4 {
  margin-top: 0;
  color: #2c5f7c;
  font-size: 18px;
}
.cq-signature p {
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.6;
}
.cq-signature a {
  color: #2c5f7c;
  text-decoration: underline;
}

/* ============= Liste des questionnaires (shortcode list) ============= */

.cq-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.cq-list-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-left: 4px solid #2c5f7c;
  border-radius: 6px;
  text-decoration: none;
  color: #24292e;
  font-weight: 500;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.cq-list-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  color: #2c5f7c;
}

.cq-list-card-arrow {
  color: #6a737d;
  font-size: 20px;
}

/* ============= Bouton « Imprimer mes résultats » universel ============= */

.cq-print-btn,
.cq-instrument .cq-print-btn {
  display: inline-block;
  padding: 12px 24px;
  background: #2c5f7c;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  margin: 8px 6px;
  transition: background 0.15s ease;
}
.cq-print-btn:hover {
  background: #1e4458;
}

@media print {
  body { background: #fff !important; }
  .cq-print-btn,
  .cq-instrument button[type="button"]:not(.cq-keep-on-print),
  .cq-instrument .bb-burn-team-section,
  .cq-instrument .bb-det-team-section,
  .cq-instrument .bb-charge-team-section,
  .cq-instrument .bb-time-team-section,
  .cq-instrument .bb-dev-team-section,
  .cq-instrument .bb-soutien-team-section,
  .cq-instrument .bb-change-team-section,
  .cq-instrument .bb-res-team-section,
  .cq-instrument .bbpe-team-section,
  .cq-instrument .bb-valeurs-team-section,
  .cq-instrument .bb-chg-team-section,
  .cq-instrument .bb-inq-team-section,
  .cq-instrument input[type="email"],
  .cq-instrument .cq-instrument-form,
  .cq-instrument .bb-burn-progress-bar,
  .cq-instrument .bb-burn-progress-text {
    display: none !important;
  }
}

/* ============= Loading spinner pour AJAX ============= */

.cq-loading {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top-color: #2c5f7c;
  border-radius: 50%;
  animation: cq-spin 0.7s linear infinite;
  vertical-align: middle;
  margin-right: 8px;
}

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

/* ============= Blocs cachés jusqu'aux résultats ============= */
/* Les blocs "Vous souhaitez approfondir" et "Contribuer au portrait d'équipe"
   ne doivent apparaître qu'APRÈS que le répondant a cliqué sur le calculer. */
.cq-hide-until-results {
  display: none !important;
}
.cq-hide-until-results.cq-now-visible,
.cq-results-shown .cq-hide-until-results {
  display: block !important;
  animation: cq-fade-in 0.4s ease-out;
}

@keyframes cq-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============= Section "Contribuer au portrait d'équipe" — fallback styles ============= */
/* Pour les 4 instruments où la section est auto-injectée et qui n'ont pas
   leurs propres styles bb-XX-team-* dans leur CSS spécifique. */
.cq-team-contribute-section {
  margin: 30px 0 20px;
  padding: 24px;
  background: #f0f7fc;
  border: 2px dashed #2c5f7c;
  border-radius: 8px;
  text-align: center;
}
.cq-team-contribute-section h3 {
  margin: 0 0 12px;
  color: #2c5f7c;
  font-size: 18px;
}
.cq-team-contribute-section p {
  margin: 8px 0;
  color: #444;
  font-size: 14px;
}
.cq-team-contribute-section .cq-team-code-input {
  width: 100%;
  max-width: 280px;
  padding: 12px 16px;
  border: 2px solid #ccd6dd;
  border-radius: 6px;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  margin: 10px auto;
  display: block;
  font-family: inherit;
}
.cq-team-contribute-section .cq-team-contribute-btn {
  display: inline-block;
  padding: 12px 24px;
  background: #2c5f7c;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin: 10px 0;
  transition: background 0.15s ease;
}
.cq-team-contribute-section .cq-team-contribute-btn:hover {
  background: #1e4458;
}
.cq-team-contribute-section .cq-team-contribute-btn:disabled {
  background: #aaa;
  cursor: not-allowed;
}
.cq-team-message {
  margin: 12px 0;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
}
.cq-team-message.cq-team-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.cq-team-message.cq-team-error   { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.cq-team-message.cq-team-loading { background: #fff3cd; color: #856404; border: 1px solid #ffeaa7; }

/* ============= Checkbox d'opt-in (G+H) ============= */
.cq-team-optin-wrap {
  background: #fff !important;
  border: 1px solid #ccd0d4 !important;
  border-radius: 6px !important;
  padding: 14px 18px !important;
  margin: 14px 0 !important;
  text-align: left !important;
  transition: border-color 0.2s ease;
}
.cq-team-optin-wrap:hover { border-color: #2c5f7c !important; }
.cq-team-optin-wrap label {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  cursor: pointer !important;
  margin: 0 !important;
  font-size: 13px !important;
  color: #333 !important;
  line-height: 1.5 !important;
}
.cq-team-optin-checkbox {
  margin-top: 3px !important;
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  accent-color: #2c5f7c !important;
}

/* ============= Accessibility helpers ============= */

.cq-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* =====================================================================
   CQ v3.5.1 — Masquage du titre de page du theme sur les pages
   de questionnaire (le titre vit desormais dans la carte d'intro).
   ===================================================================== */
body.cq-questionnaire-page .entry-title,
body.cq-questionnaire-page h1.entry-title,
body.cq-questionnaire-page .page-title,
body.cq-questionnaire-page .entry-header .entry-title,
body.cq-questionnaire-page .page-header .entry-title,
body.cq-questionnaire-page .single-post-title,
body.cq-questionnaire-page .wp-block-post-title,
body.cq-questionnaire-page .elementor-page-title,
body.cq-questionnaire-page .elementor-widget-theme-page-title,
body.cq-questionnaire-page .elementor-heading-title.page-title,
body.cq-questionnaire-page .ast-single-post-title,
body.cq-questionnaire-page .has-page-title .page-title {
    display: none !important;
}

/* =====================================================================
   CQ v3.5.1 — Impression : uniquement les RESULTATS (aucune question/reponse).
   Le holder est un clone des resultats injecte en enfant direct de <body>.
   ===================================================================== */
#cq-print-holder { display: none; }

@media print {
    body.cq-printing > *:not(#cq-print-holder) { display: none !important; }
    body.cq-printing #cq-print-holder { display: block !important; }
    #cq-print-holder button,
    #cq-print-holder [onclick],
    #cq-print-holder .cq-no-print,
    #cq-print-holder input,
    #cq-print-holder textarea,
    #cq-print-holder select { display: none !important; }
}
