/* styles/theme/pinboard/ticket.css — extrait de styles.css L3721-L3877. Ticket t+. */

/* ──────────────── TICKET t+ v2 (brand, top-left) ────────────────
 * DA calquée sur un vrai ticket parisien (bande TICKET gauche, topbar
 * de shapes print génériques, t+ central, badges, footer serial/prix,
 * bande magnétique noire, compostage dateur). Marques RATP/SNCF/IDFM
 * remplacées par des formes vectorielles d'imprimerie. */
.pinboard-theme .pb-ticket{
  position:absolute; top:38px; left:40px; z-index:20;
  width:460px; height:182px;
  transform:rotate(-3deg);
  border-radius:2px;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.32)) drop-shadow(0 2px 3px rgba(0,0,0,.18));
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='2.4' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0.55  0 0 0 0 0.52  0 0 0 0 0.45  0 0 0 0.22 0'/></filter><rect width='100%25' height='100%25' filter='url(%23p)'/></svg>"),
    radial-gradient(ellipse 80% 60% at 20% 20%, #fffdf4, #f7f0dc 70%, #eee6cf 100%);
  background-blend-mode:multiply, normal;
  box-shadow:inset 0 0 0 .5px rgba(0,0,0,.08);
  color:#111;
  font-family:'Archivo', sans-serif;
}

/* Bande verticale "TICKET" à gauche, style typo black serif condensé.
 * bottom matché sur la bande magnétique du bas (18px) pour un alignement net. */
.pinboard-theme .pb-ticket-band{
  position:absolute; left:0; top:0; bottom:18px; width:28px;
  display:flex; align-items:center; justify-content:center;
  background:#111;
  color:#f5ecd7;
  z-index:2;
}
.pinboard-theme .pb-ticket-band span{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-family:'Archivo', sans-serif; font-weight:900;
  font-size:13px; letter-spacing:6px;
}

/* Topbar : 3 icônes Paname (Eiffel, Seine, Arc) groupées à gauche,
 * comme une rangée d'ornement tampon en haut du ticket. */
.pinboard-theme .pb-ticket-topbar{
  position:absolute; left:44px; right:28px; top:14px;
  display:flex; align-items:center; gap:26px; justify-content:flex-start;
  color:#111; opacity:.88;
  height:22px;
}
.pinboard-theme .pbt-shape{
  height:22px; width:auto;
  flex-shrink:0;
}
.pinboard-theme .pbt-shape:nth-child(1){ width:18px; }   /* Tour Eiffel */
.pinboard-theme .pbt-shape:nth-child(2){ width:46px; }   /* Seine */
.pinboard-theme .pbt-shape:nth-child(3){ width:22px; }   /* Arc */

/* Corps central : t+ + SOUS PARIS + badges — collé en haut après les
 * icônes Paname. Réserve une zone libre à droite pour le compostage. */
.pinboard-theme .pb-ticket-body{
  position:absolute; left:44px; right:150px; top:40px;
  display:flex; align-items:flex-start; gap:18px; justify-content:flex-start;
}
.pinboard-theme .pb-ticket-tplus{
  display:flex; align-items:flex-end; flex-shrink:0;
}
.pinboard-theme .pb-ticket-t{
  font-weight:900; font-style:italic; font-size:78px; line-height:.82; letter-spacing:-4px;
}
.pinboard-theme .pb-ticket-plus{
  font-weight:800; font-size:44px; line-height:1; margin-bottom:6px;
}
.pinboard-theme .pb-ticket-text{
  display:flex; flex-direction:column; gap:5px; min-width:0;
}
.pinboard-theme .pb-ticket-title{
  font-weight:900; font-style:italic; font-size:28px;
  line-height:.95; letter-spacing:-.6px; white-space:nowrap;
}
.pinboard-theme .pb-ticket-sub{
  font-weight:700; font-size:11.5px; letter-spacing:.4px; line-height:1; color:#222;
  text-transform:uppercase;
}
.pinboard-theme .pb-ticket-badges{
  margin-top:6px; display:flex; align-items:center; gap:6px;
}
.pinboard-theme .pb-ticket-badge{
  font-weight:900; color:#111;
  display:grid; place-items:center; border:1.6px solid #111;
  line-height:1;
}
.pinboard-theme .pb-ticket-badge.round{ width:22px; height:22px; border-radius:50%; font-size:10px; padding:0 1px; }
.pinboard-theme .pb-ticket-badge.pill{
  padding:3px 7px; border-radius:12px; font-size:10px; letter-spacing:.5px;
  display:flex; gap:5px; align-items:baseline;
}
.pinboard-theme .pb-ticket-badge.pill em{
  font-style:italic; font-weight:500; font-size:8px; letter-spacing:.3px;
}

/* Footer : blason | serial | prix | blason */
.pinboard-theme .pb-ticket-footer{
  position:absolute; left:40px; right:28px; bottom:24px;
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
  font-family:'JetBrains Mono', monospace;
  color:#1a1614;
  height:22px;
}
.pinboard-theme .pbt-emblem{
  width:22px; height:24px; color:#111; flex-shrink:0; opacity:.85;
}
.pinboard-theme .pbt-serial{
  font-size:10px; letter-spacing:1.6px; font-weight:700;
}
.pinboard-theme .pbt-sep{ opacity:.4; font-weight:500; }
.pinboard-theme .pbt-price{
  font-size:11px; letter-spacing:1px; font-weight:700;
  font-family:'Archivo', sans-serif;
}
.pinboard-theme .pbt-price b{ font-weight:900; font-size:14px; font-style:italic; margin-right:1px; }

/* Compostage — déposé dans l'espace vide à droite du body (à côté
 * des badges), comme un vrai tampon dateur apposé par le composteur. */
.pinboard-theme .pb-ticket-stamp{
  position:absolute; right:32px; top:56px; z-index:3;
  transform:rotate(-7deg); pointer-events:none;
  padding:4px 12px 3px;
  border:1.8px solid #1a2d52;
  font-family:'JetBrains Mono', monospace; color:#1a2d52;
  opacity:.85; mix-blend-mode:multiply;
  background:rgba(255,255,255,0.22);
}
.pinboard-theme .pbs-lbl{ display:none; }
.pinboard-theme .pbs-code{ display:none; }
.pinboard-theme .pbs-date{
  font-size:13px; letter-spacing:1.8px; line-height:1; font-weight:700;
}

.pinboard-theme .pb-ticket-perf{
  position:absolute; left:32px; right:14px; bottom:20px; height:1px;
  background-image:repeating-linear-gradient(90deg, #6a6050 0 1.4px, transparent 1.4px 4.5px);
  opacity:.45;
}

/* Bande magnétique NOIRE — plus fine, plus discrète */
.pinboard-theme .pb-ticket-stripe{
  position:absolute; left:0; right:0; bottom:0; height:18px;
  background:linear-gradient(180deg, #1a1a1a 0%, #050505 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.4);
}
.pinboard-theme .pb-ticket-stripe::before{
  content:''; position:absolute; inset:0;
  background-image:repeating-linear-gradient(0deg, transparent 0 4px, rgba(255,255,255,.04) 4px 4.5px);
  opacity:.8;
}
.pinboard-theme .pb-ticket-stripe::after{
  content:''; position:absolute; inset:6px 40px;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 6px);
  opacity:.6;
}

