/* ═══════════════════════════════════════════════════════════════════════════
   BILLET : structure de l'AGENCE D'EXCURSIONS (templates/Excursion/_structures/)
   Fond sombre (couleur foncée du client), le prochain départ en billet de bus :
   talon séparé par des pointillés, encoches rondes, cartes en tickets.
   ═══════════════════════════════════════════════════════════════════════════ */
[data-structure="billet"] {
  --bg: #121212; --bg2: #1b1b1b; --white: #1f1f1f; --ink: #f3f1ee; --muted: #b5aea7; --muted-strong: #d6d0ca; --line: #34302c;
  --r: 10px; --sh: 0 1px 0 rgba(255,255,255,.04); --sh2: 0 24px 50px -24px rgba(0,0,0,.9);
  --warn-l: #3a2a10; --warn: #ffc46b; --red-l: #3a1614; --green-l: #12301f; --green: #6ee7a0;
  background: var(--dark); color: var(--ink);
}
@supports (color: color-mix(in srgb, red 50%, blue)) {
  [data-structure="billet"] { --bg: color-mix(in srgb, var(--dark) 92%, #000); --bg2: color-mix(in srgb, var(--dark) 80%, #fff); --white: color-mix(in srgb, var(--dark) 86%, #fff); --line: color-mix(in srgb, var(--dark) 70%, #fff); }
}
[data-structure="billet"] .blk { background: var(--bg); }
[data-structure="billet"] .blk.alt { background: var(--bg2); }
[data-structure="billet"] .s-head h2, [data-structure="billet"] .intro h1, [data-structure="billet"] .step h3,
[data-structure="billet"] .v-body h3, [data-structure="billet"] .v-prix b, [data-structure="billet"] .m-in h2,
[data-structure="billet"] .m-sec h3, [data-structure="billet"] .prog b, [data-structure="billet"] .f-in h2,
[data-structure="billet"] .ok-ecran h2, [data-structure="billet"] .recap .tot { color: #fff; }
[data-structure="billet"] .s-chip, [data-structure="billet"] .v-dest, [data-structure="billet"] .intro h1 em { color: var(--accent2); letter-spacing: .16em; }
[data-structure="billet"] nav.scrolled { background: rgba(14,14,14,.92); }
[data-structure="billet"] nav.scrolled .nav-logo, [data-structure="billet"] nav.scrolled .nav-a { color: #fff; }

/* Le prochain départ : un billet (corps + talon) */
[data-structure="billet"] .hero-card {
  background: #fff; color: #1a1a1a; border-radius: 14px; position: relative;
  -webkit-mask: radial-gradient(circle 14px at 0 62%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 14px at 100% 62%, #0000 98%, #000) right / 51% 100% no-repeat;
          mask: radial-gradient(circle 14px at 0 62%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 14px at 100% 62%, #0000 98%, #000) right / 51% 100% no-repeat;
}
[data-structure="billet"] .hero-card .jauge { padding-bottom: 1.1rem; border-bottom: 2px dashed #d6d0ca; }
[data-structure="billet"] .hero-card .hc-prix strong { color: #111; }
[data-structure="billet"] .hero-card .cta-link { color: #444; }
[data-structure="billet"] .hc-count { background: #111; }
[data-structure="billet"] .hc-count b { color: #fff; } [data-structure="billet"] .hc-count span { color: #bbb; }
[data-structure="billet"] .hero-chip { border-radius: 4px; letter-spacing: .18em; }
[data-structure="billet"] #hero [data-st="hero-title"] { text-transform: uppercase; letter-spacing: -.01em; }
[data-structure="billet"] .cta-big, [data-structure="billet"] .btn, [data-structure="billet"] .btn-nav { border-radius: 6px; }

/* Cartes en tickets : encoches sous la photo, pointillés */
[data-structure="billet"] .vcard { border-radius: 12px; border: none; background: var(--white); }
[data-structure="billet"] .v-foot { border-top: 2px dashed var(--line); }
[data-structure="billet"] .v-body { position: relative; }
[data-structure="billet"] .v-body::before, [data-structure="billet"] .v-body::after {
  content: ""; position: absolute; top: -12px; width: 24px; height: 24px; border-radius: 50%; background: var(--bg2);
}
[data-structure="billet"] .v-body::before { left: -12px; } [data-structure="billet"] .v-body::after { right: -12px; }
[data-structure="billet"] .v-date { border-radius: 4px; background: var(--accent-strong); color: #fff; }
[data-structure="billet"] .v-date span { color: #fff; }
[data-structure="billet"] .btn.ghost { background: transparent; color: #fff; border: 1.5px solid var(--line); }
[data-structure="billet"] .atout, [data-structure="billet"] .step, [data-structure="billet"] .vide { background: var(--white); border-color: var(--line); }
[data-structure="billet"] .step-n { border-radius: 4px; }
[data-structure="billet"] .pcard { border-radius: 8px; }
[data-structure="billet"] .final { border-radius: 14px; border: 1px solid var(--line); }
[data-structure="billet"] footer { background: #0b0b0b; }
/* Fenêtres : sombres elles aussi */
[data-structure="billet"] .m-box, [data-structure="billet"] .m-bas { background: var(--white); color: var(--ink); }
[data-structure="billet"] .fait, [data-structure="billet"] .champ input, [data-structure="billet"] .champ select,
[data-structure="billet"] .champ textarea, [data-structure="billet"] .cpt button, [data-structure="billet"] .oui-non button { background: var(--bg); color: var(--ink); border-color: var(--line); }
[data-structure="billet"] .prog li::before { box-shadow: 0 0 0 4px var(--white); }
