/* ═══════════════════════════════════════════════════════════════
   PHOTOPREST BILLING — frontend.css  v2.0
   Pages publiques : Tarifs, Achat, Merci, Dashboard
   Palette ivoire/or · Cormorant Garamond + DM Sans
   Sections alternées sombre (#131110) / clair (#faf8f4) / warm (#f3ede1)
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ── Tokens ── */
:root {
  --ppb-dark:       #131110;
  --ppb-dark-2:     #1c1915;
  --ppb-dark-3:     #242019;
  --ppb-light:      #faf8f4;
  --ppb-warm:       #f3ede1;
  --ppb-white:      #ffffff;
  --ppb-ink:        #18140f;
  --ppb-ink-soft:   #4a4238;
  --ppb-ink-mute:   #8c8275;
  --ppb-gold:       #b8924a;
  --ppb-gold-deep:  #8c6d33;
  --ppb-gold-light: #d4b574;
  --ppb-gold-bg:    rgba(184,146,74,.08);
  --ppb-border:     rgba(26,22,18,.08);
  --ppb-border-mid: rgba(26,22,18,.15);
  --ppb-success:    #1a6a2a;
  --ppb-danger:     #a02020;
  --ppb-serif:      'Cormorant Garamond', Georgia, serif;
  --ppb-sans:       'DM Sans', system-ui, sans-serif;
  --ppb-r:          10px;
}

/* ── Reset dans le contexte plugin ── */
.ppb-page * { box-sizing: border-box; }
.ppb-page { font-family: var(--ppb-sans); color: var(--ppb-ink); font-size: 15px; line-height: 1.55; }

/* ── Containers ── */
.ppb-container        { max-width: 1100px; margin: 0 auto; padding: 0 28px; }
.ppb-container--wide  { max-width: 1320px; }
.ppb-container--narrow{ max-width: 680px; }

