/* Wrapper global - couleurs via variables */
.onepager-wrap {
  padding: 1rem;
  min-height: 100vh;
  background: var(--ops-bg, #121212 !important);
  color: var(--ops-txt, #FFF !important);
  margin: 2rem auto;
}

/* Mise en page générale */
.site-main { width: 100% !important; }
.ops-wrap { max-width: 900px; margin: 0 auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; border: 1px solid #333; padding: 1rem 1rem 0; }

.ops-actions { text-align: center; margin: 2rem auto; }
.ops-print { padding: 8px 12px; border: 1px solid #777; border-radius: 6px; background: #6B7D9C; cursor: pointer; margin:auto; }

.dash { background-color: #181818; padding: 0.6rem; height: 100%; }

/* Header */
.ops-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 2px solid rgba(0,0,0,0.08); padding-bottom: 12px; margin-bottom: 16px; }
.ops-hgroup { line-height: 1.25; }
.ops-title { font-size: 28px; font-weight: 800; margin: 0; }
.ops-sub { font-size: 14px; opacity: .8; margin: 4px 0 0; }
.ops-logo { max-height: 48px; width: auto; }

/* Visuels */
.ops-hero { width: 100%; max-height: 560px; object-fit: cover; border: 1px solid rgba(0,0,0,0.08); margin: 12px 0 16px; }
.ops-col figure { margin: 0; }

/* Sections */
.ops-section { border: 1px solid rgba(0,0,0,0.08); padding: 12px; border-radius: 8px; background: rgba(255,255,255,0.02); }
.ops-section h3 { margin: 0 0 8px; font-size: 16px; font-weight: 700; }
.ops-ul { margin: 0; }
.ops-ul li { margin: 4px 0; }
.ops-col {background-color: #181818; height:100%;}
.ops-col p {margin:1rem 0 0;}

/* Grilles */
.ops-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; }
.ops-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ops-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.ops-gallery img { width: 100%; height: auto; border: 1px solid rgba(0,0,0,0.08); }
.ops-contact { }
.ops-cta { align-items: center; margin-top: 12px; }
.ops-btn { display: inline-block; margin: 0.2rem 0 0.05rem; padding: 10px 14px; border: 1px solid currentColor; border-radius: 8px; text-decoration: none; font-weight: 600; background: #6B7D9C; }
.ops-btn:hover { background: #A3B9C8; color: #fff; }

/* Mise en page magazine */
.ops-mag { display: grid; grid-template-columns: 56% 44%; gap: 18px; }
.ops-col-left .ops-section + .ops-section { margin-top: 14px; }
.ops-col-right .ops-hero { margin-top: 0; }
.ops-col-right .ops-gallery { grid-template-columns: 1fr; }
.ops-col-right .ops-gallery img { width: 100%; height: auto; }

/* Liens */
a { color: inherit; text-decoration: underline; }

/* Responsive */
@media (max-width: 900px) {
  .ops-grid, .ops-mag, .ops-contact, .ops-two { grid-template-columns: 1fr; }
}

/* --------- AJOUTS MINIMAUX 1.5 --------- */

/* Préserver les retours chariot (textarea admin) */
.ops-preserve-nl { white-space: pre-wrap; }

/* Infos sous le nom */
.ops-infos { margin: 6px 0 16px 0; font-size: 14px; line-height: 1.5; }
.ops-infos > div { margin: 2px 0; }

/* Conteneur combiné header+infos+hero pour l’overlay badge */
.ops-top { position: relative; }

/* Hero + overlay logo artiste */
.ops-hero-wrap { position: relative; margin: 12px 0 16px 0; }
.ops-hero-wrap .ops-hero { width: 100%; max-height: 560px; object-fit: cover; border: 1px solid rgba(0,0,0,0.08); }
.ops-logo-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); max-width: 40%; height: auto; opacity: .95; pointer-events: none; z-index: 2; }
.ops-credit { opacity: .7; font-size: 12px; margin-top: 4px; }

/* Badge label - par-dessus header+infos+hero */
.ops-label-badge { position: absolute; top: 0; right: 0; width: 10rem; height: auto; border-radius: 50%; z-index: 5; pointer-events: none; filter: drop-shadow(0 2px 6px rgba(0,0,0,.45)); }

/* Alternance texte/image */
.ops-row-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; margin: 18px 0; }
.ops-row-two .ops-col { min-width: 0; }

/* Image pleine largeur finale */
.ops-wide { margin: 18px 0; }
.ops-wide img { width: 100%; height: auto; border: 1px solid rgba(0,0,0,0.08); }

/* Forcer l'affichage du titre sur la home */
.home .ops-title { display: block !important; visibility: visible !important; position: relative; z-index: 3; }

/* Laisser de la place pour le badge à droite */
.ops-header { padding-right: calc(var(--badge-size, 72px) + 12px); }

/* S'assurer que le badge ne couvre pas le titre au centre */
.ops-label-badge { pointer-events: none; z-index: 5; }

/* ===================== PRINT CONSOLIDÉ ===================== */
@media print {
  /* Masquer le chrome WP */
  .ops-actions,
  header, footer, .site-header, .site-footer,
  .wp-site-blocks > header, .wp-site-blocks > footer { display: none !important; }

  /* Ne garder que le onepager */
  body * { visibility: hidden !important; }
  .onepager-wrap, .onepager-wrap * { visibility: visible !important; }
  .onepager-wrap { position: absolute; left: 0; top: 0; width: 100%; }

  /* Largeur utile A4 via --ops-print-width */
  .ops-wrap {
    width: var(--ops-print-width, 182mm) !important;
    max-width: none !important;
    margin: 0 auto !important;
    border: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* forcer l'affichage du titre du onepager */
  .onepager-wrap header.ops-header { display: flex !important; visibility: visible !important; }

  /* Respect des couleurs par le navigateur */
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  .onepager-wrap, .onepager-wrap * { color: var(--ops-txt, #FFF) !important; background: transparent !important; }

  /* Ajustements de mise en page pour éviter les blancs */
  .ops-hero { max-height: 120mm !important; object-fit: cover !important; }
  .ops-top { break-inside: avoid !important; page-break-after: avoid !important; }

  /* Empiler les 2 colonnes en impression pour une pagination propre */
  .ops-row-two { display: block !important; }
  .ops-row-two .ops-col { break-inside: avoid !important; page-break-inside: avoid !important; margin: 6mm 0 !important; }

  /* Préserver les gros visuels */
  .ops-hero-wrap, .ops-wide, figure { break-inside: avoid !important; page-break-inside: avoid !important; }

  /* Overlays au-dessus */
  .ops-logo-overlay { z-index: 2 !important; }
  .ops-label-badge { z-index: 5 !important; }

  /* Tailles lisibles papier */
  .ops-title { font-size: 22pt !important; }
  .ops-infos { font-size: 11pt !important; line-height: 1.45 !important; }
}
