/* 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; }

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

.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; /*padding-left: 18px;*/ }
.ops-ul li { margin: 4px 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 { /* display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; */ }
.ops-cta { /*display: flex; gap: 10px;*/ 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; }
}

/* Impression - ne garder que .onepager-wrap */
@media print {
  .ops-actions,
  header, footer, .site-header, .site-footer,
  .wp-site-blocks > header, .wp-site-blocks > footer { display: none !important; }
  body * { visibility: hidden !important; }
  .onepager-wrap, .onepager-wrap * { visibility: visible !important; }
  .onepager-wrap { position: absolute; left: 0; top: 0; width: 100%; }
}

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

/* 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); }

/* Responsive pour les nouveaux blocs */
@media (max-width:900px){
  .ops-row-two{ grid-template-columns:1fr; }
  .ops-logo-overlay{ max-width:60%; }
}
@media print {

  /* Empêche Chrome d’ignorer les couleurs réelles */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  .onepager-wrap,
  .onepager-wrap * {
    color: var(--ops-txt, #FFF) !important;
    background-color: transparent !important;
  }
}
/* PRINT - largeur utile A4 + respect des couleurs + anti-coupures */
@media print {
  html, body { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  /* Zone imprimable calculée en mm: 182mm portrait, 269mm landscape 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;
  }

  /* Conserver la mise en page en 2 colonnes */
  .ops-row-two{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 6mm !important;
    row-gap: 6mm !important;
  }

  /* Empêcher les sauts au milieu des blocs clés */
  .ops-row-two, .ops-col, .ops-section, .ops-hero-wrap, .ops-wide, figure, img{
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Couleurs de texte stables même en thème sombre */
  .onepager-wrap, .onepager-wrap *{
    color: var(--ops-txt, #fff) !important;
    background: transparent !important;
  }

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

  /* Un peu de sizing pour lisibilité sur papier */
  .ops-title{ font-size: 22pt !important; }
  .ops-infos{ font-size: 11pt !important; line-height: 1.45 !important; }
}
/* 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; }
@media print {
  /* Réduire le hero pour laisser de la place à "Présentation" sur la page 1 */
  .ops-hero{ max-height: 100mm !important; object-fit: cover !important; }

  /* Eviter une coupure entre header/infos/hero et le bloc suivant */
  .ops-top{ break-inside: avoid !important; page-break-after: avoid !important; }

  /* Eviter les coupures dans les blocs de 2 colonnes et sections */
  .ops-row-two, .ops-col, .ops-section, .ops-hero-wrap, .ops-wide, figure, img{
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

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