/* ── Sections ── */
.ppb-section          { padding: 72px 0; }
.ppb-section--dark    { background: var(--ppb-dark); color: #e8e2d8; }
.ppb-section--light   { background: var(--ppb-light); color: var(--ppb-ink); }
.ppb-section--warm    { background: var(--ppb-warm); color: var(--ppb-ink); }
.ppb-section--packs   { padding: 56px 0 48px; }
.ppb-section--fineprint { padding: 36px 0 56px; }
.ppb-section--credits-explain { padding: 72px 0 80px; }

/* ── Section headers ── */
.ppb-section-header   { text-align: center; max-width: 660px; margin: 0 auto 48px; }
.ppb-section-header--left { text-align: left; margin-left: 0; margin-right: 0; }
.ppb-section-title    { font-family: var(--ppb-serif); font-size: clamp(30px,3.5vw,44px); font-weight: 300; letter-spacing:-.02em; margin: 0 0 14px; line-height:1.1; }
.ppb-section--dark .ppb-section-title { color: #ede8de; }
.ppb-section-title--md { font-size: clamp(26px,3vw,36px); }
.ppb-section-sub      { font-size: 14.5px; line-height: 1.7; color: var(--ppb-ink-soft); }
.ppb-section--dark .ppb-section-sub { color: rgba(232,226,216,.65); }

/* ── Eyebrow ── */
.ppb-eyebrow {
  display: inline-block; margin-bottom: 18px;
  font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase;
  color: var(--ppb-gold-light);
}

/* ── Buttons ── */
.ppb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 11px 22px; border-radius: 5px; border: 1px solid transparent;
  font-family: var(--ppb-sans); font-size: 12.5px; font-weight: 500; letter-spacing:.03em;
  cursor: pointer; transition: all .18s ease; text-decoration: none; line-height: 1;
}
.ppb-btn--gold    { background: var(--ppb-gold); color: var(--ppb-ink); border-color: var(--ppb-gold); }
.ppb-btn--gold:hover { background: var(--ppb-gold-deep); color: #fff; }
.ppb-btn--outline { background: transparent; color: var(--ppb-ink); border-color: var(--ppb-border-mid); }
.ppb-btn--outline:hover { border-color: var(--ppb-ink); }
.ppb-btn--outline-light { background: transparent; color: rgba(232,226,216,.85); border-color: rgba(232,226,216,.25); }
.ppb-btn--outline-light:hover { border-color: rgba(232,226,216,.65); color: #fff; }
.ppb-btn--sm  { padding: 8px 14px; font-size: 11.5px; }
.ppb-btn--lg  { padding: 14px 26px; font-size: 13px; }
.ppb-btn--full { width: 100%; justify-content: center; }

/* ── Notices ── */
.ppb-notice { padding: 16px 20px; background: var(--ppb-gold-bg); border-left: 3px solid var(--ppb-gold); border-radius: 5px; margin: 20px 0; font-size: 14px; }
.ppb-notice a { color: var(--ppb-gold-deep); font-weight: 500; }

/* ── Pills ── */
.ppb-pill { display: inline-block; padding: 2px 9px; font-size: 10px; font-weight: 500; border-radius: 99px; }
.ppb-pill--green { background: #d4f4d4; color: var(--ppb-success); }
.ppb-pill--red   { background: #f4dada; color: var(--ppb-danger); }
.ppb-credits-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px; background: var(--ppb-gold-bg); border: 1px solid rgba(184,146,74,.28); color: var(--ppb-gold-deep); border-radius: 99px; font-size: 12.5px; font-weight: 500; }

/* ── Spinner ── */
.ppb-spinner { display: inline-block; width: 32px; height: 32px; border: 3px solid var(--ppb-border); border-top-color: var(--ppb-gold); border-radius: 50%; animation: ppb-spin .75s linear infinite; margin-bottom: 10px; }
@keyframes ppb-spin { to { transform: rotate(360deg); } }
.ppb-loading { text-align: center; padding: 40px; color: var(--ppb-ink-mute); }

/* ── Helpers ── */
.ta-r { text-align: right; }
.ppb-gold { color: var(--ppb-gold); }


/* ═══════════════════════════════════════════════════════════════
   HERO — PAGE TARIFS
   ═══════════════════════════════════════════════════════════════ */
.ppb-pricing-hero {
  padding: 100px 0 90px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ppb-pricing-hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 75% 25%, rgba(184,146,74,.18), transparent 46%),
    radial-gradient(circle at 18% 75%, rgba(184,146,74,.10), transparent 42%);
  pointer-events: none;
}
.ppb-pricing-hero .ppb-container { position: relative; z-index: 1; }
.ppb-hero-title {
  font-family: var(--ppb-serif);
  font-size: clamp(46px, 7vw, 88px);
  font-weight: 300; line-height: 1; letter-spacing: -.025em;
  color: #ede8de; margin: 0 0 20px;
}
.ppb-hero-title em { font-style: italic; color: var(--ppb-gold-light); }
.ppb-hero-sub { font-size: 15px; line-height: 1.7; color: rgba(232,226,216,.65); max-width: 560px; margin: 0 auto; }


/* ═══════════════════════════════════════════════════════════════
   PACKS GRID
   ═══════════════════════════════════════════════════════════════ */
.ppb-packs-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
}
/* 5 packs normaux */
.ppb-packs-grid--5 { grid-template-columns: repeat(5, 1fr); }
/* Page achat : 6 colonnes (5 packs + 1 topup) */
.ppb-packs-grid--buy { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1200px) {
  .ppb-packs-grid--5  { grid-template-columns: repeat(3, 1fr); }
  .ppb-packs-grid--buy { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .ppb-packs-grid--5,
  .ppb-packs-grid--buy { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 500px) {
  .ppb-packs-grid--5,
  .ppb-packs-grid--buy { grid-template-columns: 1fr; }
}

.ppb-pack {
  background: var(--ppb-white);
  border: 1px solid var(--ppb-border);
  border-radius: var(--ppb-r);
  padding: 26px 20px 22px;
  display: flex; flex-direction: column;
  position: relative;
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.ppb-pack:hover {
  transform: translateY(-5px);
  border-color: var(--ppb-gold-light);
  box-shadow: 0 14px 40px rgba(26,22,18,.08);
}
.ppb-pack--star {
  background: var(--ppb-dark);
  color: #e8e2d8;
  border-color: var(--ppb-dark);
  transform: scale(1.04);
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
  z-index: 2;
}
.ppb-pack--star:hover { transform: scale(1.04) translateY(-4px); border-color: var(--ppb-gold); }
.ppb-pack--topup {
  background: var(--ppb-warm);
  border-style: dashed;
  border-color: var(--ppb-border-mid);
}
.ppb-pack--selected { border-color: var(--ppb-gold) !important; border-width: 2px !important; box-shadow: 0 0 0 4px rgba(184,146,74,.12) !important; }

.ppb-pack-ribbon {
  position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
  background: var(--ppb-gold); color: var(--ppb-ink);
  font-size: 8.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 99px; white-space: nowrap;
}
.ppb-pack-ribbon--muted { background: var(--ppb-warm); color: var(--ppb-ink-mute); border: 1px solid var(--ppb-border-mid); }

.ppb-pack-target {
  font-size: 9px; letter-spacing: .16em; text-transform: uppercase;
  font-weight: 600; color: var(--ppb-gold-deep); margin-bottom: 8px; min-height: 14px;
}
.ppb-pack--star .ppb-pack-target { color: var(--ppb-gold-light); }

.ppb-pack-name { font-family: var(--ppb-serif); font-size: 28px; font-weight: 400; line-height: 1; margin: 0 0 6px; }
.ppb-pack--star .ppb-pack-name { color: var(--ppb-gold-light); }

.ppb-pack-pitch { font-size: 11px; color: var(--ppb-ink-mute); line-height: 1.45; margin: 0 0 18px; min-height: 28px; }
.ppb-pack--star .ppb-pack-pitch { color: rgba(232,226,216,.52); }

.ppb-pack-price-block {
  border-top: 1px solid var(--ppb-border);
  border-bottom: 1px solid var(--ppb-border);
  padding: 16px 0; margin-bottom: 16px;
}
.ppb-pack--star .ppb-pack-price-block { border-color: rgba(255,255,255,.10); }

.ppb-pack-price {
  font-family: var(--ppb-serif); font-size: 46px; font-weight: 300; line-height: 1;
  letter-spacing: -.02em;
}
.ppb-pack-price sup { font-size: 13px; font-family: var(--ppb-sans); color: var(--ppb-ink-mute); font-weight: 400; vertical-align: super; }
.ppb-pack--star .ppb-pack-price sup { color: rgba(232,226,216,.45); }

.ppb-pack-credits { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; margin-top: 8px; font-size: 13px; }
.ppb-pack-credits strong { color: var(--ppb-gold-deep); font-weight: 600; }
.ppb-pack--star .ppb-pack-credits strong { color: var(--ppb-gold-light); }
.ppb-pack-credits span { font-size: 11px; color: var(--ppb-ink-mute); }
.ppb-pack--star .ppb-pack-credits span { color: rgba(232,226,216,.42); }

.ppb-pack-tax { font-size: 10.5px; color: var(--ppb-ink-mute); margin-top: 5px; }
.ppb-pack--star .ppb-pack-tax { color: rgba(232,226,216,.36); }

.ppb-pack-features { list-style: none; margin: 0 0 18px; padding: 0; flex: 1; }
.ppb-pack-features li { display: flex; align-items: flex-start; gap: 7px; font-size: 11.5px; color: var(--ppb-ink-soft); padding: 4px 0; line-height: 1.4; }
.ppb-pack--star .ppb-pack-features li { color: rgba(232,226,216,.70); }
.ppb-pack-features svg { flex-shrink: 0; margin-top: 3px; color: var(--ppb-gold); }
.ppb-pack--star .ppb-pack-features svg { color: var(--ppb-gold-light); }

/* ── Top-up strip ── */
.ppb-topup {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  padding: 18px 24px; margin-top: 8px;
  background: var(--ppb-warm); border: 1px solid var(--ppb-border-mid); border-radius: 8px;
}
.ppb-topup-text { display: flex; flex-direction: column; gap: 3px; }
.ppb-topup-text strong { font-size: 12px; font-weight: 600; letter-spacing:.06em; text-transform:uppercase; color: var(--ppb-ink-soft); }
.ppb-topup-text span   { font-size: 12.5px; color: var(--ppb-ink-mute); }


/* ═══════════════════════════════════════════════════════════════
   SECTION CRÉDITS EXPLIQUÉS
   ═══════════════════════════════════════════════════════════════ */

/* Tableau actions */
.ppb-actions-table {
  max-width: 700px; margin: 0 auto 52px;
  border: 1px solid rgba(255,255,255,.09); border-radius: 10px; overflow: hidden;
}
.ppb-action-row {
  display: grid; grid-template-columns: 1fr 130px;
  align-items: center; padding: 11px 20px;
  border-top: 1px solid rgba(255,255,255,.05);
  font-size: 13px; color: rgba(232,226,216,.75);
  transition: background .12s;
}
.ppb-action-row:first-child { border-top: 0; }
.ppb-action-row:hover { background: rgba(255,255,255,.03); }
.ppb-action-cost { display: flex; align-items: center; gap: 5px; }
.ppb-action-cost strong { color: var(--ppb-gold-light); font-size: 14px; font-weight: 600; min-width: 14px; }
.ppb-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ppb-gold); opacity: .7; flex-shrink: 0; }

/* Exemples titre */
.ppb-examples-title {
  font-family: var(--ppb-serif); font-size: 26px; font-weight: 400;
  color: #ede8de; text-align: center; margin: 0 0 24px;
}

/* Exemples */
.ppb-examples { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .ppb-examples { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; } }

.ppb-example {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; overflow: hidden;
}
.ppb-example-head {
  display: flex; align-items: center; gap: 12px; padding: 16px 18px;
  background: rgba(255,255,255,.03); border-bottom: 1px solid rgba(255,255,255,.06);
}
.ppb-example-icon { font-size: 24px; flex-shrink: 0; }
.ppb-example-meta { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ppb-example-meta strong { font-size: 14px; font-weight: 600; color: #ede8de; }
.ppb-example-meta span { font-size: 11px; color: rgba(232,226,216,.48); }
.ppb-example-total { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.ppb-example-num { font-family: var(--ppb-serif); font-size: 38px; font-weight: 300; line-height: 1; color: var(--ppb-gold-light); }
.ppb-example-unit { font-size: 9.5px; text-transform: uppercase; letter-spacing: .12em; color: rgba(232,226,216,.38); }

.ppb-example-steps { padding: 14px 18px; display: flex; flex-direction: column; gap: 7px; }
.ppb-example-step { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; padding: 3px 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.ppb-example-step:last-child { border-bottom: 0; }
.ppb-example-step > span:first-child { color: rgba(232,226,216,.72); }
.ppb-example-step-cost { font-size: 11.5px; font-weight: 600; color: var(--ppb-gold-light); white-space: nowrap; margin-left: 10px; }

.ppb-example-note { padding: 11px 18px; background: rgba(184,146,74,.08); border-top: 1px solid rgba(184,146,74,.12); font-size: 11.5px; color: rgba(232,226,216,.60); line-height: 1.5; margin: 0; }
.ppb-example-note strong { color: var(--ppb-gold-light); }

/* Fineprint */
.ppb-fineprint {
  padding: 18px 24px;
  background: var(--ppb-gold-bg); border: 1px solid rgba(184,146,74,.18); border-radius: 8px;
  font-size: 12px; line-height: 1.65; color: var(--ppb-ink-soft); text-align: center;
}
.ppb-fineprint strong { color: var(--ppb-ink); }


/* ═══════════════════════════════════════════════════════════════
   PAGE ACHAT
   ═══════════════════════════════════════════════════════════════ */
.ppb-buy-header { padding: 52px 0 48px; }
.ppb-balance-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.ppb-balance-bar__left { display: flex; flex-direction: column; gap: 4px; }
.ppb-label-sm { font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: rgba(232,226,216,.4); }
.ppb-balance-num { font-family: var(--ppb-serif); font-size: 52px; font-weight: 300; line-height: 1; color: var(--ppb-gold-light); }
.ppb-balance-unit { font-size: 13px; color: rgba(232,226,216,.52); }
.ppb-balance-bar__right p { font-size: 13px; color: rgba(232,226,216,.55); line-height: 1.6; }

/* Checkout */
.ppb-checkout {
  background: var(--ppb-white); border: 1px solid var(--ppb-border-mid); border-radius: 12px;
  padding: 28px 32px; margin-top: 8px;
}
.ppb-checkout h3 { font-family: var(--ppb-serif); font-size: 26px; font-weight: 400; margin: 0 0 18px; }
.ppb-checkout-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--ppb-border); font-size: 14px; }
.ppb-checkout-row:last-of-type { border-bottom: 0; }
.ppb-checkout-row--total { font-weight: 600; padding-top: 14px; border-top: 2px solid var(--ppb-ink); border-bottom: 0; margin-top: 4px; }
.ppb-checkout-row--total span:last-child { font-family: var(--ppb-serif); font-size: 26px; color: var(--ppb-gold-deep); }
.ppb-checkout-legal { text-align: center; font-size: 11px; color: var(--ppb-ink-mute); margin: 10px 0 0; line-height: 1.5; }

/* Coupon */
.ppb-coupon { padding: 12px 0; border-bottom: 1px solid var(--ppb-border); margin-bottom: 6px; }
.ppb-coupon label { display: block; font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ppb-ink-mute); margin-bottom: 7px; }
.ppb-coupon-input { display: flex; gap: 8px; }
.ppb-coupon-input input { flex: 1; padding: 9px 13px; border: 1px solid var(--ppb-border-mid); border-radius: 5px; font-family: var(--ppb-sans); font-size: 13px; background: var(--ppb-light); }
.ppb-coupon-input input:focus { outline: none; border-color: var(--ppb-gold); box-shadow: 0 0 0 3px rgba(184,146,74,.10); }
.ppb-coupon-msg { margin-top: 7px; font-size: 12px; min-height: 16px; }
.ppb-coupon-msg.ok  { color: var(--ppb-success); }
.ppb-coupon-msg.err { color: var(--ppb-danger); }


/* ═══════════════════════════════════════════════════════════════
   PAGE MERCI
   ═══════════════════════════════════════════════════════════════ */
.ppb-thanks-section { padding: 100px 0 110px; text-align: center; }
.ppb-thanks-inner { display: flex; flex-direction: column; align-items: center; }
.ppb-thanks-check {
  width: 80px; height: 80px; border-radius: 50%;
  background: rgba(232,226,216,.08); border: 1px solid rgba(232,226,216,.14);
  display: flex; align-items: center; justify-content: center; margin-bottom: 24px;
}
.ppb-thanks-check svg { color: var(--ppb-gold-light); }
.ppb-thanks-title {
  font-family: var(--ppb-serif); font-size: clamp(40px,6vw,68px); font-weight: 300;
  letter-spacing: -.025em; color: #ede8de; margin: 0 0 16px; line-height: 1;
}
.ppb-thanks-lead { font-size: 15px; color: rgba(232,226,216,.65); line-height: 1.7; margin: 0 0 32px; max-width: 480px; }
.ppb-thanks-lead strong { color: var(--ppb-gold-light); font-weight: 600; }
.ppb-thanks-balance {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  padding: 24px 48px; background: rgba(232,226,216,.06); border: 1px solid rgba(232,226,216,.10); border-radius: 12px;
  margin-bottom: 32px;
}
.ppb-thanks-balance-num { font-family: var(--ppb-serif); font-size: 60px; font-weight: 300; line-height: 1; color: var(--ppb-gold-light); }
.ppb-thanks-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }


/* ═══════════════════════════════════════════════════════════════
   DASHBOARD
   ═══════════════════════════════════════════════════════════════ */
.ppb-dash-hero { padding: 56px 0 52px; }
.ppb-dash-top {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 20px; margin-bottom: 36px; flex-wrap: wrap;
}
.ppb-dash-welcome h1 {
  font-family: var(--ppb-serif); font-size: 42px; font-weight: 400; line-height: 1; color: #ede8de; margin: 0 0 6px;
}
.ppb-dash-welcome h1 em { font-style: italic; color: var(--ppb-gold-light); }
.ppb-dash-welcome p { font-size: 14px; color: rgba(232,226,216,.52); margin: 0; }
.ppb-dash-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.ppb-dash-cards {
  display: grid;
  grid-template-columns: 280px 1fr 1fr 1fr 1fr;
  gap: 16px;
  align-items: start;
}
@media (max-width: 1080px) { .ppb-dash-cards { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 700px)  { .ppb-dash-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px)  { .ppb-dash-cards { grid-template-columns: 1fr; } }

/* Carte crédits principale */
.ppb-credits-card {
  background: rgba(232,226,216,.05); border: 1px solid rgba(232,226,216,.10); border-radius: 10px;
  padding: 24px 22px; color: #e8e2d8;
}
@media (max-width: 1080px) { .ppb-credits-card { grid-column: 1 / -1; max-width: 360px; } }
.ppb-credits-card__label { font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: rgba(232,226,216,.38); margin-bottom: 6px; }
.ppb-credits-card__num { font-family: var(--ppb-serif); font-size: 62px; font-weight: 300; line-height: 1; color: var(--ppb-gold-light); margin-bottom: 5px; }
.ppb-credits-card__sub { font-size: 12.5px; color: rgba(232,226,216,.55); margin-bottom: 16px; }
.ppb-credits-card__sub strong { color: var(--ppb-gold-light); }
.ppb-credits-bar { height: 2px; background: rgba(255,255,255,.10); border-radius: 1px; overflow: hidden; margin-bottom: 5px; }
.ppb-credits-bar__fill { height: 100%; background: var(--ppb-gold); border-radius: 1px; transition: width .6s ease; }
.ppb-credits-bar__label { font-size: 9.5px; color: rgba(232,226,216,.30); }

/* Stat cards */
.ppb-stat-card { background: rgba(232,226,216,.04); border: 1px solid rgba(232,226,216,.08); border-radius: 10px; padding: 20px 18px; }
.ppb-stat-card__label { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: rgba(232,226,216,.38); margin-bottom: 8px; font-weight: 500; }
.ppb-stat-card__num { font-family: var(--ppb-serif); font-size: 36px; font-weight: 400; line-height: 1; color: var(--ppb-gold-light); }

/* Dashboard sections */
.ppb-dash-section-title { font-family: var(--ppb-serif); font-size: 28px; font-weight: 400; margin: 0 0 16px; }

/* Tables */
.ppb-table-wrap { background: var(--ppb-white); border: 1px solid var(--ppb-border); border-radius: 10px; overflow: hidden; }
.ppb-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ppb-table th { background: var(--ppb-warm); padding: 10px 16px; text-align: left; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--ppb-ink-soft); font-weight: 500; border-bottom: 1px solid var(--ppb-border); }
.ppb-table td { padding: 11px 16px; border-bottom: 1px solid var(--ppb-border); vertical-align: middle; }
.ppb-table tr:last-child td { border-bottom: 0; }
.ppb-table-empty { text-align: center !important; padding: 30px !important; color: var(--ppb-ink-mute) !important; }
.ppb-td-muted { color: var(--ppb-ink-mute); font-size: 12px; }


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE GLOBAL
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 700px) {
  .ppb-section { padding: 52px 0; }
  .ppb-container { padding: 0 18px; }
  .ppb-pricing-hero { padding: 70px 0 60px; }
  .ppb-section-title { letter-spacing: -.01em; }
  .ppb-dash-top { flex-direction: column; }
  .ppb-checkout { padding: 20px 18px; }
  .ppb-topup { flex-direction: column; align-items: flex-start; }
  .ppb-thanks-section { padding: 70px 0 80px; }
  .ppb-balance-bar { flex-direction: column; }
}

.ppb-credits-pill { display: inline-block; padding: 4px 12px; background: var(--ppb-gold-bg); border: 1px solid rgba(184, 146, 74, 0.3); color: var(--ppb-gold-deep); border-radius: 99px; font-weight: 500; font-size: 13px; }


/* ═══════════════════════════════════════════════════════════════
   PAGE /GENERER — v1.0.9
   ═══════════════════════════════════════════════════════════════ */

.ppb-gen {
  --ppb-bg: #faf8f4;
  --ppb-bg-warm: #f5f1e8;
  --ppb-surface: #fff;
  --ppb-ink: #1a1612;
  --ppb-ink-soft: #4a4238;
  --ppb-ink-mute: #8c8275;
  --ppb-gold: #b8924a;
  --ppb-gold-deep: #8c6d33;
  --ppb-gold-light: #d4b574;
  --ppb-gold-bg: rgba(184,146,74,0.06);
  --ppb-border: rgba(26,22,18,0.08);
  --ppb-border-strong: rgba(26,22,18,0.14);
  --ppb-radius: 8px;
  --ppb-serif: 'Cormorant Garamond', Georgia, serif;
  --ppb-sans: 'DM Sans', system-ui, sans-serif;
  --ppb-panel-w: 320px;
  --ppb-header-h: 56px;
  --ppb-tabs-h: 44px;
  font-family: var(--ppb-sans);
  color: var(--ppb-ink);
  background: var(--ppb-bg);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  /* Flex column pour que body prenne l espace restant */
  display: flex;
  flex-direction: column;
  /* Hauteur = fenetre moins barre admin via JS */
  height: var(--ppb-avail-h, 100vh);
  overflow: hidden;
}

/* ── Header ── */
.ppb-gen__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: var(--ppb-header-h);
  background: var(--ppb-surface);
  border-bottom: 1px solid var(--ppb-border);
  position: sticky;
  top: 0;
  z-index: 20;
  gap: 12px;
}
.ppb-gen__title {
  font-family: var(--ppb-serif);
  font-size: 22px;
  font-weight: 400;
  margin: 0;
  line-height: 1;
  white-space: nowrap;
}
.ppb-gen__title em { font-style: italic; color: var(--ppb-gold); }
.ppb-gen__sub { display: none; } /* masqué — trop verbeux dans le header */
.ppb-gen__credits {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: var(--ppb-gold-bg);
  border: 1px solid rgba(184,146,74,0.25);
  border-radius: 99px;
  color: var(--ppb-gold-deep);
  font-size: 12.5px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.ppb-gen__credits:hover { background: rgba(184,146,74,0.12); }
.ppb-gen__credits svg { flex-shrink: 0; }
.ppb-gen__credits--admin {
  background: rgba(30,80,60,0.15);
  border-color: rgba(30,150,80,0.35);
  color: #1e7a45;
  cursor: default;
  text-decoration: none;
}
.ppb-gen__credits--admin:hover { background: rgba(30,80,60,0.15); }

/* ── Onglets ── */
.ppb-gen__tabs {
  display: flex;
  background: var(--ppb-surface);
  border-bottom: 1px solid var(--ppb-border);
  padding: 0 24px;
  height: var(--ppb-tabs-h);
  position: sticky;
  top: var(--ppb-header-h);
  z-index: 19;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.ppb-gen__tabs::-webkit-scrollbar { display: none; }
.ppb-gen__tab {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 0 16px;
  height: 100%;
  font-family: var(--ppb-sans);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ppb-ink-mute);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.15s;
  margin-bottom: -1px;
}
.ppb-gen__tab.is-active { color: var(--ppb-ink); border-bottom-color: var(--ppb-gold); }
.ppb-gen__tab:not(.is-active):hover { color: var(--ppb-ink-soft); }

/* ── Body : 2 colonnes sur desktop ── */
.ppb-gen__body {
  display: grid;
  grid-template-columns: var(--ppb-panel-w) 1fr;
  overflow: hidden;
  /* Prend tout l espace restant dans le flex parent */
  flex: 1;
  min-height: 0;
}

/* ── Panneau gauche ── */
.ppb-gen__panel {
  overflow-y: visible;
  padding: 16px 18px 32px;
}
.ppb-gen__panel::-webkit-scrollbar { width: 3px; }
.ppb-gen__panel::-webkit-scrollbar-thumb { background: var(--ppb-border-strong); border-radius: 2px; }

.ppb-gen__section { margin-bottom: 18px; }

.ppb-gen__label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ppb-ink-mute);
  margin-bottom: 8px;
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.ppb-gen__label-hint {
  font-size: 10px;
  color: var(--ppb-ink-mute);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

/* ── Toggle source upload / médiathèque ── */
.ppb-gen__source-switch {
  display: flex;
  gap: 4px;
  margin-bottom: 10px;
}
.ppb-gen__source-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 6px;
  background: var(--ppb-bg);
  border: 1.5px solid var(--ppb-border);
  border-radius: var(--ppb-radius);
  font-family: var(--ppb-sans);
  font-size: 11px;
  color: var(--ppb-ink-soft);
  cursor: pointer;
  transition: all 0.15s;
}
.ppb-gen__source-btn:hover { border-color: var(--ppb-gold-light); color: var(--ppb-ink); }
.ppb-gen__source-btn.is-active {
  border-color: var(--ppb-gold);
  background: var(--ppb-gold-bg);
  color: var(--ppb-ink);
  font-weight: 500;
}

/* ── Bouton ouvrir médiathèque ── */
.ppb-gen__media-open {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 16px;
  background: var(--ppb-bg);
  border: 1.5px dashed var(--ppb-border-strong);
  border-radius: var(--ppb-radius);
  font-family: var(--ppb-sans);
  font-size: 12.5px;
  color: var(--ppb-ink-soft);
  cursor: pointer;
  transition: all 0.18s;
}
.ppb-gen__media-open:hover { border-color: var(--ppb-gold); color: var(--ppb-gold-deep); background: var(--ppb-gold-bg); }
.ppb-gen__media-open svg { color: var(--ppb-gold); }

/* ── Zone upload ── */
.ppb-gen__upload {
  border: 1.5px dashed var(--ppb-border-strong);
  border-radius: var(--ppb-radius);
  padding: 20px 14px;
  text-align: center;
  cursor: pointer;
  background: var(--ppb-bg);
  transition: all 0.18s;
}
.ppb-gen__upload:hover, .ppb-gen__upload.is-drag {
  border-color: var(--ppb-gold);
  background: var(--ppb-gold-bg);
}
.ppb-gen__upload svg { color: var(--ppb-gold); margin-bottom: 7px; }
.ppb-gen__upload-title { font-size: 12px; font-weight: 500; margin-bottom: 2px; }
.ppb-gen__upload-sub { font-size: 10.5px; color: var(--ppb-ink-mute); }

/* ── Aperçu image ── */
.ppb-gen__preview { position: relative; border-radius: var(--ppb-radius); overflow: hidden; background: var(--ppb-bg-warm); }
.ppb-gen__preview img { display: block; width: 100%; height: auto; max-height: 200px; object-fit: cover; }
.ppb-gen__preview-remove {
  position: absolute; top: 6px; right: 6px;
  width: 24px; height: 24px;
  background: rgba(26,22,18,0.75); color: #fff;
  border: 0; border-radius: 50%; font-size: 15px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.ppb-gen__preview-remove:hover { background: rgba(26,22,18,1); }
.ppb-gen__preview--small img { max-height: 120px; }

/* ── Grille de pièces ── */
.ppb-gen__room-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.ppb-gen__room-btn {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  padding: 8px 3px 6px;
  background: var(--ppb-bg);
  border: 1.5px solid var(--ppb-border);
  border-radius: var(--ppb-radius);
  cursor: pointer; transition: all 0.13s; font-family: var(--ppb-sans);
}
.ppb-gen__room-btn:hover { border-color: var(--ppb-gold-light); background: var(--ppb-gold-bg); }
.ppb-gen__room-btn.is-active { border-color: var(--ppb-gold); background: var(--ppb-gold-bg); box-shadow: 0 0 0 1px var(--ppb-gold); }
.ppb-gen__room-icon { font-size: 16px; line-height: 1; }
.ppb-gen__room-label { font-size: 9.5px; color: var(--ppb-ink-soft); text-align: center; line-height: 1.25; }
.ppb-gen__room-btn.is-active .ppb-gen__room-label { color: var(--ppb-ink); font-weight: 500; }

/* ── Textarea / select ── */
.ppb-gen__textarea, .ppb-gen__select {
  width: 100%; padding: 9px 11px;
  border: 1px solid var(--ppb-border-strong);
  border-radius: var(--ppb-radius);
  background: var(--ppb-surface); color: var(--ppb-ink);
  font-family: var(--ppb-sans); font-size: 12.5px; line-height: 1.5;
  box-sizing: border-box; transition: border-color 0.15s;
}
.ppb-gen__textarea { resize: vertical; min-height: 72px; }
.ppb-gen__textarea:focus, .ppb-gen__select:focus { outline: none; border-color: var(--ppb-gold); }

.ppb-gen__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

/* ── Info-box ── */
.ppb-gen__info-box {
  padding: 10px 12px;
  background: var(--ppb-gold-bg);
  border-left: 3px solid var(--ppb-gold);
  border-radius: 4px;
  font-size: 11.5px; line-height: 1.5; color: var(--ppb-ink-soft);
}
.ppb-gen__info-box strong { color: var(--ppb-ink); display: block; margin-bottom: 2px; }

/* ── Mode toggle lot ── */
.ppb-gen__mode-toggle { display: flex; gap: 5px; margin-bottom: 12px; }
.ppb-gen__mode-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 10px;
  background: var(--ppb-bg); border: 1.5px solid var(--ppb-border);
  border-radius: var(--ppb-radius);
  font-family: var(--ppb-sans); font-size: 11px; color: var(--ppb-ink-soft);
  cursor: pointer; transition: all 0.13s;
}
.ppb-gen__mode-btn:hover { border-color: var(--ppb-gold-light); color: var(--ppb-ink); }
.ppb-gen__mode-btn.is-active { border-color: var(--ppb-gold); background: var(--ppb-gold-bg); color: var(--ppb-ink); font-weight: 500; }
.ppb-gen__mode-badge { font-size: 9px; padding: 1px 5px; background: var(--ppb-gold-bg); border: 1px solid var(--ppb-gold-light); border-radius: 20px; color: var(--ppb-gold-deep); }

/* ── Batch drop ── */
.ppb-gen__batch-drop {
  border: 1.5px dashed var(--ppb-border-strong); border-radius: var(--ppb-radius);
  padding: 18px 12px; text-align: center; cursor: pointer;
  background: var(--ppb-bg); transition: all 0.15s;
}
.ppb-gen__batch-drop:hover, .ppb-gen__batch-drop.is-drag { border-color: var(--ppb-gold); background: var(--ppb-gold-bg); }
.ppb-gen__batch-drop svg { color: var(--ppb-gold); margin-bottom: 5px; }
.ppb-gen__batch-list { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; max-height: 180px; overflow-y: auto; }
.ppb-gen__batch-item { display: flex; align-items: center; gap: 7px; padding: 4px 7px; background: var(--ppb-surface); border: 1px solid var(--ppb-border); border-radius: var(--ppb-radius); }
.ppb-gen__batch-item img { width: 30px; height: 30px; object-fit: cover; border-radius: 3px; flex-shrink: 0; }
.ppb-gen__batch-item-name { flex: 1; font-size: 11px; color: var(--ppb-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ppb-gen__batch-item-remove { flex-shrink: 0; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; background: none; border: 1px solid var(--ppb-border); border-radius: 50%; font-size: 11px; color: var(--ppb-ink-mute); cursor: pointer; transition: all 0.13s; }
.ppb-gen__batch-item-remove:hover { border-color: #c0392b; color: #c0392b; }

/* ── Image de référence ── */
.ppb-gen__ref-toggle {
  width: 100%; display: flex; align-items: center; gap: 8px;
  padding: 8px 11px; background: transparent;
  border: 1px solid var(--ppb-border-strong); border-radius: var(--ppb-radius);
  font-family: var(--ppb-sans); font-size: 11.5px; color: var(--ppb-ink-soft);
  cursor: pointer; transition: all 0.15s;
}
.ppb-gen__ref-toggle:hover { border-color: var(--ppb-gold); color: var(--ppb-gold-deep); }
.ppb-gen__ref-toggle-icon { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; border-radius: 50%; background: var(--ppb-gold-bg); color: var(--ppb-gold-deep); font-size: 13px; font-weight: 500; flex-shrink: 0; }
.ppb-gen__ref-body { margin-top: 8px; padding: 10px; background: var(--ppb-bg-warm); border-radius: var(--ppb-radius); }
.ppb-gen__ref-help { font-size: 11px; color: var(--ppb-ink-mute); line-height: 1.5; margin: 0 0 8px; }
.ppb-gen__upload--small { padding: 12px 10px; }
.ppb-gen__upload--small .ppb-gen__upload-title { font-size: 11px; }

/* ── Coût ── */
.ppb-gen__cost {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px;
  background: var(--ppb-gold-bg); border: 1px solid rgba(184,146,74,0.18); border-radius: var(--ppb-radius);
  margin-bottom: 10px;
}
.ppb-gen__cost-label { font-size: 11px; color: var(--ppb-ink-soft); }
.ppb-gen__cost-val { font-family: var(--ppb-serif); font-size: 18px; font-weight: 400; }
.ppb-gen__cost-val em { font-style: italic; color: var(--ppb-gold-deep); }

/* ── Messages ── */
.ppb-gen__msg { margin-top: 10px; padding: 10px 12px; border-radius: 4px; font-size: 12px; line-height: 1.5; }
.ppb-gen__msg.is-error { background: rgba(160,32,32,0.05); border-left: 3px solid #a02020; color: #6a1414; }
.ppb-gen__msg.is-success { background: rgba(26,90,26,0.07); border-left: 3px solid #1a5a1a; color: #1a5a1a; }
.ppb-gen__msg a { color: var(--ppb-gold-deep); font-weight: 500; text-decoration: underline; }

/* ── Zone résultat droite ── */
.ppb-gen__result {
  background: var(--ppb-bg-warm);
  overflow-y: auto;
  display: flex; flex-direction: column;
}
.ppb-gen__result-empty, .ppb-gen__result-loading {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 40px; text-align: center;
}
.ppb-gen__result-empty svg { color: var(--ppb-gold); opacity: 0.3; margin-bottom: 18px; }
.ppb-gen__result-title { font-family: var(--ppb-serif); font-size: 22px; font-weight: 400; margin-bottom: 8px; }
.ppb-gen__result-sub { color: var(--ppb-ink-mute); font-size: 13px; max-width: 260px; line-height: 1.6; }

/* ── Spinner ── */
.ppb-gen__spinner { width: 40px; height: 40px; border: 3px solid var(--ppb-border); border-top-color: var(--ppb-gold); border-radius: 50%; animation: ppb-gen-spin 0.8s linear infinite; margin-bottom: 16px; }
@keyframes ppb-gen-spin { to { transform: rotate(360deg); } }
.ppb-gen__spinner--small { width: 18px; height: 18px; border-width: 2px; margin: 0; }

/* ── Résultat image ── */
.ppb-gen__result-show { flex: 1; display: flex; flex-direction: column; background: var(--ppb-surface); overflow: hidden; }

/* Outer wrapper prend le flex:1, pas img-wrap directement */
.ppb-gen__result-img-outer { flex: 1; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }

/* Point 2 : image cliquable */
.ppb-gen__result-img-wrap {
  flex: 1;
  background: var(--ppb-bg-warm);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  min-height: 200px;
  cursor: zoom-in;
  position: relative;
}
.ppb-gen__result-img-wrap img {
  max-width: 100%;
  max-height: calc(100vh - var(--ppb-header-h) - var(--ppb-tabs-h) - 180px);
  object-fit: contain; display: block; border-radius: 4px;
  box-shadow: 0 6px 24px rgba(26,22,18,0.12);
  transition: transform 0.2s;
}
.ppb-gen__result-img-wrap:hover img { transform: scale(1.01); }
.ppb-gen__zoom-hint {
  position: absolute; bottom: 10px; right: 10px;
  width: 30px; height: 30px;
  background: rgba(255,255,255,0.85); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--ppb-ink-soft); opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.ppb-gen__result-img-wrap:hover .ppb-gen__zoom-hint { opacity: 1; }

.ppb-gen__result-meta { padding: 8px 18px; font-size: 11px; color: var(--ppb-ink-mute); border-top: 1px solid var(--ppb-border); background: var(--ppb-bg-warm); }

.ppb-gen__edit { padding: 14px 18px; border-top: 1px solid var(--ppb-border); background: var(--ppb-surface); }
.ppb-gen__edit-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: flex-start; margin-top: 7px; }
.ppb-gen__edit-row .ppb-gen__textarea { min-height: 52px; font-size: 12.5px; }
.ppb-gen__edit-row .ppb-btn { min-width: 90px; line-height: 1.3; font-size: 12px; }
.ppb-gen__edit-row .ppb-btn small { display: block; font-size: 10px; opacity: 0.7; font-weight: 400; }
.ppb-gen__edit-help { font-size: 10.5px; color: var(--ppb-ink-mute); margin-top: 5px; line-height: 1.4; }
.ppb-gen__edit-row--actions { display: flex; align-items: center; justify-content: space-between; margin-top: 7px; gap: 8px; }
.ppb-gen__edit-row--actions .ppb-gen__edit-help { margin-top: 0; }

/* Bouton remise à zéro permanent */
.ppb-gen__reset-bar { padding: 8px 14px 0; display: flex; justify-content: flex-end; }
.ppb-gen__reset-full {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 1px solid rgba(255,80,80,0.25); border-radius: 4px;
  color: rgba(255,100,100,0.7); font-size: 10px; font-weight: 500;
  letter-spacing: .05em; text-transform: uppercase; padding: 4px 10px;
  cursor: pointer; transition: all .15s;
}
.ppb-gen__reset-full:hover { border-color: rgba(255,80,80,0.6); color: rgba(255,120,120,1); background: rgba(255,60,60,0.07); }
.ppb-gen__reset-full svg { flex-shrink: 0; }

.ppb-gen__result-actions { display: flex; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--ppb-border); background: var(--ppb-surface); }
.ppb-gen__result-actions .ppb-btn { flex: 1; justify-content: center; font-size: 12.5px; }

/* ── Batch résultats ── */
.ppb-gen__batch-results { display: flex; flex-direction: column; flex: 1; }
.ppb-gen__batch-results-header { padding: 14px 20px 10px; border-bottom: 1px solid var(--ppb-border); background: var(--ppb-surface); }
.ppb-gen__batch-progress-label { font-size: 12px; color: var(--ppb-ink-soft); margin-bottom: 7px; }
.ppb-gen__batch-progress-bar { height: 3px; background: var(--ppb-border); border-radius: 2px; overflow: hidden; }
.ppb-gen__batch-progress-fill { height: 100%; background: var(--ppb-gold); border-radius: 2px; transition: width 0.4s; width: 0; }
.ppb-gen__batch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 14px; padding: 16px; overflow-y: auto; }
.ppb-gen__batch-card { background: var(--ppb-surface); border: 1px solid var(--ppb-border); border-radius: var(--ppb-radius); overflow: hidden; }
.ppb-gen__batch-card-imgs { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 5px; padding: 8px; background: var(--ppb-bg-warm); }
.ppb-gen__batch-card-src { width: 100%; height: auto; object-fit: contain; border-radius: 3px; display: block; }
.ppb-gen__batch-card-result img { width: 100%; height: 100%; object-fit: contain; border-radius: 3px; display: block; }
.ppb-gen__batch-card-result { min-height: 48px; display: flex; align-items: center; justify-content: center; position: relative; background: var(--ppb-bg); border-radius: 3px; overflow: hidden; }
.ppb-gen__batch-card-result img { width: 100%; }
.ppb-gen__batch-card-arrow { font-size: 14px; color: var(--ppb-gold); flex-shrink: 0; }
.ppb-gen__batch-card-dl { position: absolute; bottom: 4px; right: 4px; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.9); border-radius: 50%; color: var(--ppb-ink); border: 1px solid var(--ppb-border); transition: all 0.13s; }
.ppb-gen__batch-card-dl:hover { background: var(--ppb-gold); color: #fff; border-color: var(--ppb-gold); }
.ppb-gen__batch-card-error { font-size: 16px; color: #c0392b; opacity: 0.5; }
.ppb-gen__batch-card-status { padding: 6px 10px; font-size: 10.5px; color: var(--ppb-ink-mute); text-align: center; border-top: 1px solid var(--ppb-border); }
.ppb-gen__batch-card-status.is-done { color: #27ae60; font-weight: 500; }
.ppb-gen__batch-card-status.is-error { color: #c0392b; }

/* ── Lightbox plein écran (Point 2) ── */
.ppb-lightbox {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
}
.ppb-lightbox__bg {
  position: absolute; inset: 0;
  background: rgba(10, 8, 6, 0.92);
  backdrop-filter: blur(4px);
}
.ppb-lightbox__img {
  position: relative; z-index: 1;
  max-width: 94vw; max-height: 94vh;
  object-fit: contain; border-radius: 4px;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5);
}
.ppb-lightbox__close {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  width: 40px; height: 40px;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%; color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.ppb-lightbox__close:hover { background: rgba(255,255,255,0.2); }
body.ppb-lightbox-open { overflow: hidden; }

/* ── Thème : page-header ── */
.page-header { padding: 30px 0 40px !important; }

/* ═══════════════════════════════════════════════════════════════
   MOBILE (≤ 768px) — layout vertical type app
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .ppb-gen {
    --ppb-header-h: 50px;
    --ppb-tabs-h: 40px;
  }
  .ppb-gen__header { padding: 0 14px; }
  .ppb-gen__title { font-size: 18px; }
  .ppb-gen__credits { padding: 5px 10px; font-size: 11.5px; }
  .ppb-gen__credits-label { display: none; } /* affiche juste le nombre */
  .ppb-gen__tabs { padding: 0 10px; }
  .ppb-gen__tab { padding: 0 12px; font-size: 10.5px; gap: 5px; }

  /* Colonnes → 1 colonne, hauteur auto */
  .ppb-gen__body {
    grid-template-columns: 1fr;
    height: auto;
    overflow: visible;
  }
  .ppb-gen__panel {
    border-right: none;
    border-bottom: 1px solid var(--ppb-border);
    overflow-y: visible;
    padding: 14px 14px 20px;
  }
  .ppb-gen__result {
    min-height: 50vh;
  }
  .ppb-gen__result-img-wrap img {
    max-height: 50vh;
  }
  .ppb-gen__edit-row {
    grid-template-columns: 1fr;
  }
  .ppb-gen__edit-row .ppb-btn { width: 100%; }
  .ppb-gen__result-actions { flex-direction: column; }
  .ppb-gen__batch-grid { grid-template-columns: 1fr; padding: 10px; }
}

/* ═══════════════════════════════════════════════════════════════
   TABLETTE (769px – 1100px)
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 769px) and (max-width: 1100px) {
  .ppb-gen { --ppb-panel-w: 280px; }
}

/* ═══════════════════════════════════════════════════════════════
   GRAND ÉCRAN (> 1600px)
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 1600px) {
  .ppb-gen { --ppb-panel-w: 380px; }
}

/* ── Page /generer : ciblage via classe template WP (toujours présente) ── */

/* Cacher header et footer du thème */
.page-template-page-generer .site-header,
.page-template-page-generer .site-footer,
.ppb-page-generate .site-header,
.ppb-page-generate .site-footer { display: none !important; }

/* Supprimer marges/paddings autour du contenu */
.page-template-page-generer .page-content,
.page-template-page-generer .page-content--fullwidth,
.ppb-page-generate .page-content,
.ppb-page-generate .page-content--fullwidth { margin: 0 !important; padding: 0 !important; }

/* Le module occupe toute la fenêtre */
.page-template-page-generer .ppb-gen,
.ppb-page-generate .ppb-gen {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative;
}

/* Avec barre admin WordPress */
.admin-bar.page-template-page-generer .ppb-gen,
.admin-bar.ppb-page-generate .ppb-gen {
  height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar.page-template-page-generer .ppb-gen,
  .admin-bar.ppb-page-generate .ppb-gen {
    height: calc(100vh - 46px);
  }
}

/* Body : flex pour que ppb-gen__body remplisse l'espace restant */
.ppb-gen__body {
  flex: 1;
  height: auto !important;
  min-height: 0;
}


/* ═══════════════════════════════════════════════════════════════
   PHOTOPREST — PAGE GÉNÉRER PREMIUM RESPONSIVE
   v1.0.10 — Design/layout uniquement, aucune logique JS modifiée
   ═══════════════════════════════════════════════════════════════ */

/* Sécurise les débordements créés par les thèmes WordPress */
.page-template-page-generer,
.ppb-page-generate{
  overflow:hidden !important;
}
.page-template-page-generer #page,
.page-template-page-generer .site,
.page-template-page-generer .site-content,
.page-template-page-generer .content-area,
.page-template-page-generer .entry-content,
.page-template-page-generer .page-content,
.ppb-page-generate #page,
.ppb-page-generate .site,
.ppb-page-generate .site-content,
.ppb-page-generate .content-area,
.ppb-page-generate .entry-content,
.ppb-page-generate .page-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.ppb-gen,
.page-template-page-generer .ppb-gen,
.ppb-page-generate .ppb-gen{
  --ppb-bg:#f8f5ef;
  --ppb-bg-warm:#f1ece2;
  --ppb-surface:#fffdf9;
  --ppb-ink:#17130f;
  --ppb-ink-soft:#4d453b;
  --ppb-ink-mute:#8a7f70;
  --ppb-gold:#b79a23;
  --ppb-gold-deep:#82690f;
  --ppb-gold-light:#d4bb5b;
  --ppb-gold-bg:rgba(183,154,35,.075);
  --ppb-border:rgba(23,19,15,.085);
  --ppb-border-strong:rgba(23,19,15,.16);
  --ppb-radius:10px;
  --ppb-panel-w:clamp(350px,28vw,430px);
  --ppb-header-h:64px;
  --ppb-tabs-h:48px;

  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:var(--ppb-avail-h,100dvh) !important;
  min-height:0 !important;
  margin:0 !important;
  margin-left:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 84% 8%, rgba(183,154,35,.13), transparent 34%),
    linear-gradient(180deg,#fbfaf6 0%,#f3eee5 100%) !important;
}

.admin-bar.page-template-page-generer .ppb-gen,
.admin-bar.ppb-page-generate .ppb-gen{
  height:calc(100dvh - 32px) !important;
}

.ppb-gen__header{
  height:var(--ppb-header-h) !important;
  padding:0 clamp(18px,2.4vw,38px) !important;
  background:rgba(255,253,249,.92) !important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(23,19,15,.075) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
}
.ppb-gen__title{
  font-size:clamp(22px,2vw,31px) !important;
  letter-spacing:-.015em;
}
.ppb-gen__credits{
  min-height:34px;
  border-color:rgba(183,154,35,.30) !important;
  box-shadow:0 8px 24px rgba(183,154,35,.08);
}

.ppb-gen__tabs{
  height:var(--ppb-tabs-h) !important;
  padding:0 clamp(18px,2.4vw,38px) !important;
  background:rgba(255,253,249,.86) !important;
  backdrop-filter:blur(14px);
}
.ppb-gen__tab{
  padding:0 18px !important;
  border-bottom-width:3px !important;
}

.ppb-gen__body{
  flex:1 !important;
  min-height:0 !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:var(--ppb-panel-w) minmax(0,1fr) !important;
  gap:clamp(14px,1.5vw,24px) !important;
  padding:clamp(14px,1.6vw,24px) clamp(16px,2.1vw,32px) clamp(18px,2vw,32px) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.ppb-gen__left{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
.ppb-gen__panel{
  min-width:0 !important;
  min-height:0 !important;
  overflow-y:visible !important;
  overflow-x:visible !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:22px 22px 0 !important;
}
.ppb-gen__panel::-webkit-scrollbar{width:7px !important;}
.ppb-gen__panel::-webkit-scrollbar-thumb{background:rgba(183,154,35,.35) !important;border-radius:20px !important;}
.ppb-gen__panel::-webkit-scrollbar-track{background:transparent !important;}

.ppb-gen__section{
  margin-bottom:20px !important;
  padding-bottom:18px;
  border-bottom:1px solid rgba(23,19,15,.065);
}
.ppb-gen__section:last-of-type{border-bottom:0;}
.ppb-gen__label{
  margin-bottom:10px !important;
  color:rgba(23,19,15,.55) !important;
  letter-spacing:.18em !important;
}

.ppb-gen__source-switch,
.ppb-gen__mode-toggle{gap:8px !important;}
.ppb-gen__source-btn,
.ppb-gen__mode-btn,
.ppb-gen__media-open,
.ppb-gen__upload,
.ppb-gen__room-btn,
.ppb-gen__textarea,
.ppb-gen__select,
.ppb-gen__ref-toggle,
.ppb-gen__ref-body,
.ppb-gen__info-box{
  border-radius:12px !important;
}
.ppb-gen__source-btn,
.ppb-gen__mode-btn{
  min-height:38px !important;
}
.ppb-gen__media-open,
.ppb-gen__upload,
.ppb-gen__batch-drop{
  border-color:rgba(23,19,15,.15) !important;
  background:linear-gradient(180deg,#fffdf9,#f7f2e8) !important;
}
.ppb-gen__media-open:hover,
.ppb-gen__upload:hover,
.ppb-gen__batch-drop:hover,
.ppb-gen__source-btn:hover,
.ppb-gen__mode-btn:hover,
.ppb-gen__room-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(45,34,17,.07);
}

.ppb-gen__preview img{
  max-height:230px !important;
  object-fit:cover !important;
}
.ppb-gen__room-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.ppb-gen__room-btn{
  min-height:70px !important;
  padding:10px 6px !important;
  background:#fbf8f2 !important;
}
.ppb-gen__room-icon{font-size:18px !important;}
.ppb-gen__room-label{font-size:10.5px !important;}
.ppb-gen__textarea{
  min-height:92px !important;
  background:#fff !important;
  line-height:1.55 !important;
}
.ppb-gen__textarea:focus,
.ppb-gen__select:focus{
  border-color:rgba(183,154,35,.75) !important;
  box-shadow:0 0 0 4px rgba(183,154,35,.10) !important;
}
.ppb-gen__cost{
  position:sticky;
  bottom:62px;
  z-index:5;
  margin:22px -4px 10px !important;
  background:rgba(255,253,249,.92) !important;
  border:1px solid rgba(183,154,35,.22) !important;
  backdrop-filter:blur(12px);
}
#ppb-gen-submit{
  position:sticky;
  bottom:16px;
  z-index:6;
  min-height:46px !important;
  border-radius:12px !important;
  box-shadow:0 14px 30px rgba(183,154,35,.20) !important;
}

.ppb-gen__result{
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px solid rgba(23,19,15,.09) !important;
  border-radius:22px !important;
  background:
    linear-gradient(135deg,rgba(255,253,249,.78),rgba(240,234,222,.92)),
    repeating-linear-gradient(45deg,rgba(23,19,15,.018) 0 1px,transparent 1px 14px) !important;
  box-shadow:0 26px 75px rgba(45,34,17,.12) !important;
}

.ppb-gen__result-empty,
.ppb-gen__result-loading{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:clamp(28px,4vw,70px) clamp(42px,5vw,92px) clamp(42px,5vw,92px) clamp(28px,4vw,70px) !important;
  box-sizing:border-box !important;
}
.ppb-gen__result-empty::before{
  content:"";
  position:absolute;
  inset:clamp(22px,3vw,46px);
  border:1px solid rgba(183,154,35,.16);
  border-radius:18px;
  pointer-events:none;
}
.ppb-gen__result-empty{
  position:relative;
  background:radial-gradient(circle at 50% 40%, rgba(183,154,35,.08), transparent 38%);
}
.ppb-gen__result-empty svg{
  width:56px !important;
  height:56px !important;
  opacity:.38 !important;
}
.ppb-gen__result-title{
  font-size:clamp(24px,2.4vw,36px) !important;
  letter-spacing:-.015em;
}
.ppb-gen__result-sub{
  max-width:390px !important;
  font-size:14px !important;
}

.ppb-gen__result-show{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  background:transparent !important;
}
.ppb-gen__result-img-wrap{
  min-height:0 !important;
  padding:clamp(18px,2vw,34px) !important;
  background:transparent !important;
  overflow:hidden !important;
}
.ppb-gen__result-img-wrap img{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:10px !important;
  box-shadow:0 20px 60px rgba(25,18,10,.18) !important;
}
.ppb-gen__result-meta,
.ppb-gen__edit,
.ppb-gen__result-actions{
  background:rgba(255,253,249,.94) !important;
  backdrop-filter:blur(12px);
}
.ppb-gen__edit-row{
  grid-template-columns:minmax(0,1fr) auto !important;
}
.ppb-gen__batch-results{
  min-height:0 !important;
  overflow:hidden !important;
}
.ppb-gen__batch-grid{
  min-height:0 !important;
  overflow-y:auto !important;
}

@media (min-width: 1200px) and (max-height: 860px){
  .ppb-gen{--ppb-header-h:56px;--ppb-tabs-h:42px;--ppb-panel-w:360px;}
  .ppb-gen__body{padding:12px 18px 18px !important;gap:14px !important;}
  .ppb-gen__panel{padding:16px 18px 86px !important;}
  .ppb-gen__section{margin-bottom:14px !important;padding-bottom:13px !important;}
  .ppb-gen__room-btn{min-height:60px !important;}
  .ppb-gen__textarea{min-height:74px !important;}
}

@media (min-width: 769px) and (max-width: 1180px){
  .ppb-gen{--ppb-panel-w:330px;--ppb-header-h:58px;--ppb-tabs-h:44px;}
  .ppb-gen__body{gap:12px !important;padding:12px 14px 18px !important;}
  .ppb-gen__panel{padding:16px 16px 86px !important;}
  .ppb-gen__room-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}

}

@media (max-width: 768px){
  .page-template-page-generer,
  .ppb-page-generate{overflow:auto !important;}
  .page-template-page-generer #page,
  .page-template-page-generer .site,
  .page-template-page-generer .site-content,
  .page-template-page-generer .content-area,
  .page-template-page-generer .entry-content,
  .page-template-page-generer .page-content,
  .ppb-page-generate #page,
  .ppb-page-generate .site,
  .ppb-page-generate .site-content,
  .ppb-page-generate .content-area,
  .ppb-page-generate .entry-content,
  .ppb-page-generate .page-content{
    overflow:visible !important;
  }
  .ppb-gen,
  .page-template-page-generer .ppb-gen,
  .ppb-page-generate .ppb-gen{
    width:100% !important;
    height:auto !important;
    min-height:100dvh !important;
    overflow:visible !important;
    background:#f8f5ef !important;
    --ppb-header-h:56px;
    --ppb-tabs-h:44px;
  }
  .admin-bar.page-template-page-generer .ppb-gen,
  .admin-bar.ppb-page-generate .ppb-gen{
    height:auto !important;
    min-height:calc(100dvh - 46px) !important;
  }
  .ppb-gen__header{
    position:sticky !important;
    top:0 !important;
    padding:0 14px !important;
  }
  .ppb-gen__title{font-size:20px !important;}
  .ppb-gen__tabs{
    position:sticky !important;
    top:var(--ppb-header-h) !important;
    padding:0 10px !important;
  }
  .ppb-gen__body{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:12px !important;
    overflow:visible !important;
  }
  .ppb-gen__panel{
    max-height:none !important;
    overflow:visible !important;
    padding:16px !important;
    border-radius:16px !important;
  }
  .ppb-gen__room-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .ppb-gen__cost,
  #ppb-gen-submit{position:static !important;}

  /* preview prompt mobile — hérite du style global (row + flex:1 sur copy) */
  .ppb-gen__result{
    min-height:52vh !important;
    height:auto !important;
    overflow:visible !important;
    border-radius:16px !important;
  }
  .ppb-gen__result-empty,
  .ppb-gen__result-loading{
    min-height:52vh !important;
    padding:40px 28px 46px !important;
  }
  .ppb-gen__result-empty::before{inset:16px !important;border-radius:14px !important;}
  .ppb-gen__result-show{height:auto !important;overflow:visible !important;}
  .ppb-gen__result-img-wrap{min-height:280px !important;padding:14px !important;}
  .ppb-gen__result-img-wrap img{max-height:62vh !important;}
  .ppb-gen__edit-row{grid-template-columns:1fr !important;}
}


/* ═══════════════════════════════════════════════════════════════
   HOTFIX v1.0.11 — Scroll mobile page Générer
   Design uniquement : réactive le scroll naturel sur smartphone.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px){
  html:has(.ppb-gen),
  body:has(.ppb-gen){
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    position:static !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body:has(.ppb-gen) #page,
  body:has(.ppb-gen) .site,
  body:has(.ppb-gen) .site-content,
  body:has(.ppb-gen) .content-area,
  body:has(.ppb-gen) .entry-content,
  body:has(.ppb-gen) .page-content,
  body:has(.ppb-gen) .elementor,
  body:has(.ppb-gen) .elementor-section,
  body:has(.ppb-gen) .elementor-container,
  body:has(.ppb-gen) .elementor-widget-wrap,
  body:has(.ppb-gen) .elementor-widget-container{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .ppb-gen,
  .page-template-page-generer .ppb-gen,
  .ppb-page-generate .ppb-gen{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:100dvh !important;
    max-height:none !important;
    margin-left:0 !important;
    overflow:visible !important;
    touch-action:auto !important;
  }

  .ppb-gen__body{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .ppb-gen__panel,
  .ppb-gen__result,
  .ppb-gen__result-show,
  .ppb-gen__batch-results,
  .ppb-gen__batch-grid{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .ppb-gen__header,
  .ppb-gen__tabs{
    position:sticky !important;
    flex-shrink:0 !important;
  }

  .ppb-gen__result-img-wrap{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .ppb-gen__result-img-wrap img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   v1.0.12 — Navigation Générer + page mot de passe
   ═══════════════════════════════════════════════════════════════ */
.ppb-gen__header-left{
  min-width:0 !important;
}
.ppb-gen__header-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-left:auto !important;
  position:relative !important;
  z-index:50 !important;
}
.ppb-gen__nav{
  position:relative !important;
  display:block !important;
}
.ppb-gen__nav summary{
  list-style:none !important;
}
.ppb-gen__nav summary::-webkit-details-marker{
  display:none !important;
}
.ppb-gen__nav-toggle{
  width:38px !important;
  height:38px !important;
  border:1px solid rgba(23,19,15,.12) !important;
  border-radius:999px !important;
  background:rgba(255,253,249,.86) !important;
  box-shadow:0 10px 28px rgba(45,34,17,.08) !important;
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  cursor:pointer !important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease !important;
}
.ppb-gen__nav-toggle:hover{
  background:#fff !important;
  border-color:rgba(183,154,35,.36) !important;
  transform:translateY(-1px) !important;
}
.ppb-gen__nav-toggle span{
  width:15px !important;
  height:1.5px !important;
  background:#1d1711 !important;
  border-radius:2px !important;
  display:block !important;
}
.ppb-gen__nav-panel{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  right:0 !important;
  width:min(280px,calc(100vw - 32px)) !important;
  padding:10px !important;
  background:rgba(255,253,249,.98) !important;
  border:1px solid rgba(23,19,15,.10) !important;
  border-radius:16px !important;
  box-shadow:0 24px 70px rgba(33,25,16,.18) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  z-index:999 !important;
}
.ppb-gen__nav-panel::before{
  content:"";
  position:absolute;
  top:-6px;
  right:20px;
  width:12px;
  height:12px;
  background:rgba(255,253,249,.98);
  border-left:1px solid rgba(23,19,15,.10);
  border-top:1px solid rgba(23,19,15,.10);
  transform:rotate(45deg);
}
.ppb-gen__nav-panel a{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:0 12px !important;
  border-radius:10px !important;
  color:#2b241e !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
}
.ppb-gen__nav-panel a:hover{
  background:rgba(183,154,35,.09) !important;
  color:#8c6d33 !important;
}
.ppb-gen__nav:not([open]) .ppb-gen__nav-panel{
  display:none !important;
}
.ppb-gen__nav[open] .ppb-gen__nav-toggle{
  border-color:rgba(183,154,35,.42) !important;
  background:#fff !important;
}

/* Page de réinitialisation / changement de mot de passe — Theme My Login / WP */
.tml input[type="text"],
.tml input[type="email"],
.tml input[type="password"],
.tml input[type="search"],
.tml input[type="url"],
.tml input[type="tel"],
body[class*="password"] .entry-content input[type="password"],
body[class*="mot-de-passe"] .entry-content input[type="password"],
body[class*="login"] .entry-content input[type="password"],
body[class*="connexion"] .entry-content input[type="password"]{
  width:min(100%,620px) !important;
  max-width:620px !important;
  min-height:48px !important;
  height:48px !important;
  padding:10px 14px !important;
  box-sizing:border-box !important;
  border:1px solid rgba(23,19,15,.16) !important;
  border-radius:6px !important;
  background:#fff !important;
  font-size:15px !important;
  line-height:1.2 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset !important;
}
.tml input[type="text"]:focus,
.tml input[type="email"]:focus,
.tml input[type="password"]:focus,
body[class*="password"] .entry-content input[type="password"]:focus,
body[class*="mot-de-passe"] .entry-content input[type="password"]:focus{
  outline:none !important;
  border-color:rgba(183,154,35,.58) !important;
  box-shadow:0 0 0 3px rgba(183,154,35,.12) !important;
}
.tml .tml-field-wrap,
.tml p,
body[class*="password"] .entry-content form p,
body[class*="mot-de-passe"] .entry-content form p{
  max-width:620px !important;
}
.tml button,
.tml input[type="submit"],
body[class*="password"] .entry-content input[type="submit"],
body[class*="mot-de-passe"] .entry-content input[type="submit"]{
  min-height:40px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(23,19,15,.12) !important;
  background:#15120f !important;
  color:#fff !important;
  font-weight:600 !important;
  cursor:pointer !important;
}

@media (max-width:768px){
  .ppb-gen__header{
    gap:10px !important;
  }
  .ppb-gen__title{
    font-size:22px !important;
  }
  .ppb-gen__header-actions{
    gap:8px !important;
  }
  .ppb-gen__credits{
    padding:6px 10px !important;
    min-height:34px !important;
  }
  .ppb-gen__credits-label{
    display:none !important;
  }
  .ppb-gen__nav-toggle{
    width:36px !important;
    height:36px !important;
  }
  .ppb-gen__nav-panel{
    position:fixed !important;
    top:58px !important;
    right:12px !important;
    width:calc(100vw - 24px) !important;
    max-width:360px !important;
  }
  .tml input[type="text"],
  .tml input[type="email"],
  .tml input[type="password"],
  body[class*="password"] .entry-content input[type="password"],
  body[class*="mot-de-passe"] .entry-content input[type="password"]{
    width:100% !important;
    max-width:100% !important;
    min-height:50px !important;
    height:50px !important;
  }
}


/* ===== Premium UI Refresh v1.0.13 ===== */
.ppb-gen{
  background:#f7f4ee;
}

.ppb-gen__header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(14px);
  background:rgba(247,244,238,.78);
  border-bottom:1px solid rgba(183,154,35,.08);
  padding:20px 28px;
}

.ppb-gen__title{
  letter-spacing:-0.03em;
}

.ppb-gen__sub{
  font-size:14px;
  opacity:.72;
}

.ppb-gen__body{
  gap:28px;
  padding:28px;
  align-items:stretch;
}

.ppb-gen__panel{
  border-radius:24px;
  border:1px solid rgba(183,154,35,.08);
  box-shadow:0 10px 40px rgba(0,0,0,.03);
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(8px);
  padding:22px;
}

.ppb-gen__section{
  margin-bottom:24px;
}

.ppb-gen__cards,
.ppb-gen__rooms{
  gap:10px;
}

.ppb-gen__room,
.ppb-gen__card{
  border-radius:16px;
  min-height:72px;
  transition:all .18s ease;
}

.ppb-gen__room:hover,
.ppb-gen__card:hover{
  transform:translateY(-1px);
  border-color:rgba(183,154,35,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.ppb-gen__generate{
  position:sticky;
  bottom:12px;
  z-index:15;
  border-radius:18px;
  min-height:56px;
  font-size:15px;
  font-weight:600;
  box-shadow:0 14px 28px rgba(183,154,35,.22);
}

.ppb-gen__result{
  border-radius:30px;
  border:1px solid rgba(183,154,35,.08);
  background:linear-gradient(180deg,#fbf9f4 0%,#f6f2ea 100%);
  overflow:hidden;
  min-height:calc(100vh - 220px);
  box-shadow:0 12px 50px rgba(0,0,0,.04);
}

.ppb-gen__result-empty{
  padding:60px;
}

.ppb-gen__result-empty svg{
  opacity:.55;
  transform:scale(1.15);
}

.ppb-gen__nav{
  position:relative;
}

.ppb-gen__nav-toggle{
  width:46px;
  height:46px;
  border-radius:50%;
  background:#171411;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.ppb-gen__nav-toggle span{
  background:#fff;
  height:2px;
  width:18px;
  border-radius:2px;
}

.ppb-gen__nav-panel{
  position:absolute;
  right:0;
  top:58px;
  min-width:240px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.10);
}

.ppb-gen__nav-panel a{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  transition:background .15s ease;
}

.ppb-gen__nav-panel a:hover{
  background:rgba(183,154,35,.08);
}

@media (max-width: 980px){
  .ppb-gen__body{
    grid-template-columns:1fr !important;
    padding:16px;
    gap:18px;
  }

  .ppb-gen__header{
    padding:16px;
  }

  .ppb-gen__panel,
  .ppb-gen__result{
    border-radius:22px;
  }

  .ppb-gen__generate{
    position:fixed;
    left:16px;
    right:16px;
    bottom:16px;
    width:auto;
  }

  .ppb-gen{
    padding-bottom:90px;
  }

  .ppb-gen__result{
    min-height:480px;
  }

  .ppb-gen__result-empty{
    padding:36px 24px;
  }
}

/* Photoprest Billing v1.0.14 — Premium Upscale option */
.ppb-gen__upscale-section{
  margin-top:-2px;
}
.ppb-gen__upscale-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 14px;
  border:1px solid rgba(183,154,35,.30);
  background:linear-gradient(135deg, rgba(183,154,35,.10), rgba(255,255,255,.92));
  border-radius:16px;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ppb-gen__upscale-card:hover{
  transform:translateY(-1px);
  border-color:rgba(183,154,35,.55);
  box-shadow:0 16px 38px rgba(20,18,14,.08);
}
.ppb-gen__upscale-check{
  position:relative;
  flex:0 0 auto;
  width:22px;
  height:22px;
  margin-top:1px;
}
.ppb-gen__upscale-check input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.ppb-gen__upscale-check span{
  display:block;
  width:22px;
  height:22px;
  border-radius:7px;
  border:1px solid rgba(0,0,0,.22);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.ppb-gen__upscale-check input:checked + span{
  background:#b79a23;
  border-color:#b79a23;
}
.ppb-gen__upscale-check input:checked + span:after{
  content:"";
  position:absolute;
  left:7px;
  top:4px;
  width:6px;
  height:11px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.ppb-gen__upscale-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.ppb-gen__upscale-copy strong{
  font-size:13px;
  letter-spacing:.01em;
  color:#18140d;
}
.ppb-gen__upscale-copy em{
  font-style:normal;
  font-size:11.5px;
  line-height:1.35;
  color:rgba(24,20,13,.62);
}
@media (max-width:768px){
  .ppb-gen__upscale-card{border-radius:14px;padding:13px;}
}

/* Photoprest Billing 1.0.17 — production controls */
.ppb-gen__production-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px;
  gap:14px;
  align-items:end;
  border:1px solid rgba(183,154,35,.22);
  background:linear-gradient(180deg,rgba(255,252,244,.95),rgba(255,255,255,.96));
}
.ppb-gen__quality-line{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ppb-gen__quality-kicker{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9a8a52;font-weight:700;}
.ppb-gen__quality-line strong{font-size:13px;color:#17120c;font-weight:750;}
.ppb-gen__quality-line em{font-size:11px;line-height:1.35;color:#7a7267;font-style:normal;}
.ppb-gen__policy-note{
  margin:10px 0 12px;
  padding:11px 12px;
  border-radius:14px;
  background:#f7f3ea;
  border:1px solid rgba(183,154,35,.18);
  color:#5f5649;
  font-size:11px;
  line-height:1.45;
}
.ppb-gen__policy-note strong{color:#17120c;}
@media (max-width:768px){
  .ppb-gen__production-box{grid-template-columns:1fr;align-items:stretch;}
  /* (voir override ci-dessous — après les règles v1.0.33 qui inversaient l'ordre) */
}


/* v1.0.18 — Batch upload as visual thumbnails grid */
.ppb-gen__batch-list{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px !important;
  margin-top:12px !important;
  max-height:260px !important;
  overflow-y:auto !important;
}
.ppb-gen__batch-item{
  position:relative !important;
  display:block !important;
  padding:0 !important;
  overflow:hidden !important;
  aspect-ratio:1 / 1 !important;
  border-radius:12px !important;
  background:var(--ppb-surface) !important;
  border:1px solid var(--ppb-border) !important;
}
.ppb-gen__batch-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
  display:block !important;
}
.ppb-gen__batch-item-name{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:22px 7px 7px !important;
  font-size:10px !important;
  line-height:1.15 !important;
  color:#fff !important;
  background:linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0)) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.ppb-gen__batch-item-remove{
  position:absolute !important;
  z-index:2 !important;
  top:6px !important;
  right:6px !important;
  width:22px !important;
  height:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.9) !important;
  color:#2a241f !important;
  box-shadow:0 4px 12px rgba(0,0,0,.14) !important;
  cursor:pointer !important;
}
@media (max-width:480px){
  .ppb-gen__batch-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

/* ═══════════════════════════════════════════════════════════════
   /GENERER — v1.0.19 DARK PRODUCTION UI
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500&display=swap');

body.ppb-page-generate{background:#080909!important;color:#d7d2c8!important;}
body.ppb-page-generate .site,body.ppb-page-generate #page,body.ppb-page-generate main,body.ppb-page-generate .entry-content{background:#080909!important;}
body.ppb-page-generate .ppb-gen{
  --ppb-bg:#080909;--ppb-bg-warm:#101313;--ppb-surface:#121414;--ppb-surface-2:#171919;
  --ppb-ink:#e8e2d7;--ppb-ink-soft:#b9b2a6;--ppb-ink-mute:#707b7b;
  --ppb-gold:#c4a22c;--ppb-gold-deep:#d7b53f;--ppb-gold-light:#6f5a18;--ppb-gold-bg:rgba(196,162,44,.12);
  --ppb-border:rgba(212,222,218,.13);--ppb-border-strong:rgba(196,162,44,.35);
  --ppb-radius:7px;--ppb-serif:'IBM Plex Sans',system-ui,sans-serif;--ppb-sans:'IBM Plex Sans',system-ui,sans-serif;--ppb-mono:'IBM Plex Mono',monospace;
  background:#080909!important;color:var(--ppb-ink);letter-spacing:.01em;
}
body.ppb-page-generate .ppb-gen *{box-sizing:border-box;}
body.ppb-page-generate .ppb-gen__header{background:#080909;border-bottom:1px solid var(--ppb-border);padding:0 28px;height:72px;}
body.ppb-page-generate .ppb-gen__title{font-family:var(--ppb-sans);font-size:24px;font-weight:300;letter-spacing:.01em;}
body.ppb-page-generate .ppb-gen__title:before{content:none;}
body.ppb-page-generate .ppb-gen__title em{font-style:normal;color:var(--ppb-gold);}
body.ppb-page-generate .ppb-gen__logo{height:28px;width:auto;display:block;margin-right:18px;flex-shrink:0;}
body.ppb-page-generate .ppb-gen__credits,body.ppb-page-generate .ppb-gen__nav-toggle{background:#101313;border:1px solid var(--ppb-border);color:var(--ppb-ink-soft);box-shadow:none;}
body.ppb-page-generate .ppb-gen__nav-panel{background:#111414;border:1px solid var(--ppb-border-strong);box-shadow:0 28px 80px rgba(0,0,0,.55);}
body.ppb-page-generate .ppb-gen__nav-panel a{color:var(--ppb-ink-soft);font-family:var(--ppb-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
body.ppb-page-generate .ppb-gen__tabs{background:#080909;border-bottom:1px solid var(--ppb-border);padding:14px 28px;gap:12px;height:auto;}
body.ppb-page-generate .ppb-gen__tab{height:42px;border:1px solid var(--ppb-border);border-radius:5px;background:#111414;color:#707b7b;font-family:var(--ppb-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:0 18px;}
body.ppb-page-generate .ppb-gen__tab.is-active{background:rgba(196,162,44,.14);border-color:var(--ppb-gold-light);color:var(--ppb-gold-deep);box-shadow:inset 0 0 0 1px rgba(196,162,44,.12);}
body.ppb-page-generate .ppb-gen__body{background:#080909;padding:22px 28px 28px;gap:22px;}
body.ppb-page-generate .ppb-gen__left{background:#121414;border:1px solid var(--ppb-border);border-radius:8px;box-shadow:none;overflow-y:auto;overflow-x:hidden;}
body.ppb-page-generate .ppb-gen__result{background:#121414;border:1px solid var(--ppb-border);border-radius:8px;box-shadow:none;}
body.ppb-page-generate .ppb-gen__panel{background:transparent;border:none;border-radius:0;padding:22px;}
body.ppb-page-generate .ppb-gen__panel--bottom{background:transparent;border:none;border-radius:0;border-top:1px solid var(--ppb-border);padding:22px;}
body.ppb-page-generate .ppb-gen__label,body.ppb-page-generate .ppb-gen__library-label{font-family:var(--ppb-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#869393;}
body.ppb-page-generate .ppb-gen__source-btn,body.ppb-page-generate .ppb-gen__mode-btn,body.ppb-page-generate .ppb-gen__media-open,body.ppb-page-generate .ppb-gen__ref-toggle,body.ppb-page-generate .ppb-gen__select,body.ppb-page-generate .ppb-gen__textarea{background:#181a1a;border:1px solid var(--ppb-border);color:var(--ppb-ink);border-radius:5px;}
body.ppb-page-generate .ppb-gen__source-btn.is-active,body.ppb-page-generate .ppb-gen__mode-btn.is-active{background:rgba(196,162,44,.11);border-color:var(--ppb-gold-light);color:var(--ppb-gold-deep);}
body.ppb-page-generate .ppb-gen__upload,body.ppb-page-generate .ppb-gen__batch-drop{background:#131616;border:1px dashed rgba(134,147,147,.42);border-radius:5px;color:var(--ppb-ink-soft);}
body.ppb-page-generate .ppb-gen__upload-sub{color:#738080;font-family:var(--ppb-mono);font-size:10px;}
body.ppb-page-generate .ppb-gen__room-grid{grid-template-columns:1fr 1fr;gap:7px;}
body.ppb-page-generate .ppb-gen__room-btn{height:38px;display:flex;justify-content:flex-start;align-items:center;gap:9px;background:#181a1a;border:1px solid var(--ppb-border);border-radius:5px;color:var(--ppb-ink-soft);padding:0 11px;}
body.ppb-page-generate .ppb-gen__room-btn.is-active{border-color:var(--ppb-gold-light);background:rgba(196,162,44,.10);box-shadow:none;}
body.ppb-page-generate .ppb-gen__room-label{font-size:12px;text-align:left;color:inherit;}
body.ppb-page-generate .ppb-gen__prompt-library{display:grid;grid-template-columns:95px 1fr;gap:8px;align-items:center;margin-bottom:8px;}
body.ppb-page-generate .ppb-gen__production-box,body.ppb-page-generate .ppb-gen__policy-note,body.ppb-page-generate .ppb-gen__cost{background:#101313;border:1px solid var(--ppb-border);border-radius:5px;color:var(--ppb-ink-soft);}
body.ppb-page-generate .ppb-btn--gold{background:#0f3f31!important;border:1px solid rgba(82,214,199,.28)!important;color:#57e2d1!important;font-family:var(--ppb-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;box-shadow:none!important;}
body.ppb-page-generate .ppb-btn--gold:hover{background:#145540!important;}
body.ppb-page-generate .ppb-btn--ghost{background:#121414!important;border:1px solid var(--ppb-border)!important;color:var(--ppb-ink-soft)!important;font-family:var(--ppb-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
body.ppb-page-generate .ppb-gen__result{min-width:0;overflow:hidden;}
body.ppb-page-generate .ppb-gen__result-empty,body.ppb-page-generate .ppb-gen__result-loading{background:#121414;color:#869393;}
body.ppb-page-generate .ppb-gen__result-title{font-family:var(--ppb-mono);font-size:12px;text-transform:none;color:#879191;}
body.ppb-page-generate .ppb-gen__result-img-wrap{background:#090a0a;}
body.ppb-page-generate .ppb-gen__edit,body.ppb-page-generate .ppb-gen__result-actions,body.ppb-page-generate .ppb-gen__result-meta{background:#101313;border-color:var(--ppb-border);}
body.ppb-page-generate .ppb-gen__batch-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:280px;}
body.ppb-page-generate .ppb-gen__batch-item{display:block;position:relative;padding:0;background:#101313;border:1px solid var(--ppb-border);border-radius:5px;overflow:hidden;}
body.ppb-page-generate .ppb-gen__batch-item img{width:100%;height:74px;border-radius:0;display:block;object-fit:cover;}
body.ppb-page-generate .ppb-gen__batch-item-name{padding:6px 7px;font-family:var(--ppb-mono);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.ppb-page-generate .ppb-gen__batch-item-remove{position:absolute;right:5px;top:5px;background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.18);color:#fff;}
body.ppb-page-generate .ppb-gen__batch-results{background:#101313;height:100%;overflow:auto;}
body.ppb-page-generate .ppb-gen__batch-results-header{padding:14px;border-bottom:1px solid var(--ppb-border);background:#0f1111;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;}
body.ppb-page-generate .ppb-gen__batch-tools{display:flex;gap:8px;align-items:center;}
body.ppb-page-generate .ppb-gen__batch-progress-bar{grid-column:1/-1;background:#1a1d1d;height:2px;border-radius:2px;overflow:hidden;}
body.ppb-page-generate .ppb-gen__batch-progress-fill{height:100%;background:#52d6c7;}
body.ppb-page-generate .ppb-gen__batch-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
body.ppb-page-generate .ppb-gen__batch-card{position:relative;background:#151818;border:1px solid var(--ppb-border);border-radius:6px;overflow:hidden;}
body.ppb-page-generate .ppb-gen__batch-card-imgs{background:#0d0f0f;padding:10px;display:grid;grid-template-columns:1fr 22px 1fr;gap:8px;align-items:center;}
body.ppb-page-generate .ppb-gen__batch-card-src{width:100%;height:auto;object-fit:contain;border-radius:4px;display:block;}
body.ppb-page-generate .ppb-gen__batch-card-result img{width:100%;height:100%;object-fit:contain;border-radius:4px;display:block;}
body.ppb-page-generate .ppb-gen__batch-card-result{position:relative;align-self:stretch;min-height:64px;height:auto;background:#111414;border-radius:4px;display:flex;align-items:center;justify-content:center;}
body.ppb-page-generate .ppb-gen__batch-card-status{font-family:var(--ppb-mono);font-size:10px;padding:8px 10px;color:#869393;border-top:1px solid var(--ppb-border);}
body.ppb-page-generate .ppb-gen__batch-card-status.is-done{color:#52d674;}body.ppb-page-generate .ppb-gen__batch-card-status.is-error{color:#ff736c;}
body.ppb-page-generate .ppb-gen__batch-card-dl,body.ppb-page-generate .ppb-gen__batch-card-zoom,body.ppb-page-generate .ppb-gen__batch-retry{position:absolute;width:25px;height:25px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:4px;background:rgba(8,9,9,.72);color:#e8e2d7;text-decoration:none;cursor:pointer;}
body.ppb-page-generate .ppb-gen__batch-card-dl{right:6px;bottom:6px;}body.ppb-page-generate .ppb-gen__batch-card-zoom{right:36px;bottom:6px;}body.ppb-page-generate .ppb-gen__batch-retry{right:8px;top:8px;color:#ffbd54;}
body.ppb-page-generate .ppb-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:24px;}
body.ppb-page-generate .ppb-lightbox__bg{position:absolute;inset:0;}
body.ppb-page-generate .ppb-lightbox__viewer{position:relative;z-index:1;width:min(1180px,96vw);max-height:94vh;display:flex;flex-direction:column;gap:12px;align-items:center;}
body.ppb-page-generate .ppb-lightbox__img{max-width:100%;max-height:calc(94vh - 125px);object-fit:contain;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:#111;}
body.ppb-page-generate .ppb-lightbox__close{position:absolute;right:-14px;top:-14px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#1b1e1e;color:#fff;z-index:2;cursor:pointer;}
body.ppb-page-generate .ppb-lightbox__tools{width:min(900px,92vw);display:grid;grid-template-columns:1fr auto auto;gap:8px;background:#101313;border:1px solid var(--ppb-border);border-radius:6px;padding:10px;}
body.ppb-page-generate .ppb-lightbox__prompt{min-height:54px!important;resize:vertical;}
body.ppb-page-generate .ppb-gen__msg.is-error{background:rgba(180,55,55,.12);border-left-color:#d95555;color:#ffb1ab;}body.ppb-page-generate .ppb-gen__msg.is-success{background:rgba(82,214,199,.09);border-left-color:#52d6c7;color:#8ff0e5;}
@media(max-width:768px){
  body.ppb-page-generate .ppb-gen{height:auto;min-height:100vh;overflow:visible;width:100%;margin-left:0;}
  body.ppb-page-generate .ppb-gen__header{height:auto;min-height:64px;padding:14px 16px;}
  body.ppb-page-generate .ppb-gen__title{font-size:19px;}body.ppb-page-generate .ppb-gen__title:before{content:none;}
  body.ppb-page-generate .ppb-gen__logo{height:22px;margin-right:12px;}
  body.ppb-page-generate .ppb-gen__tabs{padding:10px 14px;overflow:auto;}
  body.ppb-page-generate .ppb-gen__body{display:block;padding:14px;}
  body.ppb-page-generate .ppb-gen__panel,body.ppb-page-generate .ppb-gen__result{height:auto;overflow:visible;margin-bottom:14px;}
  body.ppb-page-generate .ppb-gen__batch-list{grid-template-columns:repeat(3,1fr);}
  body.ppb-page-generate .ppb-gen__batch-grid{grid-template-columns:1fr;padding:10px;}
  body.ppb-page-generate .ppb-lightbox__tools{grid-template-columns:1fr;}
  body.ppb-page-generate .ppb-lightbox__img{max-height:58vh;}
}


/* ═══════════════════════════════════════════════════════════════
   PHOTOPREST BILLING v1.0.20 — FULL DARK COCKPIT SYSTEM
   Objectif : faire basculer /generer d'un rendu plugin WP vers un cockpit de production IA.
   Sélecteurs volontairement forts + fallback sans body class pour éviter les conflits thème/cache.
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500&display=swap');

:root{
  --ppb-cockpit-bg:#050707;
  --ppb-cockpit-bg-2:#080a0a;
  --ppb-cockpit-panel:#0f1212;
  --ppb-cockpit-panel-2:#141818;
  --ppb-cockpit-panel-3:#191d1d;
  --ppb-cockpit-line:rgba(151,173,171,.18);
  --ppb-cockpit-line-strong:rgba(82,214,199,.38);
  --ppb-cockpit-text:#d9dfdc;
  --ppb-cockpit-muted:#829090;
  --ppb-cockpit-dim:#536262;
  --ppb-cockpit-cyan:#52d6c7;
  --ppb-cockpit-green:#43c57f;
  --ppb-cockpit-red:#e05f59;
  --ppb-cockpit-amber:#c8aa3a;
  --ppb-cockpit-font:'IBM Plex Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ppb-cockpit-mono:'IBM Plex Mono','SFMono-Regular',Menlo,Consolas,monospace;
}

html:has(.ppb-gen),
body:has(.ppb-gen),
body.ppb-page-generate{
  background:var(--ppb-cockpit-bg)!important;
  color:var(--ppb-cockpit-text)!important;
}
body:has(.ppb-gen) #page,
body:has(.ppb-gen) .site,
body:has(.ppb-gen) .site-content,
body:has(.ppb-gen) .content-area,
body:has(.ppb-gen) main,
body:has(.ppb-gen) article,
body:has(.ppb-gen) .entry-content,
body:has(.ppb-gen) .page-content,
body.ppb-page-generate #page,
body.ppb-page-generate .site,
body.ppb-page-generate .site-content,
body.ppb-page-generate .content-area,
body.ppb-page-generate main,
body.ppb-page-generate article,
body.ppb-page-generate .entry-content,
body.ppb-page-generate .page-content{
  background:var(--ppb-cockpit-bg)!important;
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  width:100%!important;
}
body:has(.ppb-gen) header:not(.ppb-gen__header),
body:has(.ppb-gen) footer,
body.ppb-page-generate header:not(.ppb-gen__header),
body.ppb-page-generate footer{
  display:none!important;
}

.ppb-gen,
body.ppb-page-generate .ppb-gen{
  --ppb-bg:var(--ppb-cockpit-bg)!important;
  --ppb-bg-warm:var(--ppb-cockpit-panel)!important;
  --ppb-surface:var(--ppb-cockpit-panel-2)!important;
  --ppb-surface-2:var(--ppb-cockpit-panel-3)!important;
  --ppb-ink:var(--ppb-cockpit-text)!important;
  --ppb-ink-soft:var(--ppb-cockpit-muted)!important;
  --ppb-ink-mute:var(--ppb-cockpit-dim)!important;
  --ppb-gold:var(--ppb-cockpit-cyan)!important;
  --ppb-gold-deep:var(--ppb-cockpit-cyan)!important;
  --ppb-gold-light:var(--ppb-cockpit-line-strong)!important;
  --ppb-gold-bg:rgba(82,214,199,.09)!important;
  --ppb-border:var(--ppb-cockpit-line)!important;
  --ppb-border-strong:var(--ppb-cockpit-line-strong)!important;
  --ppb-radius:3px!important;
  --ppb-serif:var(--ppb-cockpit-font)!important;
  --ppb-sans:var(--ppb-cockpit-font)!important;
  --ppb-mono:var(--ppb-cockpit-mono)!important;
  font-family:var(--ppb-cockpit-font)!important;
  background:var(--ppb-cockpit-bg)!important;
  color:var(--ppb-cockpit-text)!important;
  min-height:100vh!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  letter-spacing:.01em!important;
  overflow:hidden!important;
}
.ppb-gen *{box-sizing:border-box!important;}

/* Header / cockpit bar */
.ppb-gen__header{
  height:64px!important;
  padding:0 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  background:#070909!important;
  border-bottom:1px solid var(--ppb-cockpit-line)!important;
  box-shadow:none!important;
}
.ppb-gen__header-left{display:flex!important;align-items:center!important;gap:0!important;min-width:0!important;}
.ppb-gen__logo{height:28px!important;width:auto!important;display:block!important;margin-right:18px!important;flex-shrink:0!important;}
.ppb-gen__title{
  margin:0!important;
  font-family:var(--ppb-cockpit-font)!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:300!important;
  color:var(--ppb-cockpit-text)!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
.ppb-gen__title:before{
  content:none!important;
}
.ppb-gen__title em{font-style:normal!important;color:var(--ppb-cockpit-amber)!important;font-weight:300!important;}
.ppb-gen__sub{display:none!important;}
.ppb-gen__header-actions{display:flex!important;align-items:center!important;gap:10px!important;}
.ppb-gen__credits,
.ppb-gen__nav-toggle{
  height:34px!important;
  min-width:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:#101313!important;
  color:var(--ppb-cockpit-text)!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:3px!important;
  box-shadow:none!important;
  padding:0 12px!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.ppb-gen__credits svg{color:var(--ppb-cockpit-cyan)!important;}
.ppb-gen__credits strong{color:#fff!important;font-weight:500!important;}
.ppb-gen__credits-label{color:var(--ppb-cockpit-muted)!important;}
.ppb-gen__nav-toggle span{width:13px!important;height:1px!important;background:var(--ppb-cockpit-cyan)!important;border-radius:0!important;display:block!important;margin:3px 0!important;}
.ppb-gen__nav-panel{
  top:42px!important;
  right:0!important;
  width:260px!important;
  padding:8px!important;
  background:#0c0f0f!important;
  border:1px solid var(--ppb-cockpit-line-strong)!important;
  border-radius:3px!important;
  box-shadow:0 22px 80px rgba(0,0,0,.72)!important;
}
.ppb-gen__nav-panel a{
  display:block!important;
  padding:11px 12px!important;
  color:var(--ppb-cockpit-muted)!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  border-radius:2px!important;
}
.ppb-gen__nav-panel a:hover{background:rgba(82,214,199,.08)!important;color:var(--ppb-cockpit-cyan)!important;}

/* Navigation modules */
.ppb-gen__tabs{
  height:52px!important;
  padding:10px 28px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  background:#070909!important;
  border-bottom:1px solid var(--ppb-cockpit-line)!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.ppb-gen__tabs::-webkit-scrollbar{display:none!important;}
.ppb-gen__tab{
  height:32px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#101313!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:3px!important;
  color:var(--ppb-cockpit-muted)!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.ppb-gen__tab:hover{border-color:rgba(82,214,199,.28)!important;color:#b7c8c5!important;background:#121616!important;}
.ppb-gen__tab.is-active{
  background:rgba(82,214,199,.09)!important;
  border-color:var(--ppb-cockpit-line-strong)!important;
  color:var(--ppb-cockpit-cyan)!important;
  box-shadow:inset 0 -1px 0 var(--ppb-cockpit-cyan)!important;
}

/* Main production grid */
.ppb-gen__body{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:22px!important;
  padding:22px 28px!important;
  background:var(--ppb-cockpit-bg)!important;
  min-height:calc(100vh - 116px)!important;
  height:calc(100vh - 116px)!important;
  overflow:hidden!important;
}
.ppb-gen__result{
  background:#0f1212!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:4px!important;
  box-shadow:none!important;
}
.ppb-gen__left{
  background:#0f1212!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:4px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  height:100%!important;
  min-height:0!important;
  scrollbar-color:rgba(82,214,199,.35) transparent!important;
  scrollbar-width:thin!important;
}
.ppb-gen__panel{
  height:auto!important;
  min-height:0!important;
  overflow-y:visible!important;
  overflow-x:visible!important;
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:20px!important;
}
.ppb-gen__panel::-webkit-scrollbar{width:8px!important;}
.ppb-gen__panel::-webkit-scrollbar-track{background:transparent!important;}
.ppb-gen__panel::-webkit-scrollbar-thumb{background:rgba(82,214,199,.24)!important;border-radius:0!important;}
.ppb-gen__section{
  margin:0 0 18px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid rgba(151,173,171,.11)!important;
}
.ppb-gen__section:last-child{border-bottom:0!important;}
.ppb-gen__label,
.ppb-gen__library-label{
  display:block!important;
  margin:0 0 10px!important;
  color:#7f9292!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.ppb-gen__label-hint{font-family:var(--ppb-cockpit-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ppb-cockpit-dim)!important;font-size:11px!important;margin-left:5px!important;}

/* Controls */
.ppb-gen__source-switch,
.ppb-gen__mode-toggle{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:12px!important;}
.ppb-gen__source-btn,
.ppb-gen__mode-btn,
.ppb-gen__media-open,
.ppb-gen__ref-toggle,
.ppb-gen__select,
.ppb-gen__textarea,
.ppb-gen__prompt-library select{
  background:#171b1b!important;
  color:var(--ppb-cockpit-text)!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:3px!important;
  box-shadow:none!important;
  font-family:var(--ppb-cockpit-font)!important;
  outline:none!important;
}
.ppb-gen__source-btn,
.ppb-gen__mode-btn,
.ppb-gen__media-open,
.ppb-gen__ref-toggle{
  min-height:42px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-size:12px!important;
  font-weight:500!important;
  color:#bcc8c6!important;
}
.ppb-gen__source-btn.is-active,
.ppb-gen__mode-btn.is-active{
  background:rgba(82,214,199,.08)!important;
  border-color:var(--ppb-cockpit-line-strong)!important;
  color:var(--ppb-cockpit-cyan)!important;
}
.ppb-gen__source-btn:hover,
.ppb-gen__mode-btn:hover,
.ppb-gen__media-open:hover,
.ppb-gen__ref-toggle:hover{border-color:rgba(82,214,199,.35)!important;color:var(--ppb-cockpit-cyan)!important;background:#1a2020!important;}
.ppb-gen__select{
  height:34px!important;
  padding:0 10px!important;
  font-size:12px!important;
  color:#dbe4e1!important;
}
.ppb-gen__textarea{
  min-height:96px!important;
  padding:13px 14px!important;
  resize:vertical!important;
  font-size:12px!important;
  line-height:1.5!important;
  color:#dbe4e1!important;
}
.ppb-gen__textarea::placeholder{color:#566464!important;}
.ppb-gen__textarea:focus,
.ppb-gen__select:focus{border-color:var(--ppb-cockpit-cyan)!important;box-shadow:0 0 0 1px rgba(82,214,199,.25)!important;}

/* Upload / preview */
.ppb-gen__upload,
.ppb-gen__batch-drop{
  min-height:112px!important;
  background:#111515!important;
  border:1px dashed rgba(151,173,171,.32)!important;
  border-radius:3px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  color:#a6b6b3!important;
  transition:background .15s ease,border-color .15s ease!important;
}
.ppb-gen__upload:hover,
.ppb-gen__upload.is-drag,
.ppb-gen__batch-drop:hover,
.ppb-gen__batch-drop.is-drag{background:rgba(82,214,199,.05)!important;border-color:var(--ppb-cockpit-cyan)!important;}
.ppb-gen__upload svg,
.ppb-gen__batch-drop svg{color:var(--ppb-cockpit-cyan)!important;margin-bottom:8px!important;}
.ppb-gen__upload-title{font-size:12px!important;font-weight:500!important;color:#d5dddb!important;}
.ppb-gen__upload-sub{font-family:var(--ppb-cockpit-mono)!important;font-size:10px!important;color:#6c7d7c!important;margin-top:3px!important;}
.ppb-gen__preview{background:#111515!important;border:1px solid var(--ppb-cockpit-line)!important;border-radius:3px!important;overflow:hidden!important;}
.ppb-gen__preview img{width:100%!important;max-height:220px!important;object-fit:cover!important;display:block!important;}
.ppb-gen__preview-remove{background:#090b0b!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;}

/* Rooms and prompts */
.ppb-gen__room-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.ppb-gen__room-btn{
  height:38px!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  background:#171b1b!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:3px!important;
  color:#98a7a5!important;
}
.ppb-gen__room-btn:hover{background:#1a2020!important;border-color:rgba(82,214,199,.30)!important;color:#d6e0dd!important;}
.ppb-gen__room-btn.is-active{background:rgba(82,214,199,.08)!important;border-color:var(--ppb-cockpit-line-strong)!important;color:var(--ppb-cockpit-cyan)!important;box-shadow:none!important;}
.ppb-gen__room-icon{font-size:14px!important;width:18px!important;text-align:center!important;}
.ppb-gen__room-label{font-size:12px!important;line-height:1.15!important;text-align:left!important;color:inherit!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.ppb-gen__prompt-library{display:grid!important;grid-template-columns:94px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;margin:0 0 9px!important;}
.ppb-gen__prompt-library .ppb-gen__library-label{margin:0!important;}
.ppb-gen__info-box,
.ppb-gen__production-box,
.ppb-gen__policy-note,
.ppb-gen__cost{
  background:#0b1010!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:3px!important;
  color:#8ea0a0!important;
  box-shadow:none!important;
}
.ppb-gen__production-box{display:grid!important;grid-template-columns:1fr 115px!important;gap:10px!important;padding:12px!important;}
.ppb-gen__quality-kicker{font-family:var(--ppb-cockpit-mono)!important;color:var(--ppb-cockpit-cyan)!important;font-size:10px!important;letter-spacing:.14em!important;text-transform:uppercase!important;}
.ppb-gen__quality-line strong{color:#dce4e2!important;font-weight:500!important;font-size:12px!important;}
.ppb-gen__quality-line em{color:#7d8c8c!important;font-style:normal!important;font-size:11px!important;}
.ppb-gen__policy-note{padding:10px 12px!important;font-size:11px!important;line-height:1.45!important;}
.ppb-gen__policy-note strong{color:#dce4e2!important;}
.ppb-gen__cost{height:46px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 12px!important;margin:0 0 8px!important;}
.ppb-gen__cost-label{font-family:var(--ppb-cockpit-mono)!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:#7d8c8c!important;}
.ppb-gen__cost-val{font-family:var(--ppb-cockpit-mono)!important;color:#dce4e2!important;font-size:12px!important;}
.ppb-gen__cost-val em{color:var(--ppb-cockpit-cyan)!important;font-style:normal!important;font-size:14px!important;}

/* Buttons */
.ppb-btn,
.ppb-btn--gold,
.ppb-btn--ghost{
  height:38px!important;
  border-radius:3px!important;
  box-shadow:none!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-decoration:none!important;
}
.ppb-btn--gold{
  background:#064532!important;
  border:1px solid rgba(82,214,199,.42)!important;
  color:#65f1df!important;
}
.ppb-btn--gold:hover{background:#075c41!important;border-color:var(--ppb-cockpit-cyan)!important;color:#fff!important;}
.ppb-btn--gold:disabled{opacity:.35!important;cursor:not-allowed!important;filter:grayscale(.4)!important;}
.ppb-btn--ghost{
  background:#101313!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  color:#9eafad!important;
}
.ppb-btn--ghost:hover{border-color:rgba(82,214,199,.36)!important;color:var(--ppb-cockpit-cyan)!important;}
.ppb-btn--block{width:100%!important;}

/* Result stage */
.ppb-gen__result{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  background:#0f1212!important;
}
.ppb-gen__result:before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(rgba(82,214,199,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82,214,199,.025) 1px, transparent 1px)!important;
  background-size:44px 44px!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 65%)!important;
  opacity:.7!important;
}
.ppb-gen__result-empty,
.ppb-gen__result-loading{
  position:relative!important;
  flex:1!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  background:#0f1212!important;
  color:#748484!important;
  border-radius:3px!important;
}
.ppb-gen__result-empty:after{
  content:''!important;
  position:absolute!important;
  inset:42px!important;
  border:1px solid rgba(82,214,199,.14)!important;
  pointer-events:none!important;
}
.ppb-gen__empty-icon{color:rgba(82,214,199,.28)!important;margin-bottom:18px!important;}
.ppb-gen__result-title{
  margin:0 0 12px!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:29px!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
  color:#8b9998!important;
}
.ppb-gen__result-sub{font-family:var(--ppb-cockpit-font)!important;font-size:13px!important;line-height:1.45!important;color:#647474!important;text-align:center!important;max-width:420px!important;}
.ppb-gen__result-output{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;position:relative!important;z-index:1!important;}
.ppb-gen__result-img-wrap{
  flex:1!important;
  min-height:0!important;
  background:#090b0b!important;
  border-bottom:1px solid var(--ppb-cockpit-line)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
}
.ppb-gen__result-img-wrap img,
.ppb-gen__result-img{max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:3px!important;border:1px solid rgba(255,255,255,.08)!important;cursor:zoom-in!important;}
.ppb-gen__result-meta,
.ppb-gen__edit,
.ppb-gen__result-actions{
  background:#0c0f0f!important;
  border-top:1px solid var(--ppb-cockpit-line)!important;
  color:#7f9292!important;
}
.ppb-gen__edit{padding:10px 14px!important;display:flex!important;flex-direction:column!important;gap:7px!important;}
.ppb-gen__edit .ppb-gen__textarea{min-height:54px!important;width:100%!important;box-sizing:border-box!important;}
.ppb-gen__edit .ppb-gen__edit-row--actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;}
.ppb-gen__edit .ppb-gen__edit-help{font-size:10.5px!important;color:#748484!important;margin:0!important;}
.ppb-gen__edit #ppb-gen-edit-submit{flex-shrink:0!important;padding:6px 16px!important;font-size:11.5px!important;}
.ppb-gen__result-actions{padding:10px!important;display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;}

/* Batch production */
.ppb-gen__batch-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:260px!important;
  overflow-y:auto!important;
  padding-right:2px!important;
}
.ppb-gen__batch-item{
  position:relative!important;
  aspect-ratio:1/1!important;
  display:block!important;
  overflow:hidden!important;
  padding:0!important;
  background:#111515!important;
  border:1px solid var(--ppb-cockpit-line)!important;
  border-radius:3px!important;
}
.ppb-gen__batch-item img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.ppb-gen__batch-item-name{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:20px 7px 7px!important;background:linear-gradient(to top,rgba(0,0,0,.74),transparent)!important;color:#fff!important;font-family:var(--ppb-cockpit-mono)!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.ppb-gen__batch-item-remove{position:absolute!important;right:5px!important;top:5px!important;width:22px!important;height:22px!important;border-radius:3px!important;background:rgba(0,0,0,.62)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;}
.ppb-gen__batch-results{height:100%!important;display:flex;flex-direction:column!important;background:#0f1212!important;}
.ppb-gen__batch-results-header{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px 14px!important;
  background:#0b0e0e!important;
  border-bottom:1px solid var(--ppb-cockpit-line)!important;
  font-family:var(--ppb-cockpit-mono)!important;
  font-size:11px!important;
  color:#9fb0ae!important;
}
.ppb-gen__batch-tools{display:flex!important;gap:8px!important;align-items:center!important;}
.ppb-gen__batch-progress-bar{grid-column:1/-1!important;height:2px!important;background:#182020!important;border-radius:0!important;overflow:hidden!important;}
.ppb-gen__batch-progress-fill{height:100%!important;background:var(--ppb-cockpit-cyan)!important;}
.ppb-gen__batch-grid{flex:1!important;min-height:0!important;overflow:auto!important;padding:14px!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:12px!important;}
.ppb-gen__batch-card{position:relative!important;background:#141818!important;border:1px solid var(--ppb-cockpit-line)!important;border-radius:3px!important;overflow:hidden!important;}
.ppb-gen__batch-card-imgs{background:#0b0e0e!important;padding:9px!important;display:grid!important;grid-template-columns:1fr 20px 1fr!important;gap:8px!important;align-items:center!important;}
.ppb-gen__batch-card-arrow{font-family:var(--ppb-cockpit-mono)!important;color:var(--ppb-cockpit-cyan)!important;text-align:center!important;}
.ppb-gen__batch-card-src{width:100%!important;height:auto!important;object-fit:contain!important;border-radius:2px!important;border:1px solid rgba(255,255,255,.07)!important;display:block!important;}
.ppb-gen__batch-card-result img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:2px!important;border:1px solid rgba(255,255,255,.07)!important;display:block!important;}
.ppb-gen__batch-card-result{position:relative!important;align-self:stretch!important;min-height:64px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#111515!important;border-radius:2px!important;color:#667676!important;}
.ppb-gen__batch-card-status{border-top:1px solid var(--ppb-cockpit-line)!important;padding:8px 10px!important;font-family:var(--ppb-cockpit-mono)!important;font-size:10px!important;color:#819191!important;}
.ppb-gen__batch-card-status.is-done{color:var(--ppb-cockpit-green)!important;}
.ppb-gen__batch-card-status.is-error{color:var(--ppb-cockpit-red)!important;}
.ppb-gen__batch-card-dl,
.ppb-gen__batch-card-zoom,
.ppb-gen__batch-retry{
  position:absolute!important;
  width:26px!important;
  height:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:3px!important;
  background:rgba(5,7,7,.72)!important;
  color:#e7efed!important;
  text-decoration:none!important;
  cursor:pointer!important;
  backdrop-filter:blur(4px)!important;
}
.ppb-gen__batch-card-dl:hover,
.ppb-gen__batch-card-zoom:hover,
.ppb-gen__batch-retry:hover{border-color:var(--ppb-cockpit-cyan)!important;color:var(--ppb-cockpit-cyan)!important;}
.ppb-gen__batch-card-dl{right:6px!important;bottom:6px!important;}
.ppb-gen__batch-card-zoom{right:36px!important;bottom:6px!important;}
.ppb-gen__batch-retry{right:7px!important;top:7px!important;color:#ffc05c!important;}
.ppb-gen__batch-card-error{color:var(--ppb-cockpit-red)!important;font-family:var(--ppb-cockpit-mono)!important;font-size:17px!important;}

/* Lightbox / edit loop */
.ppb-lightbox{position:fixed!important;inset:0!important;z-index:999999!important;background:rgba(0,0,0,.92)!important;display:none;align-items:center!important;justify-content:center!important;padding:22px!important;}
.ppb-lightbox[style*="display"]{align-items:center!important;justify-content:center!important;}
.ppb-lightbox__bg{position:absolute!important;inset:0!important;z-index:0!important;background:radial-gradient(circle at 50% 20%,rgba(82,214,199,.08),transparent 42%)!important;}
.ppb-lightbox__viewer{position:relative!important;z-index:2!important;width:min(1180px,96vw)!important;max-height:94vh!important;display:flex!important;flex-direction:column!important;gap:10px!important;align-items:center!important;justify-content:center!important;}
/* Image seule (vue simple) */
.ppb-lightbox__img{display:block!important;max-width:100%!important;max-height:calc(94vh - 140px)!important;width:auto!important;height:auto!important;object-fit:contain!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:3px!important;}
/* Slider dans la lightbox — calé sur l'image, même dimensions que ppb-lightbox__img */
/* Le wrap occupe tout l'espace et utilise padding-top pour le ratio — réglé par JS */
.ppb-lightbox__close{position:absolute!important;right:-13px!important;top:-13px!important;width:30px!important;height:30px!important;border-radius:3px!important;border:1px solid rgba(255,255,255,.16)!important;background:#111515!important;color:#fff!important;z-index:2!important;cursor:pointer!important;}
/* Métadonnées lightbox */
.ppb-lightbox__meta{width:min(940px,92vw)!important;font:400 11px/1.4 'IBM Plex Mono',monospace!important;color:rgba(255,255,255,.45)!important;padding:0 2px!important;letter-spacing:.04em!important;}

/* Barre d'outils : 1 ligne avec toggle + prompt + boutons */
.ppb-lightbox__tools{width:min(940px,92vw)!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;background:#141818!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:3px!important;padding:10px!important;}
.ppb-lightbox__prompt{flex:1 1 300px!important;min-height:40px!important;resize:vertical!important;color:#f0ede8!important;background:#1c2020!important;border:1px solid rgba(255,255,255,.2)!important;}
.ppb-lightbox__prompt::placeholder{color:rgba(240,237,232,.4)!important;}
#ppb-lightbox-comparison-toggle{flex-shrink:0!important;order:-1!important;color:#d4c89a!important;border-color:rgba(212,200,154,.4)!important;}
#ppb-lightbox-use-source,#ppb-lightbox-edit-submit{flex-shrink:0!important;color:#d4c89a!important;border-color:rgba(212,200,154,.4)!important;}
#ppb-lightbox-use-source:hover,#ppb-lightbox-edit-submit:hover{background:rgba(212,200,154,.1)!important;color:#f0e6b0!important;}
#ppb-lightbox-download{flex-shrink:0!important;}
body.ppb-lightbox-open{overflow:hidden!important;}

/* Messages */
.ppb-gen__msg{border-radius:3px!important;font-family:var(--ppb-cockpit-font)!important;font-size:12px!important;line-height:1.45!important;}
.ppb-gen__msg.is-error{background:rgba(224,95,89,.10)!important;border-left:2px solid var(--ppb-cockpit-red)!important;color:#ffb6b2!important;}
.ppb-gen__msg.is-success{background:rgba(82,214,199,.10)!important;border-left:2px solid var(--ppb-cockpit-cyan)!important;color:#9cf4ea!important;}

/* Admin prompt library — simple cockpit skin */
.ppb-admin-prompts{background:#050707!important;color:#d9dfdc!important;min-height:calc(100vh - 32px)!important;margin:0!important;padding:28px!important;font-family:var(--ppb-cockpit-font)!important;}
.ppb-admin-prompts h1{font-family:var(--ppb-cockpit-font)!important;font-weight:300!important;color:#d9dfdc!important;}
.ppb-admin-prompts p{color:#829090!important;}
.ppb-admin-prompts code{background:#101313!important;color:#52d6c7!important;border:1px solid rgba(82,214,199,.22)!important;padding:2px 5px!important;}
.ppb-admin-prompts textarea{background:#101313!important;color:#d9dfdc!important;border:1px solid rgba(151,173,171,.18)!important;border-radius:3px!important;font-family:var(--ppb-cockpit-mono)!important;line-height:1.55!important;}
.ppb-admin-prompts .button-primary{background:#064532!important;border-color:rgba(82,214,199,.42)!important;color:#65f1df!important;box-shadow:none!important;font-family:var(--ppb-cockpit-mono)!important;text-transform:uppercase!important;letter-spacing:.06em!important;}

@media (min-width: 769px){
  .admin-bar .ppb-gen{min-height:calc(100vh - 32px)!important;}
  .admin-bar .ppb-gen__body{height:calc(100vh - 148px)!important;min-height:calc(100vh - 148px)!important;}
}
@media (max-width: 1024px){
  .ppb-gen__body{grid-template-columns:330px minmax(0,1fr)!important;grid-template-areas:"left result"!important;gap:0!important;padding:0!important;}
  .ppb-gen__left{grid-area:left!important;overflow-y:auto!important;height:100%!important;}
  .ppb-gen__result{grid-area:result!important;}
}
@media (max-width: 768px){
  .ppb-gen{height:auto!important;min-height:100vh!important;overflow:visible!important;}
  .ppb-gen__header{height:auto!important;min-height:64px!important;padding:13px 15px!important;position:sticky!important;top:0!important;z-index:20!important;}
  .ppb-gen__title{font-size:18px!important;white-space:normal!important;}
  .ppb-gen__title:before{content:none!important;}
  .ppb-gen__logo{height:22px!important;margin-right:12px!important;}
  .ppb-gen__credits{height:32px!important;padding:0 10px!important;}
  .ppb-gen__credits-label{display:none!important;}
  .ppb-gen__tabs{height:auto!important;padding:10px 14px!important;position:sticky!important;top:64px!important;z-index:19!important;}
  .ppb-gen__tab{height:34px!important;padding:0 12px!important;font-size:9px!important;}
  .ppb-gen__body{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:14px!important;}
  .ppb-gen__panel,.ppb-gen__result{height:auto!important;min-height:0!important;overflow:visible!important;margin:0 0 14px!important;}
  .ppb-gen__panel{padding:16px!important;}
  .ppb-gen__result{min-height:520px!important;}
  .ppb-gen__result-empty{min-height:520px!important;}
  .ppb-gen__result-title{font-size:21px!important;}
  .ppb-gen__source-switch,.ppb-gen__mode-toggle{grid-template-columns:1fr 1fr!important;}
  .ppb-gen__room-grid{grid-template-columns:1fr 1fr!important;}
  .ppb-gen__prompt-library{grid-template-columns:1fr!important;}
  .ppb-gen__production-box{grid-template-columns:1fr!important;}
  .ppb-gen__edit{grid-template-columns:1fr!important;}
  .ppb-gen__result-actions{flex-direction:column!important;align-items:stretch!important;}
  .ppb-gen__batch-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .ppb-gen__batch-grid{grid-template-columns:1fr!important;padding:10px!important;}
  .ppb-gen__batch-results-header{grid-template-columns:1fr!important;}
  .ppb-gen__batch-tools{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .ppb-lightbox{padding:12px!important;}
  .ppb-lightbox__img{max-height:58vh!important;}
  .ppb-lightbox__tools{grid-template-columns:1fr!important;width:100%!important;}
}
@media (max-width: 430px){
  .ppb-gen__batch-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ppb-gen__source-switch,.ppb-gen__mode-toggle,.ppb-gen__room-grid{grid-template-columns:1fr!important;}
}


/* =========================================================
   v1.0.21 — corrections état initial + typographie cockpit
   ========================================================= */
#ppb-gen-loading{
  display:none !important;
}
#ppb-gen-loading.ppb-is-active{
  display:flex !important;
}
.ppb-gen__result-title,
#ppb-gen-loading-title{
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', system-ui, sans-serif) !important;
  font-size:clamp(22px,2.2vw,34px) !important;
  line-height:1.12 !important;
  font-weight:300 !important;
  letter-spacing:.015em !important;
  color:#9aa6a5 !important;
}
.ppb-gen__result-sub,
.ppb-gen__result-loading .ppb-gen__result-sub{
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', system-ui, sans-serif) !important;
  font-size:13px !important;
  line-height:1.55 !important;
  font-weight:300 !important;
  color:#6f7f7d !important;
}
.ppb-gen__spinner{
  border-color:rgba(82,214,199,.14) !important;
  border-top-color:var(--ppb-cockpit-cyan,#52d6c7) !important;
}


/* =========================================================
   v1.0.22 — anti-cache + état loading strict
   ========================================================= */
.ppb-gen__result-loading:not(.ppb-is-active),
#ppb-gen-loading:not(.ppb-is-active){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
#ppb-gen-loading.ppb-is-active{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.ppb-gen__result-empty,
.ppb-gen__result-title,
#ppb-gen-loading-title{
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', system-ui, sans-serif) !important;
}
.ppb-gen__result-title,
#ppb-gen-loading-title{
  font-size:clamp(22px,2.1vw,32px) !important;
  font-weight:300 !important;
  letter-spacing:.01em !important;
  line-height:1.15 !important;
}
.ppb-gen__result-sub{
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', system-ui, sans-serif) !important;
  font-weight:300 !important;
}


/* v1.0.23 — Lightbox actions: viewer, edit, load as source */
.ppb-lightbox__tools{
  grid-template-columns:1fr auto auto auto!important;
}
#ppb-lightbox-use-source{
  white-space:nowrap!important;
}
.ppb-gen__batch-item img,
.ppb-gen__preview img,
.ppb-gen__batch-card-src,
.ppb-gen__batch-card-result img{
  cursor:zoom-in!important;
}
@media (max-width:768px){
  .ppb-lightbox__tools{grid-template-columns:1fr!important;}
  #ppb-lightbox-use-source{white-space:normal!important;}
}


/* v1.0.24 — résultat principal : l'image générée occupe réellement le cadre */
.ppb-gen__result-show{
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  display:none;
  flex-direction:column!important;
}
.ppb-gen__result-show[style*="flex"]{
  display:flex!important;
}
.ppb-gen__result-img-wrap{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:360px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.ppb-gen__result-img-wrap #ppb-gen-result-img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.ppb-gen__result-empty[style*="none"],
.ppb-gen__result-loading[style*="none"]{
  display:none!important;
}

/* v1.0.27 — Prompt library with style reference images */
body.ppb-page-generate .ppb-gen__prompt-cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:10px 0 12px!important;
}
body.ppb-page-generate .ppb-gen__prompt-cat{
  grid-column:1/-1!important;
  margin:6px 0 0!important;
  font-family:var(--ppb-cockpit-mono, 'IBM Plex Mono', monospace)!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:#6e8581!important;
}
body.ppb-page-generate .ppb-gen__prompt-card{
  appearance:none!important;
  border:1px solid rgba(82,214,199,.18)!important;
  background:#101414!important;
  color:#d7dfdc!important;
  border-radius:3px!important;
  padding:0!important;
  overflow:hidden!important;
  cursor:pointer!important;
  text-align:left!important;
  transition:border-color .18s ease, background .18s ease, transform .18s ease!important;
}
body.ppb-page-generate .ppb-gen__prompt-card:hover,
body.ppb-page-generate .ppb-gen__prompt-card.is-active{
  border-color:rgba(82,214,199,.75)!important;
  background:#0c211d!important;
}
body.ppb-page-generate .ppb-gen__prompt-card-media{
  display:block!important;
  aspect-ratio:4/3!important;
  background:#080b0b!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
body.ppb-page-generate .ppb-gen__prompt-card-media img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}
body.ppb-page-generate .ppb-gen__prompt-card-empty{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:var(--ppb-cockpit-mono, 'IBM Plex Mono', monospace)!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
  color:#526260!important;
}
body.ppb-page-generate .ppb-gen__prompt-card-title{
  display:block!important;
  padding:8px 9px!important;
  min-height:38px!important;
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', sans-serif)!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:#cdd5d2!important;
}
/* v1.0.28 — Prompt library: selected style preview only */
body.ppb-page-generate .ppb-gen__prompt-cards,
body.ppb-page-generate .ppb-gen__prompt-cat,
body.ppb-page-generate .ppb-gen__prompt-card{display:none!important;}
/* Preview prompt sélectionné : image à gauche, titre+texte à droite */
body.ppb-page-generate .ppb-gen__prompt-style-preview:not(:empty){
  display:flex!important;
  flex-direction:row!important;
  gap:10px!important;
  align-items:flex-start!important;
  margin:8px 0 10px!important;
  padding:10px!important;
  border:1px solid rgba(82,214,199,.24)!important;
  background:#0b1110!important;
  border-radius:4px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-media{
  width:72px!important;
  min-width:72px!important;
  height:56px!important;
  flex-shrink:0!important;
  border:1px solid rgba(151,173,171,.16)!important;
  background:#050707!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-empty{
  font-family:var(--ppb-cockpit-mono, 'IBM Plex Mono', monospace)!important;
  color:#6f8380!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  font-size:9px!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-copy{
  flex:1 1 0%!important;
  min-width:0!important;
  max-width:calc(100% - 82px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:4px!important;
  overflow:hidden!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-copy em{
  font-family:var(--ppb-cockpit-mono, 'IBM Plex Mono', monospace)!important;
  color:#52d6c7!important;
  font-style:normal!important;
  font-size:9px!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-copy strong{
  color:#d9dfdc!important;
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', sans-serif)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  display:block!important;
  width:100%!important;
}
body.ppb-page-generate .ppb-gen__prompt-style-copy small{
  color:#7d8c89!important;
  font-family:var(--ppb-cockpit-font, 'IBM Plex Sans', sans-serif)!important;
  font-size:10px!important;
}

/* =========================================================
   v1.0.29 — Mobile menu refinement + hard mobile scroll fix
   ========================================================= */
@media (max-width: 768px){
  html,
  body,
  body.ppb-page-generate,
  html:has(.ppb-gen),
  body:has(.ppb-gen){
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:auto !important;
  }

  body:has(.ppb-gen) #page,
  body:has(.ppb-gen) .site,
  body:has(.ppb-gen) .site-content,
  body:has(.ppb-gen) .content-area,
  body:has(.ppb-gen) main,
  body:has(.ppb-gen) article,
  body:has(.ppb-gen) .entry-content,
  body:has(.ppb-gen) .page-content,
  body:has(.ppb-gen) .elementor,
  body:has(.ppb-gen) .elementor-section,
  body:has(.ppb-gen) .elementor-container,
  body:has(.ppb-gen) .elementor-widget-wrap,
  body:has(.ppb-gen) .elementor-widget-container,
  body.ppb-page-generate #page,
  body.ppb-page-generate .site,
  body.ppb-page-generate .site-content,
  body.ppb-page-generate .content-area,
  body.ppb-page-generate main,
  body.ppb-page-generate article,
  body.ppb-page-generate .entry-content,
  body.ppb-page-generate .page-content{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .ppb-gen,
  body.ppb-page-generate .ppb-gen{
    height:auto !important;
    min-height:100dvh !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
  }

  .ppb-gen__body,
  .ppb-gen__result,
  .ppb-gen__result-show,
  .ppb-gen__batch-results,
  .ppb-gen__batch-grid{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .ppb-gen__panel{
    height:auto !important;
    overflow-y:visible !important;
    overflow-x:visible !important;
  }
  .ppb-gen__left{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    height:100% !important;
    align-self:stretch !important;
  }

  .ppb-gen__header{
    overflow:visible !important;
  }

  .ppb-gen__header-actions{
    gap:8px !important;
    flex:0 0 auto !important;
    position:relative !important;
    z-index:99999 !important;
  }

  .ppb-gen__nav{
    position:relative !important;
    z-index:99999 !important;
  }

  .ppb-gen__nav summary,
  .ppb-gen__nav-toggle{
    appearance:none !important;
    -webkit-appearance:none !important;
    list-style:none !important;
  }

  .ppb-gen__nav summary::-webkit-details-marker,
  .ppb-gen__nav-toggle::-webkit-details-marker{
    display:none !important;
  }

  .ppb-gen__nav-toggle{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    padding:0 !important;
    border-radius:4px !important;
    border:1px solid rgba(82,214,199,.55) !important;
    background:#0b1010 !important;
    box-shadow:0 0 0 1px rgba(82,214,199,.08), 0 12px 32px rgba(0,0,0,.45) !important;
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    opacity:1 !important;
  }

  .ppb-gen__nav-toggle span{
    display:block !important;
    width:18px !important;
    height:1.5px !important;
    margin:0 !important;
    background:#52d6c7 !important;
    border-radius:1px !important;
    opacity:1 !important;
  }

  .ppb-gen__nav[open] .ppb-gen__nav-toggle{
    border-color:#c8aa3a !important;
    background:#121515 !important;
  }

  .ppb-gen__nav-panel,
  body.ppb-page-generate .ppb-gen__nav-panel{
    position:fixed !important;
    top:calc(76px + env(safe-area-inset-top)) !important;
    left:16px !important;
    right:16px !important;
    width:auto !important;
    max-width:none !important;
    padding:8px !important;
    background:rgba(7,10,10,.98) !important;
    border:1px solid rgba(82,214,199,.38) !important;
    border-radius:6px !important;
    box-shadow:0 28px 90px rgba(0,0,0,.78), inset 0 1px 0 rgba(255,255,255,.035) !important;
    z-index:99998 !important;
    overflow:hidden !important;
  }

  .ppb-gen__nav-panel::before{
    display:none !important;
  }

  .ppb-gen__nav-panel a,
  body.ppb-page-generate .ppb-gen__nav-panel a{
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 16px !important;
    border-radius:3px !important;
    border-bottom:1px solid rgba(151,173,171,.13) !important;
    color:#b9c6c4 !important;
    background:transparent !important;
    font-family:var(--ppb-cockpit-mono,'IBM Plex Mono',monospace) !important;
    font-size:12px !important;
    font-weight:500 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
  }

  .ppb-gen__nav-panel a:last-child{
    border-bottom:0 !important;
  }

  .ppb-gen__nav-panel a:hover,
  .ppb-gen__nav-panel a:focus{
    color:#52d6c7 !important;
    background:rgba(82,214,199,.075) !important;
  }

  .ppb-gen__credits{
    height:42px !important;
    min-width:42px !important;
    border-radius:4px !important;
    background:#0b1010 !important;
    border-color:rgba(151,173,171,.22) !important;
  }
}

@media (max-width: 430px){
  .ppb-gen__header{
    padding:12px 14px !important;
    min-height:72px !important;
  }

  .ppb-gen__title{
    max-width:calc(100vw - 150px) !important;
  }

  .ppb-gen__nav-panel,
  body.ppb-page-generate .ppb-gen__nav-panel{
    top:calc(84px + env(safe-area-inset-top)) !important;
    left:14px !important;
    right:14px !important;
  }
}

/* =========================================================
   v1.0.30 — Mobile scroll unlock + centered room buttons
   ========================================================= */
@media (max-width: 768px){
  html.ppb-gen-scroll-unlocked,
  html.ppb-gen-scroll-unlocked body,
  body.ppb-gen-scroll-unlocked,
  body.ppb-page-generate,
  body.page-template-page-generer{
    position:static !important;
    height:auto !important;
    min-height:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    touch-action:pan-y !important;
    -webkit-overflow-scrolling:touch !important;
  }

  html.ppb-gen-scroll-unlocked body:not(.ppb-lightbox-open){
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  html.ppb-gen-scroll-unlocked #page,
  html.ppb-gen-scroll-unlocked .site,
  html.ppb-gen-scroll-unlocked .site-content,
  html.ppb-gen-scroll-unlocked .content-area,
  html.ppb-gen-scroll-unlocked main,
  html.ppb-gen-scroll-unlocked article,
  html.ppb-gen-scroll-unlocked .entry-content,
  html.ppb-gen-scroll-unlocked .page-content,
  html.ppb-gen-scroll-unlocked .elementor,
  html.ppb-gen-scroll-unlocked .elementor-section,
  html.ppb-gen-scroll-unlocked .elementor-container,
  html.ppb-gen-scroll-unlocked .elementor-widget-wrap,
  html.ppb-gen-scroll-unlocked .elementor-widget,
  html.ppb-gen-scroll-unlocked .elementor-widget-container,
  html.ppb-gen-scroll-unlocked .e-con,
  html.ppb-gen-scroll-unlocked .e-con-inner,
  html.ppb-gen-scroll-unlocked .ppb-gen-scroll-parent{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    transform:none !important;
  }

  html.ppb-gen-scroll-unlocked .ppb-gen,
  body.ppb-page-generate .ppb-gen,
  body.page-template-page-generer .ppb-gen{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:100svh !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom)) !important;
  }

  html.ppb-gen-scroll-unlocked .ppb-gen__body,
  html.ppb-gen-scroll-unlocked .ppb-gen__result,
  html.ppb-gen-scroll-unlocked .ppb-gen__result-show,
  html.ppb-gen-scroll-unlocked .ppb-gen__result-img-wrap,
  html.ppb-gen-scroll-unlocked .ppb-gen__batch-results,
  html.ppb-gen-scroll-unlocked .ppb-gen__batch-grid{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  /* ppb-gen__panel must NOT be reset here — overflow is managed by ppb-gen__left */
  html.ppb-gen-scroll-unlocked .ppb-gen__panel{
    overflow-y:visible !important;
    overflow-x:visible !important;
    height:auto !important;
  }
  html.ppb-gen-scroll-unlocked .ppb-gen__left{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    height:100% !important;
    align-self:stretch !important;
  }

  html.ppb-gen-scroll-unlocked .ppb-gen__result{
    min-height:520px !important;
  }
}

/* Alignement parfaitement centré des boutons Type de pièce */
.ppb-gen .ppb-gen__room-btn,
body.ppb-page-generate .ppb-gen__room-btn{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:6px !important;
  min-height:66px !important;
  height:auto !important;
  padding:10px 8px !important;
}

.ppb-gen .ppb-gen__room-icon,
body.ppb-page-generate .ppb-gen__room-icon{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  line-height:1 !important;
  text-align:center !important;
}

.ppb-gen .ppb-gen__room-label,
body.ppb-page-generate .ppb-gen__room-label{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

@media (max-width: 768px){
  .ppb-gen .ppb-gen__room-btn,
  body.ppb-page-generate .ppb-gen__room-btn{
    min-height:76px !important;
    padding:12px 10px !important;
  }
}


/* ─────────────────────────────────────────────
   v1.0.33 — Mobile order: rooms tout en bas, même ordre que desktop
   ───────────────────────────────────────────── */
@media (max-width: 768px){
  .ppb-gen__panel{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  /* Ordre naturel pour tout sauf rooms/batch */
  .ppb-gen__reset-bar          { order:1 !important; }
  .ppb-gen__panel > .ppb-gen__section:not(#ppb-gen-room-section):not(#ppb-gen-batch-section):not(.ppb-gen__production-box):not(.ppb-gen__cta-section):not(#ppb-gen-ref-section):not(#ppb-gen-prompt-section) { order:2 !important; }
  #ppb-gen-prompt-section      { order:3 !important; }
  #ppb-gen-ref-section         { order:4 !important; }
  .ppb-gen__cta-section        { order:5 !important; }
  .ppb-gen__production-box     { order:6 !important; }
  #ppb-gen-room-section        { order:50 !important; }
  #ppb-gen-batch-section       { order:51 !important; }
  /* v5.7.36 — sur mobile, Type de pièce (select) AVANT Sortie finale */
  #ppb-gen-room-section        { order:6  !important; }
  .ppb-gen__production-box     { order:7  !important; }

  /* Type de pièce : 2 colonnes sur mobile, quoi qu'il arrive */
  .ppb-gen .ppb-gen__room-grid,
  body.ppb-page-generate .ppb-gen__room-grid,
  html.ppb-gen-scroll-unlocked .ppb-gen__room-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }

  .ppb-gen .ppb-gen__room-btn,
  body.ppb-page-generate .ppb-gen__room-btn{
    width:100% !important;
    min-width:0 !important;
  }
}


/* v1.0.32 — Source image: upload appareil uniquement, sans médiathèque WordPress côté client */
body.ppb-page-generate .ppb-gen__source-switch--single{
  grid-template-columns:1fr !important;
}
body.ppb-page-generate #ppb-src-upload-btn{
  width:100%;
}
body.ppb-page-generate #ppb-src-media-btn,
body.ppb-page-generate #ppb-gen-media-wrap{
  display:none !important;
}

/* ─────────────────────────────────────────────
   v1.0.33 — Page Tarifs : offre simple 2K Premium
   ───────────────────────────────────────────── */
.ppb-pricing{
  max-width:1180px;
  margin:0 auto;
  padding:54px 20px 68px;
}
.ppb-pricing__hero{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.ppb-pricing__eyebrow{
  display:inline-flex;
  margin-bottom:14px;
  font-size:10px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ppb-gold-deep);
  font-weight:600;
}
.ppb-pricing__hero h2{
  margin:0 0 12px;
  font-family:var(--ppb-serif);
  font-size:clamp(38px,5vw,64px);
  font-weight:300;
  line-height:.98;
  letter-spacing:-.03em;
  color:var(--ppb-ink);
}
.ppb-pricing__hero p{
  margin:0 auto;
  max-width:650px;
  color:var(--ppb-ink-soft);
  font-size:15px;
  line-height:1.7;
}
.ppb-packs--pricing,
.ppb-buy .ppb-packs{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ppb-pack__tax{
  margin-top:7px;
  font-size:11px;
  color:var(--ppb-ink-mute);
}
.ppb-pack--featured .ppb-pack__tax{
  color:rgba(255,255,255,.48);
}
.ppb-pricing__fineprint{
  max-width:860px;
  margin:28px auto 0;
  padding:16px 18px;
  border:1px solid var(--ppb-border);
  background:var(--ppb-gold-bg);
  border-radius:8px;
  color:var(--ppb-ink-soft);
  font-size:12px;
  line-height:1.65;
  text-align:center;
}
.ppb-pricing__fineprint strong{
  color:var(--ppb-ink);
  font-weight:600;
}
@media (max-width:980px){
  .ppb-packs--pricing,
  .ppb-buy .ppb-packs{
    grid-template-columns:1fr;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }
  .ppb-pack--featured{
    transform:none;
  }
}
@media (max-width:600px){
  .ppb-pricing{padding:34px 16px 46px;}
  .ppb-pricing__hero{text-align:left;margin-bottom:24px;}
  .ppb-pricing__hero p{font-size:14px;}
  .ppb-pricing__fineprint{text-align:left;}
}

/* v1.0.34 — Historique générations + prompts personnels */
.ppb-gen__mini-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important;}.ppb-gen-history{margin-top:18px;padding:18px;border:1px solid rgba(255,255,255,.08);background:#070707;border-radius:14px}.ppb-gen__history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.ppb-gen__history-head h2{margin:0;color:#fff;font-family:'IBM Plex Sans',sans-serif;font-weight:400;font-size:18px}.ppb-gen__history-head p{margin:5px 0 0;color:rgba(255,255,255,.52);font-size:12px}.ppb-gen__history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ppb-gen__history-card{border:1px solid rgba(255,255,255,.08);background:#0d0e0f;border-radius:12px;overflow:hidden}.ppb-gen__history-img{aspect-ratio:4/3;background-color:#050505;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:zoom-in}.ppb-gen__history-copy{padding:10px 10px 0;display:flex;flex-direction:column;gap:3px}.ppb-gen__history-copy strong{font:500 12px/1.25 'IBM Plex Sans',sans-serif;color:#fff}.ppb-gen__history-copy span{font:400 10px/1 'IBM Plex Mono',monospace;color:rgba(255,255,255,.38)}.ppb-gen__history-actions{display:flex;gap:6px;padding:10px}.ppb-gen__history-empty{grid-column:1/-1;color:rgba(255,255,255,.45);font-size:13px;padding:18px;border:1px dashed rgba(255,255,255,.1);border-radius:12px;text-align:center}.ppb-prompt-modal{position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:18px}.ppb-prompt-modal__bg{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}.ppb-prompt-modal__panel{position:relative;width:min(620px,100%);max-height:92vh;overflow:auto;background:#090a0b;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:22px;color:#fff;box-shadow:0 24px 90px rgba(0,0,0,.55)}.ppb-prompt-modal__panel h3{margin:0 0 8px;font:400 20px/1.2 'IBM Plex Sans',sans-serif}.ppb-prompt-modal__panel p{margin:0 0 16px;color:rgba(255,255,255,.55);font-size:13px}.ppb-prompt-modal__panel label{display:block;margin:12px 0 0;color:rgba(255,255,255,.64);font:500 11px/1.2 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}.ppb-prompt-modal__panel input,.ppb-prompt-modal__panel textarea{width:100%;margin-top:7px;background:#0f1113;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;padding:12px;font-family:'IBM Plex Sans',sans-serif;box-sizing:border-box}.ppb-save-prompt-ref{display:flex;align-items:center;gap:14px;margin-top:14px}.ppb-save-prompt-thumb{width:120px;aspect-ratio:4/3;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#050505;display:flex;align-items:center;justify-content:center;overflow:hidden;color:rgba(255,255,255,.35);font-size:11px;text-align:center}.ppb-save-prompt-thumb img{width:100%;height:100%;object-fit:cover}.ppb-save-prompt-check{flex:1;text-transform:none!important;letter-spacing:0!important;font-family:'IBM Plex Sans',sans-serif!important;font-size:13px!important}.ppb-save-prompt-check input{width:auto!important;margin:0 8px 0 0!important}#ppb-gen-history-block{max-width:none}@media(max-width:900px){.ppb-gen__history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ppb-gen__history-head{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.ppb-gen__history-grid{grid-template-columns:1fr}.ppb-save-prompt-ref{flex-direction:column;align-items:flex-start}.ppb-save-prompt-thumb{width:100%}}

/* ═══════════════════════════════════════════════════════════════
   PHOTOPREST — Historique en overlay modal (v1.0.39)
   L'historique n'est plus une section frère de .ppb-gen (qui
   cassait le layout plein écran). C'est désormais un overlay
   ouvert depuis le bouton "Historique" du header.
   ═══════════════════════════════════════════════════════════════ */

/* Bouton Historique dans le header */
.ppb-gen__header-actions .ppb-gen__history-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 14px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(23,19,15,.10);
  border-radius:99px;
  color:var(--ppb-ink,#17130f);
  font-family:'IBM Plex Sans','DM Sans',system-ui,sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
  white-space:nowrap;
}
.ppb-gen__header-actions .ppb-gen__history-toggle:hover{
  background:rgba(255,255,255,.85);
  border-color:rgba(183,154,35,.35);
}
.ppb-gen__header-actions .ppb-gen__history-toggle:active{
  transform:translateY(1px);
}
.ppb-gen__header-actions .ppb-gen__history-toggle svg{
  flex:0 0 auto;
  opacity:.78;
}
@media (max-width:560px){
  .ppb-gen__header-actions .ppb-gen__history-toggle span{display:none;}
  .ppb-gen__header-actions .ppb-gen__history-toggle{padding:8px 10px;}
}

/* Overlay plein écran */
.ppb-gen-history-overlay{
  position:fixed;
  inset:0;
  z-index:999998; /* sous la lightbox (999999) mais au-dessus de tout le reste */
  align-items:flex-start;
  justify-content:center;
  padding:48px 24px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.ppb-gen-history-overlay.is-open{
  display:flex !important;
}
.ppb-gen-history-overlay__bg{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  z-index:0;
}

/* Le bloc historique lui-même, repositionné dans l'overlay */
.ppb-gen-history-overlay .ppb-gen-history{
  position:relative;
  z-index:1;
  width:min(90vw,1800px);
  max-height:none;
  margin:0;
  padding:28px;
  background:#070707;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  box-shadow:0 28px 90px rgba(0,0,0,.55);
  /* On annule TOUTES les règles plein écran héritées de .ppb-gen
     au cas où un selecteur trop large les attraperait encore */
  height:auto !important;
  overflow:visible !important;
  display:block !important;
}

/* Head : bouton fermer à droite */
.ppb-gen-history-overlay .ppb-gen__history-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.ppb-gen-history-overlay__close{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  color:#fff;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
  flex:0 0 auto;
}
.ppb-gen-history-overlay__close:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28);
}

/* Verrouille le scroll du body quand l'overlay est ouvert */
body.ppb-history-overlay-open{
  overflow:hidden !important;
}

/* Mobile : overlay plus compact */
@media (max-width:560px){
  .ppb-gen-history-overlay{padding:20px 12px;}
  .ppb-gen-history-overlay .ppb-gen-history{padding:18px;border-radius:14px;}
}

/* ═══════════════════════════════════════════════════════════════
   PHOTOPREST — Section CTA repositionnée (v1.0.41)
   Le bouton "Générer l'image" et le coût sont désormais juste
   sous le prompt, pour un accès direct sans scroll.
   ═══════════════════════════════════════════════════════════════ */
.ppb-gen__cta-section{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:20px !important;
  padding-bottom:18px;
  border-bottom:1px solid rgba(151,173,171,.12);
}
.ppb-gen__cta-section .ppb-gen__cost{
  margin:0;
}
.ppb-gen__cta-section #ppb-gen-submit{
  width:100%;
}
.ppb-gen__cta-section .ppb-gen__msg{
  margin:0;
  font-size:11px;
}

/* ═══════════════════════════════════════════════════════════════
   v1.0.41 — Croix de suppression sur cards d'historique
   ═══════════════════════════════════════════════════════════════ */
.ppb-gen__history-card{
  position:relative;
}
.ppb-gen__history-delete{
  position:absolute;
  top:7px;
  right:7px;
  z-index:3;
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  cursor:pointer;
  opacity:0;
  transition:opacity .15s ease, background .15s ease, border-color .15s ease, transform .12s ease;
  padding:0;
}
.ppb-gen__history-card:hover .ppb-gen__history-delete,
.ppb-gen__history-delete:focus{
  opacity:1;
}
.ppb-gen__history-delete:hover{
  background:rgba(224,95,89,.85);
  border-color:rgba(255,255,255,.35);
  transform:scale(1.08);
}
.ppb-gen__history-delete:disabled{
  cursor:not-allowed;
  opacity:.5;
}
@media (hover: none){
  /* Sur mobile/tactile : toujours visible (pas de :hover) */
  .ppb-gen__history-delete{opacity:.85;}
}

/* v1.0.41 — Curseur zoom-in sur toutes les vignettes cliquables */
.ppb-gen__preview img,
.ppb-gen__prompt-style-media img{
  cursor:zoom-in;
}

/* ═══════════════════════════════════════════════════════════════
   v1.0.42 — Toggle Image unique / Lot remonté dans Image source
   Pour Désencombrement et Pièce vide : le toggle apparaît juste
   sous le bouton "Dossiers / photothèque" et au-dessus de la zone
   "Glissez votre photo ici".
   ═══════════════════════════════════════════════════════════════ */
.ppb-gen__mode-toggle--inline{
  margin-top:10px;
  margin-bottom:12px;
}

/* ═══════════════════════════════════════════════════════════════
   v1.0.43 — Menu de navigation header
   Desktop (≥ 900px) : barre inline avec 4 boutons
   Mobile (< 900px)  : burger + drawer (l'ancien comportement)
   ═══════════════════════════════════════════════════════════════ */

/* Burger — caché par défaut (desktop) */
.ppb-gen__burger{
  display:none;
  width:36px;
  height:36px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
  background:transparent;
  border:1px solid rgba(151,173,171,.20);
  border-radius:6px;
  cursor:pointer;
  padding:0;
  transition:border-color .15s ease;
}
.ppb-gen__burger:hover{border-color:rgba(82,214,199,.45);}
.ppb-gen__burger span{
  display:block;
  width:16px;
  height:1.5px;
  background:var(--ppb-ink,#e7eae8);
  border-radius:1px;
  transition:transform .2s ease, opacity .2s ease;
}
.ppb-gen__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.ppb-gen__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.ppb-gen__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

/* Barre de nav — inline desktop */
.ppb-gen__nav-bar{
  display:flex;
  align-items:center;
  gap:6px;
}

/* Chaque bouton/lien de la barre */
.ppb-gen__header-actions .ppb-gen__nav-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 13px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(151,173,171,.16);
  border-radius:99px;
  color:var(--ppb-ink,#e7eae8);
  font-family:'IBM Plex Sans',system-ui,sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.01em;
  text-decoration:none;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
  white-space:nowrap;
}
.ppb-gen__header-actions .ppb-gen__nav-link:hover{
  background:rgba(82,214,199,.08);
  border-color:rgba(82,214,199,.42);
  color:#e7eae8;
}
.ppb-gen__header-actions .ppb-gen__nav-link:active{transform:translateY(1px);}
.ppb-gen__header-actions .ppb-gen__nav-link svg{flex:0 0 auto; opacity:.85;}

/* Variant "déconnexion" : un poil plus discret, accent rouge au hover */
.ppb-gen__header-actions .ppb-gen__nav-link--logout{
  color:#a9b5b2;
}
.ppb-gen__header-actions .ppb-gen__nav-link--logout:hover{
  background:rgba(224,95,89,.10);
  border-color:rgba(224,95,89,.40);
  color:#e7eae8;
}

/* Le bouton Historique reprend exactement le style nav-link (cohérence) :
   les anciennes règles spécifiques sont neutralisées par les nav-link ci-dessus. */
.ppb-gen__header-actions .ppb-gen__history-toggle{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(151,173,171,.16);
}

/* MOBILE : burger visible, nav-bar masquée par défaut, devient drawer */
@media (max-width: 900px){
  .ppb-gen__burger{display:flex;}
  .ppb-gen__nav-bar{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:10px;
    min-width:220px;
    background:#0e1212;
    border:1px solid rgba(151,173,171,.20);
    border-radius:10px;
    box-shadow:0 16px 40px rgba(0,0,0,.55);
    z-index:50;
    display:none;
  }
  .ppb-gen__nav-bar.is-open{display:flex;}
  .ppb-gen__header-actions{position:relative;}
  .ppb-gen__header-actions .ppb-gen__nav-link{
    width:100%;
    justify-content:flex-start;
    border-radius:6px;
    padding:10px 12px;
  }
}

/* Très petit écran : le texte des crédits se réduit comme avant */
@media (max-width: 560px){
  .ppb-gen__credits .ppb-gen__credits-label{display:none;}
}

/* v1.0.43 — Phrase d'aide sous "Personnaliser" */
.ppb-gen__prompt-intro{
  margin:0 0 10px;
  font-size:11.5px;
  line-height:1.55;
  color:rgba(151,173,171,.78);
  font-style:italic;
}

/* ═══════════════════════════════════════════════════════════════
   v1.0.43 — Modale "Enregistrer ce prompt" : lisibilité et croix
   • Texte d'intro plus lisible (rgba(.55) → rgba(.82))
   • Croix repositionnée à l'intérieur du panneau (sortait du
     border-radius:16px qui la tronquait avec overflow:auto)
   ═══════════════════════════════════════════════════════════════ */
body.ppb-page-generate .ppb-prompt-modal__panel p,
.ppb-prompt-modal__panel p{
  color:rgba(217,223,220,.82) !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
.ppb-prompt-modal__panel{
  position:relative;
  padding-top:48px !important; /* place pour la croix interne */
}
.ppb-prompt-modal__panel #ppb-prompt-modal-close,
body.ppb-page-generate .ppb-prompt-modal__panel #ppb-prompt-modal-close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:background .15s ease, border-color .15s ease, transform .12s ease !important;
  z-index:3 !important;
}
.ppb-prompt-modal__panel #ppb-prompt-modal-close:hover,
body.ppb-page-generate .ppb-prompt-modal__panel #ppb-prompt-modal-close:hover{
  background:rgba(224,95,89,.85) !important;
  border-color:rgba(255,255,255,.30) !important;
  transform:scale(1.06);
}

/* v1.0.43 — Modale prompt : zone de contrôle image (case + upload alternatif) */
.ppb-save-prompt-ref-controls{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start;
}
.ppb-save-prompt-ref-controls .ppb-save-prompt-check{
  margin:0 !important;
}
.ppb-save-prompt-or{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  color:rgba(151,173,171,.55);
  font-family:'IBM Plex Mono', monospace;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin:2px 0;
}
.ppb-save-prompt-or::before,
.ppb-save-prompt-or::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(151,173,171,.18);
}
.ppb-save-prompt-clear{
  background:none;
  border:0;
  padding:2px 0;
  color:rgba(224,95,89,.85);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:11px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.ppb-save-prompt-clear:hover{ color:#f08378; }

@media (max-width: 560px){
  .ppb-save-prompt-ref-controls{ width:100%; }
}

/* Photoprest generator logo sizing safeguard */
.ppb-gen__logo,
body.ppb-page-generate .ppb-gen__logo{
  height:40px!important;
  max-height:none!important;
  width:auto!important;
  max-width:220px!important;
  object-fit:contain!important;
}

/* ═══════════════════════════════════════════════════════════════
   v1.0.45 — Mobile refinements
   ═══════════════════════════════════════════════════════════════ */

/* ── <picture> transparent pour le flex layout du header ── */
.ppb-gen__header-left picture{display:contents;}

/* ── Titre "Génération nouvelle image" : taille réduite sur mobile ── */
@media (max-width:768px){
  .ppb-gen__title{font-size:14px!important;}
}

/* ── Menu hamburger : texte de chaque item visible dans le drawer ── */
.ppb-gen__nav-bar.is-open .ppb-gen__nav-link span,
.ppb-gen__nav-bar.is-open .ppb-gen__history-toggle span{
  display:inline!important;
}

/* ── Prompt intro : line-height réduit + couleur plus légère ── */
.ppb-gen__prompt-intro{
  line-height:1.35!important;
  color:rgba(151,173,171,.55)!important;
}

/* ── Mobile : bouton "Dossiers / photothèque" masqué (redondant avec la zone de dépôt) ── */
@media (max-width:768px){
  body.ppb-page-generate .ppb-gen__source-switch--single{
    display:none!important;
  }
}

/* ── v4 : bonus badge + grille 4 packs + corrections ── */

/* Grille 4 packs */
.ppb-packs-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .ppb-packs-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .ppb-packs-grid--4 { grid-template-columns: 1fr; } }

/* Badge bonus inscription */
.ppb-pack-bonus-badge {
  position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
  background: #2d6a2d; color: #fff;
  font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 99px; white-space: nowrap;
  z-index: 3;
}

/* Crédits bonus inline */
.ppb-credits-base { color: inherit; }
.ppb-credits-bonus {
  color: #2d6a2d; font-weight: 700;
  font-size: 0.85em;
}
.ppb-pack--star .ppb-credits-bonus { color: #6fcf6f; }

/* €/image ligne */
.ppb-pack-tax { font-size: 11px; color: var(--ppb-ink-mute); margin-top: 5px; }
.ppb-pack--star .ppb-pack-tax { color: rgba(232,226,216,.36); }


/* v5.6.5 — Correctifs ciblés génération image
   1) Desktop : bibliothèque de prompts lisible sur toute la largeur.
   2) Mobile : l'ordre du bloc résultat est géré par JS sans toucher au reste. */
@media (min-width: 769px){
  body.ppb-page-generate .ppb-gen__prompt-library{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    align-items:stretch!important;
  }
  body.ppb-page-generate .ppb-gen__prompt-library .ppb-gen__library-label{
    width:100%!important;
    margin:0!important;
  }
  body.ppb-page-generate .ppb-gen__prompt-library select,
  body.ppb-page-generate #ppb-gen-prompt-preset{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* v5.6.7 — Mobile only: result block sits between CTA and "Sortie finale" without changing desktop. */
@media (max-width: 768px){
  #ppb-gen-panel > #ppb-gen-result{
    order:5.5!important;
    width:100%!important;
    min-height:0!important;
    margin:0 0 18px!important;
    overflow:hidden!important;
  }
  #ppb-gen-panel > .ppb-gen__production-box{
    order:6!important;
  }
  #ppb-gen-panel > #ppb-gen-result #ppb-gen-empty,
  #ppb-gen-panel > #ppb-gen-result #ppb-gen-loading{
    min-height:260px!important;
  }
  #ppb-gen-panel > #ppb-gen-result .ppb-gen__result-img-wrap{
    min-height:260px!important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   v5.7.12 — Unified left column
   ppb-gen__left wraps both panels and is the single scrollable unit.
   ppb-gen__result is the right column, spanning full height.
   ═══════════════════════════════════════════════════════════════ */

/* ── Desktop ── */
@media (min-width: 769px){
  /* Body: 2 direct children — ppb-gen__left (col1) + ppb-gen__result (col2) */
  .ppb-gen__body{
    grid-template-columns: var(--ppb-panel-w) 1fr !important;
    grid-template-rows: 1fr !important;
    grid-template-areas: "left result" !important;
  }
  .ppb-gen__left{
    grid-area: left !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: 100% !important;
    min-height: 0 !important;
    scrollbar-width: thin;
    scrollbar-color: var(--ppb-border-strong) transparent;
  }
  .ppb-gen__left::-webkit-scrollbar { width: 3px; }
  .ppb-gen__left::-webkit-scrollbar-thumb { background: var(--ppb-border-strong); border-radius: 2px; }
  .ppb-gen__panel{
    overflow-y: visible !important;
    height: auto !important;
    border-right: none !important;
    background: transparent !important;
  }
  .ppb-gen__panel--bottom{
    overflow-y: visible !important;
    height: auto !important;
    border-right: none !important;
    background: transparent !important;
  }
  .ppb-gen__result{
    grid-area: result !important;
    height: 100% !important;
    overflow-y: auto !important;
  }
}

/* ── Styling panel bas ── */
.ppb-gen__panel--bottom{
  max-height: none !important;
  padding: 16px 18px 32px !important;
}

/* ── Mobile ── */
@media (max-width: 768px){
  .ppb-gen__left{
    display: block !important;
    overflow-y: visible !important;
    height: auto !important;
    border-right: none !important;
  }
  .ppb-gen__panel--bottom{
    border-top: 1px solid var(--ppb-border) !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   v5.7.19 — Slider avant/après + historique avec image source
   ═══════════════════════════════════════════════════════════════ */

/* ── Outer wrapper : contient comparison OU img-wrap ── */
/* Note: flex:1 et min-height:0 sont définis sur .ppb-gen__result-img-outer plus haut */

/* ── Slider de comparaison avant/après ── */
.ppb-gen__comparison {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.ppb-gen__comparison-wrap {
  position: relative;
  width: 100%;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  border-radius: 0;
  background: #050505;
  cursor: ew-resize;
  user-select: none;
}
/* Les deux couches sont des background-image pour eviter tout pb de chargement */
.ppb-gen__comparison-after-bg,
.ppb-gen__comparison-before {
  position: absolute;
  inset: 0;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
/* after_bg est en dessous (z-index bas), before est au-dessus avec clip-path */
.ppb-gen__comparison-after-bg { z-index: 1; }
.ppb-gen__comparison-before   { z-index: 2; clip-path: inset(0 50% 0 0); }

.ppb-gen__comparison-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 10;
}
.ppb-gen__comparison-handle-line {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 2px;
  background: rgba(255,255,255,.9);
  transform: translateX(-50%);
}
.ppb-gen__comparison-handle-circle {
  position: relative;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.55);
  color: #111;
  flex-shrink: 0;
}
.ppb-gen__comparison-label {
  position: absolute;
  top: 10px;
  font: 600 11px/1 'IBM Plex Mono', monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,.52);
  padding: 4px 8px;
  border-radius: 5px;
  pointer-events: none;
  transition: opacity .15s;
  z-index: 11;
}
.ppb-gen__comparison-label--before { left: 10px; }
.ppb-gen__comparison-label--after  { right: 10px; }
.ppb-gen__comparison-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
  margin: 0;
  z-index: 20;
  -webkit-appearance: none;
  appearance: none;
  touch-action: none;
}

/* ── Bouton toggle comparaison ── */
.ppb-btn--comparison {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ── Cartes historique — layout avant/après ── */
.ppb-gen__history-images {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: 90px;
}
.ppb-gen__history-source {
  position: relative;
  flex: 1;
  min-width: 0;
  background-color: #050505;
  overflow: hidden;
}
.ppb-gen__history-source-img {
  width: 100%;
  height: 100%;
  min-height: 90px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.ppb-gen__history-source-label,
.ppb-gen__history-result-label {
  position: absolute;
  bottom: 5px;
  font: 600 9px/1 'IBM Plex Mono', monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,.55);
  padding: 3px 6px;
  border-radius: 4px;
  pointer-events: none;
}
.ppb-gen__history-source-label { left: 5px; }
.ppb-gen__history-result-label { right: 5px; }
.ppb-gen__history-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex-shrink: 0;
  background: #0a0b0c;
  color: rgba(255,255,255,.35);
}
.ppb-gen__history-img--result {
  position: relative;
  flex: 1;
  min-width: 0;
  min-height: 90px;
  background-color: #050505;
  background-size: cover;
  background-position: center;
  cursor: zoom-in;
}
/* Carte sans image source : result prend toute la largeur */
.ppb-gen__history-img:not(.ppb-gen__history-img--result) {
  min-height: 90px;
  background-color: #050505;
  background-size: cover;
  background-position: center;
  cursor: zoom-in;
}


/* ═══════════════════════════════════════════════════════════════
   v5.7.22 — Historique groupé + slider lightbox
   ═══════════════════════════════════════════════════════════════ */

/* ── Groupes d'historique ── */
.ppb-gen__history-group {
  display: contents; /* s'intègre dans la grille parente */
}
.ppb-gen__history-results {
  display: contents;
}

/* Original — vignette carrée avec label */
.ppb-gen__history-original {
  position: relative;
  border: 1px solid rgba(255,255,255,.08);
  background: #0d0e0f;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ppb-gen__history-original .ppb-gen__history-img {
  flex: 1;
  min-height: 90px;
  aspect-ratio: 4/3;
  cursor: zoom-in;
}
.ppb-gen__history-orig-label {
  display: block;
  text-align: center;
  padding: 6px 8px;
  font: 600 10px/1 'IBM Plex Mono', monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  background: #0a0b0c;
  border-top: 1px solid rgba(255,255,255,.07);
}
.ppb-gen__history-original .ppb-gen__history-delete--source {
  position: absolute;
  top: 6px; right: 6px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: rgba(0,0,0,.6);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.7);
  opacity: 0;
  transition: opacity .15s;
  z-index: 5;
}
.ppb-gen__history-original:hover .ppb-gen__history-delete--source { opacity: 1; }
.ppb-gen__history-delete--source:hover { color: #fff; background: rgba(200,50,50,.7); }

/* Séparateur visuel entre groupes */
.ppb-gen__history-group + .ppb-gen__history-group {
  /* via JS, les groupes sont dans la grille donc pas besoin */
}

/* ── Slider dans la lightbox ── */

/* ═══ LIGHTBOX SLIDER — bloc unique v5.7.33 ═══ */

/* Masque l'image simple quand le slider est actif (contourne display:block!important) */
.ppb-lx-hidden { display: none !important; }
/* Bouton toggle Vue simple — supprimé */
#ppb-lightbox-comparison-toggle { display: none !important; }

.ppb-lightbox__comparison {
  display: none;
  width: min(900px, 92vw); /* défaut, surchargé par JS selon le ratio de l'image */
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 3px;
  overflow: hidden;
  background: #050505;
}
.ppb-lightbox__comparison.is-active { display: block; }
.ppb-lightbox__comparison-wrap {
  position: relative;
  width: 100%;
  height: 0; /* surchargé par JS */
  padding-top: 66.66%; /* fallback si ratio inconnu */
  cursor: ew-resize;
  user-select: none;
  -webkit-user-select: none;
}
.ppb-lightbox__comparison-after-bg,
.ppb-lightbox__comparison-before {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.ppb-lightbox__comparison-after-bg { z-index: 1; }
.ppb-lightbox__comparison-before   { z-index: 2; clip-path: inset(0 50% 0 0); }
.ppb-lightbox__comparison-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
  z-index: 10;
}
.ppb-lightbox__comparison-handle-line {
  position: absolute;
  top: 0; bottom: 0; left: 50%;
  width: 2px;
  background: rgba(255,255,255,.9);
  transform: translateX(-50%);
}
.ppb-lightbox__comparison-handle-circle {
  position: relative;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.55);
  color: #111;
  flex-shrink: 0;
}
.ppb-lightbox__comparison-label {
  position: absolute;
  top: 10px;
  font: 600 11px/1 'IBM Plex Mono', monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,.52);
  padding: 4px 8px;
  border-radius: 5px;
  pointer-events: none;
  z-index: 11;
  transition: opacity .15s;
}
.ppb-lightbox__comparison-label--before { left: 10px; }
.ppb-lightbox__comparison-label--after  { right: 10px; }
.ppb-lightbox__comparison-range {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  opacity: 0;
  cursor: ew-resize;
  margin: 0;
  z-index: 20;
  -webkit-appearance: none;
  appearance: none;
  touch-action: none;
}


/* ─────────────────────────────────────────────────────────────
   v5.7.42 — Batch generation visual redesign
   Objectif : supprimer les grandes zones vides, agrandir les aperçus,
   garder les statuts en overlay compact et éviter l'étirement vertical
   automatique des cards dans la grille.
───────────────────────────────────────────────────────────── */
body.ppb-page-generate .ppb-gen__batch-results{
  overflow:hidden!important;
}
body.ppb-page-generate .ppb-gen__batch-results-header{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
}
body.ppb-page-generate .ppb-gen__batch-grid{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
  padding:18px!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  align-content:start!important;
}
body.ppb-page-generate .ppb-gen__batch-card{
  position:relative!important;
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  background:#121616!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:5px!important;
  overflow:hidden!important;
  box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
}
body.ppb-page-generate .ppb-gen__batch-card-imgs{
  padding:12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  background:linear-gradient(180deg,#0b0e0e 0%,#101313 100%)!important;
}
body.ppb-page-generate .ppb-gen__batch-card-arrow{
  font-size:14px!important;
  line-height:1!important;
  color:var(--ppb-cockpit-cyan,var(--ppb-gold))!important;
  opacity:.95!important;
  text-align:center!important;
}
body.ppb-page-generate .ppb-gen__batch-card-src{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:4px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  display:block!important;
  background:#070909!important;
}
body.ppb-page-generate .ppb-gen__batch-card-result img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:4px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  display:block!important;
  background:#070909!important;
}
body.ppb-page-generate .ppb-gen__batch-card-result{
  position:relative!important;
  align-self:stretch!important;
  min-height:64px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#0f1313!important;
  border-radius:4px!important;
  overflow:hidden!important;
  color:#6f8080!important;
}
body.ppb-page-generate .ppb-gen__batch-card-status{
  position:absolute!important;
  left:14px!important;
  bottom:14px!important;
  z-index:4!important;
  width:auto!important;
  max-width:calc(100% - 96px)!important;
  padding:5px 9px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:999px!important;
  background:rgba(6,8,8,.78)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  font-family:var(--ppb-cockpit-mono,var(--ppb-mono))!important;
  font-size:10px!important;
  line-height:1.2!important;
  color:#92a1a1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.ppb-page-generate .ppb-gen__batch-card-status.is-done{
  color:var(--ppb-cockpit-green,#52d674)!important;
  border-color:rgba(82,214,116,.22)!important;
}
body.ppb-page-generate .ppb-gen__batch-card-status.is-error{
  color:var(--ppb-cockpit-red,#ff736c)!important;
  border-color:rgba(255,115,108,.25)!important;
}
body.ppb-page-generate .ppb-gen__batch-card-dl,
body.ppb-page-generate .ppb-gen__batch-card-zoom,
body.ppb-page-generate .ppb-gen__batch-retry{
  z-index:6!important;
  width:28px!important;
  height:28px!important;
  border-radius:5px!important;
  background:rgba(6,8,8,.78)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
body.ppb-page-generate .ppb-gen__batch-card-dl{right:12px!important;bottom:12px!important;}
body.ppb-page-generate .ppb-gen__batch-card-zoom{right:46px!important;bottom:12px!important;}
body.ppb-page-generate .ppb-gen__batch-retry{right:12px!important;top:12px!important;}
body.ppb-page-generate .ppb-gen__batch-card:hover{
  border-color:rgba(82,214,199,.32)!important;
}
@media (max-width: 1200px){
  body.ppb-page-generate .ppb-gen__batch-grid{grid-template-columns:1fr!important;}
  body.ppb-page-generate .ppb-gen__batch-card-src,
  body.ppb-page-generate .ppb-gen__batch-card-result,
  body.ppb-page-generate .ppb-gen__batch-card-result img{height:auto!important;min-height:64px!important;}
}
@media (max-width: 760px){
  body.ppb-page-generate .ppb-gen__batch-grid{padding:10px!important;gap:10px!important;}
  body.ppb-page-generate .ppb-gen__batch-card-imgs{grid-template-columns:1fr!important;gap:8px!important;padding:10px!important;}
  body.ppb-page-generate .ppb-gen__batch-card-arrow{transform:rotate(90deg)!important;}
  body.ppb-page-generate .ppb-gen__batch-card-src,
  body.ppb-page-generate .ppb-gen__batch-card-result,
  body.ppb-page-generate .ppb-gen__batch-card-result img{height:auto!important;min-height:64px!important;}
}

/* ═══════════════════════════════════════════════════════════════
   v5.7.49 — Historique en familles + branches de variantes
   ═══════════════════════════════════════════════════════════════ */
#ppb-gen-history-grid.ppb-gen__history-grid{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.ppb-gen__history-group--tree{
  display:grid;
  grid-template-columns:minmax(160px,220px) minmax(0,1fr);
  gap:16px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.ppb-gen__history-family-head{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.ppb-gen__history-family-meta{
  padding:10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:#090a0b;
}
.ppb-gen__history-family-meta strong{
  display:block;
  color:#fff;
  font:500 13px/1.2 'IBM Plex Sans',sans-serif;
}
.ppb-gen__history-family-meta span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.48);
  font:400 11px/1.35 'IBM Plex Sans',sans-serif;
}
.ppb-gen__history-results--tree{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-content:start;
}
.ppb-gen__history-card--tree{
  position:relative;
  margin-left:calc(var(--ppb-depth,0) * 22px);
  min-width:0;
}
.ppb-gen__history-card--tree .ppb-gen__history-branchline{
  position:absolute;
  left:-14px;
  top:16px;
  bottom:16px;
  width:10px;
  border-left:1px solid rgba(183,154,35,.38);
  border-bottom:1px solid rgba(183,154,35,.38);
  border-radius:0 0 0 8px;
  opacity:calc(var(--ppb-depth,0) / 8 + .22);
  pointer-events:none;
}
.ppb-gen__history-copy strong em{
  display:inline-block;
  margin-right:6px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(183,154,35,.14);
  color:#d7bd58;
  font-style:normal;
  font:600 9px/1 'IBM Plex Mono',monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media(max-width:1100px){
  .ppb-gen__history-results--tree{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .ppb-gen__history-group--tree{grid-template-columns:1fr;}
  .ppb-gen__history-results--tree{grid-template-columns:1fr;}
  .ppb-gen__history-card--tree{margin-left:calc(var(--ppb-depth,0) * 14px);}
}
