/* premium.css — les cartes qui vendent (guides et accompagnement), version du 17 octobre 2026.
   Demande du propriétaire : « quand on propose les formations ou les guides, la carte doit être vraiment très belle ».
   Même langage que les passeports (accomp.css) et l'éventail des guides (eventail.css) :
   papier blanc cassé, filets dorés, guillochis (dessiné en SVG, seulement dans les marges : jamais sous un texte),
   prix en Playfair, boutons pleins avec un filet intérieur et un reflet au survol.
   Chargé en dernier (après cartes-offre.css) : node .claude/outils/refonte-theme.mjs. Aucun texte, prix ni fait n'est ajouté ici.
   Mouvement : seulement transform / opacity, au survol ou au choix d'une formule ; « Réduire les animations » respecté. */
:root {
  --pm-or: #d9b45b;            /* filets, glyphes */
  --pm-or-l: #c9a24a;          /* guillochis */
  --pm-or-f: #8a6a1f;          /* texte doré sur papier clair (contraste 4,9:1) */
  --pm-papier: #fffdf8;
  --pm-encre: #0f1b2a;
  --pm-gris: #556070;
  --pm-orange: #c24a1f;        /* bouton d'achat (blanc dessus : 4,9:1) */
  --pm-orange-h: #a83b17;
  --pm-ok: #2d7a4f;
  --pm-fil-or: rgba(217, 180, 91, .62);
  --pm-rosace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23000' stroke-width='.32'%3E%3Cpath d='M90.5 50L93.8 51.3L96.1 52.7L96.9 54.1L95.9 55.4L93.3 56.3L89.9 57L86.4 57.5L83.8 58L82.7 58.8L83.3 60L85.3 61.7L88.1 63.9L90.7 66.2L92.4 68.3L92.7 69.9L91.3 70.7L88.6 70.8L85.1 70.3L81.7 69.5L79.1 69.1L77.8 69.4L77.9 70.8L79.2 73.1L81 76L82.7 79.1L83.6 81.7L83.3 83.3L81.7 83.6L79.1 82.7L76 81L73.1 79.2L70.8 77.9L69.4 77.8L69.1 79.1L69.5 81.7L70.3 85.1L70.8 88.6L70.7 91.3L69.9 92.7L68.3 92.4L66.2 90.7L63.9 88.1L61.7 85.3L60 83.3L58.8 82.7L58 83.8L57.5 86.4L57 89.9L56.3 93.3L55.4 95.9L54.1 96.9L52.7 96.1L51.3 93.8L50 90.5L48.9 87.2L48 84.7L47 83.8L46 84.5L44.6 86.8L43 89.9L41.1 92.9L39.3 95L37.8 95.5L36.7 94.3L36.2 91.6L36.1 88.1L36.3 84.6L36.2 81.9L35.7 80.7L34.4 81.1L32.3 82.7L29.8 85.1L27 87.3L24.6 88.6L23 88.6L22.4 87.1L22.8 84.4L24 81L25.3 77.8L26.1 75.3L26 74L24.7 73.9L22.2 74.7L19 76L15.6 77.2L12.9 77.6L11.4 77L11.4 75.4L12.7 73L14.9 70.2L17.3 67.7L18.9 65.6L19.3 64.3L18.1 63.8L15.4 63.7L11.9 63.9L8.4 63.8L5.7 63.3L4.5 62.2L5 60.7L7.1 58.9L10.1 57L13.2 55.4L15.5 54L16.2 53L15.3 52L12.8 51.1L9.5 50L6.2 48.7L3.9 47.3L3.1 45.9L4.1 44.6L6.7 43.7L10.1 43L13.6 42.5L16.2 42L17.3 41.2L16.7 40L14.7 38.3L11.9 36.1L9.3 33.8L7.6 31.7L7.3 30.1L8.7 29.3L11.4 29.2L14.9 29.8L18.3 30.5L20.9 30.9L22.2 30.6L22.1 29.2L20.8 26.9L19 24L17.3 20.9L16.4 18.3L16.7 16.7L18.3 16.4L20.9 17.3L24 19L26.9 20.8L29.2 22.1L30.6 22.2L30.9 20.9L30.5 18.3L29.7 14.9L29.2 11.4L29.3 8.7L30.1 7.3L31.7 7.6L33.8 9.3L36.1 11.9L38.3 14.7L40 16.7L41.2 17.3L42 16.2L42.5 13.6L43 10.1L43.7 6.7L44.6 4.1L45.9 3.1L47.3 3.9L48.7 6.2L50 9.5L51.1 12.8L52 15.3L53 16.2L54 15.5L55.4 13.2L57 10.1L58.9 7.1L60.7 5L62.2 4.5L63.3 5.7L63.8 8.4L63.9 11.9L63.7 15.4L63.8 18.1L64.3 19.3L65.6 18.9L67.7 17.3L70.3 14.9L73 12.7L75.4 11.4L77 11.4L77.6 12.9L77.2 15.6L76 19L74.7 22.2L73.9 24.7L74 26L75.3 26.1L77.8 25.3L81 24L84.4 22.8L87.1 22.4L88.6 23L88.6 24.6L87.3 27L85.1 29.7L82.7 32.3L81.1 34.4L80.7 35.7L81.9 36.2L84.6 36.3L88.1 36.1L91.6 36.2L94.3 36.7L95.5 37.8L95 39.3L92.9 41.1L89.9 43L86.8 44.6L84.5 46L83.8 47L84.7 48L87.2 48.9Z'/%3E%3Cpath d='M95.2 50L96.9 51.4L96.8 52.7L95 53.9L91.9 54.9L88.4 55.6L85.3 56.2L83.4 56.9L83.2 57.9L84.6 59.3L87.2 61.1L90.1 63.3L92.4 65.4L93.6 67.3L93 68.6L90.9 69.1L87.7 68.9L84.1 68.4L81 67.9L79 67.9L78.5 68.8L79.4 70.6L81.1 73.2L83.1 76.2L84.6 79L85 81.2L84.1 82.2L81.9 81.9L79 80.7L75.8 79L73 77.4L71.2 76.8L70.4 77.4L70.6 79.4L71.3 82.4L72.2 85.9L72.6 89.1L72.2 91.3L71 91.9L69.1 90.9L66.7 88.8L64.3 86.1L62.3 83.7L60.7 82.4L59.8 82.7L59.3 84.6L58.9 87.7L58.5 91.3L57.8 94.5L56.8 96.4L55.4 96.6L53.9 95L52.5 92.1L51.1 88.8L50 85.8L49 84.1L48 84.1L46.9 85.7L45.5 88.5L43.9 91.8L42.2 94.5L40.5 95.9L39.2 95.6L38.3 93.6L37.9 90.4L37.8 86.8L37.7 83.7L37.4 81.7L36.5 81.3L34.9 82.5L32.6 84.7L30 87.2L27.4 89.1L25.4 89.9L24.2 89.2L24.1 87L24.8 83.9L25.9 80.4L27 77.4L27.3 75.5L26.6 74.8L24.7 75.3L21.8 76.6L18.5 78.1L15.4 79L13.2 79.1L12.4 78L13 75.9L14.7 73.2L17 70.4L19 67.9L20 66.2L19.5 65.3L17.5 65.1L14.4 65.4L10.8 65.6L7.6 65.4L5.5 64.7L5.1 63.4L6.4 61.7L8.9 59.7L12 57.8L14.7 56.2L16.2 54.9L16.1 54L14.3 53.1L11.3 52.3L7.8 51.2L4.8 50L3.1 48.6L3.2 47.3L5 46.1L8.1 45.1L11.6 44.4L14.7 43.8L16.6 43.1L16.8 42.1L15.4 40.7L12.8 38.9L9.9 36.7L7.6 34.6L6.4 32.7L7 31.4L9.1 30.9L12.3 31.1L15.9 31.6L19 32.1L21 32.1L21.5 31.2L20.6 29.4L18.9 26.8L16.9 23.8L15.4 21L15 18.8L15.9 17.8L18.1 18.1L21 19.3L24.2 21L27 22.6L28.8 23.2L29.6 22.6L29.4 20.6L28.7 17.6L27.8 14.1L27.4 10.9L27.8 8.7L29 8.1L30.9 9.1L33.3 11.2L35.7 13.9L37.7 16.3L39.3 17.6L40.2 17.3L40.7 15.4L41.1 12.3L41.5 8.7L42.2 5.5L43.2 3.6L44.6 3.4L46.1 5L47.5 7.9L48.9 11.2L50 14.2L51 15.9L52 15.9L53.1 14.3L54.5 11.5L56.1 8.2L57.8 5.5L59.5 4.1L60.8 4.4L61.7 6.4L62.1 9.6L62.2 13.2L62.3 16.3L62.6 18.3L63.5 18.7L65.1 17.5L67.4 15.3L70 12.8L72.6 10.9L74.6 10.1L75.8 10.8L75.9 13L75.2 16.1L74.1 19.6L73 22.6L72.7 24.5L73.4 25.2L75.3 24.7L78.2 23.4L81.5 21.9L84.6 21L86.8 20.9L87.6 22L87 24.1L85.3 26.8L83 29.6L81 32.1L80 33.8L80.5 34.7L82.5 34.9L85.6 34.6L89.2 34.4L92.4 34.6L94.5 35.3L94.9 36.6L93.6 38.3L91.1 40.3L88 42.2L85.3 43.8L83.8 45.1L83.9 46L85.7 46.9L88.7 47.7L92.2 48.8Z'/%3E%3Cpath d='M97.1 50L96.2 51.3L93.7 52.5L90.3 53.5L86.9 54.3L84.4 55L83.4 55.9L84.1 57L86.2 58.6L89.1 60.5L92 62.6L93.9 64.5L94.3 66.1L93 67.1L90.2 67.3L86.7 67.1L83.2 66.7L80.6 66.5L79.4 66.9L79.6 68.3L81.1 70.4L83.2 73.2L85.1 76.2L86.3 78.7L86.1 80.3L84.5 80.7L81.9 80.1L78.6 78.6L75.5 77.1L73.1 76L71.8 76L71.6 77.3L72.2 79.8L73.2 83.2L74.1 86.6L74.3 89.3L73.6 90.8L71.9 90.7L69.7 89.1L67.1 86.7L64.7 84.2L62.8 82.3L61.6 81.9L60.9 83L60.7 85.6L60.5 89.1L60.1 92.6L59.3 95.3L58.2 96.4L56.7 95.7L55.1 93.5L53.5 90.3L52.2 87.1L51 84.8L50 83.9L49 84.8L47.8 87.1L46.5 90.3L44.9 93.5L43.3 95.7L41.8 96.4L40.7 95.3L39.9 92.6L39.5 89.1L39.3 85.6L39.1 83L38.4 81.9L37.2 82.3L35.3 84.2L32.9 86.7L30.3 89.1L28.1 90.7L26.5 90.8L25.7 89.3L25.9 86.6L26.8 83.2L27.8 79.8L28.4 77.3L28.2 76L26.9 76L24.5 77.1L21.4 78.6L18.1 80.1L15.5 80.7L13.9 80.3L13.7 78.7L14.9 76.2L16.8 73.2L18.9 70.4L20.4 68.3L20.6 66.9L19.4 66.5L16.8 66.7L13.3 67.1L9.8 67.3L7 67.1L5.7 66.1L6.1 64.5L8 62.6L10.9 60.5L13.8 58.6L15.9 57L16.6 55.9L15.6 55L13.1 54.3L9.7 53.5L6.3 52.5L3.8 51.3L2.9 50L3.8 48.7L6.3 47.5L9.7 46.5L13.1 45.7L15.6 45L16.6 44.1L15.9 43L13.8 41.4L10.9 39.5L8 37.4L6.1 35.5L5.7 33.9L7 32.9L9.8 32.7L13.3 32.9L16.8 33.3L19.4 33.5L20.6 33L20.4 31.7L18.9 29.6L16.8 26.8L14.9 23.8L13.7 21.3L13.9 19.7L15.5 19.3L18.1 19.9L21.4 21.4L24.5 22.9L26.9 24L28.2 24L28.4 22.7L27.8 20.2L26.8 16.8L25.9 13.4L25.7 10.7L26.4 9.2L28.1 9.3L30.3 10.9L32.9 13.3L35.3 15.8L37.2 17.7L38.4 18.1L39.1 17L39.3 14.4L39.5 10.9L39.9 7.4L40.7 4.7L41.8 3.6L43.3 4.3L44.9 6.5L46.5 9.7L47.8 12.9L49 15.2L50 16.1L51 15.2L52.2 12.9L53.5 9.7L55.1 6.5L56.7 4.3L58.2 3.6L59.3 4.7L60.1 7.4L60.5 10.9L60.7 14.4L60.9 17L61.6 18.1L62.8 17.7L64.7 15.8L67.1 13.3L69.7 10.9L71.9 9.3L73.6 9.2L74.3 10.7L74.1 13.4L73.2 16.8L72.2 20.2L71.6 22.7L71.8 24L73.1 24L75.5 22.9L78.6 21.4L81.9 19.9L84.5 19.3L86.1 19.7L86.3 21.3L85.1 23.8L83.2 26.8L81.1 29.6L79.6 31.7L79.4 33L80.6 33.5L83.2 33.3L86.7 32.9L90.2 32.7L93 32.9L94.3 33.9L93.9 35.5L92 37.4L89.1 39.5L86.2 41.4L84.1 43L83.4 44.1L84.4 45L86.9 45.7L90.3 46.5L93.7 47.5L96.2 48.7Z'/%3E%3Cpath d='M95.2 50L92.2 51.2L88.7 52.3L85.7 53.1L83.9 54L83.8 54.9L85.3 56.2L88 57.8L91.1 59.7L93.6 61.7L94.9 63.4L94.5 64.7L92.4 65.4L89.2 65.6L85.6 65.4L82.5 65.1L80.5 65.3L80 66.2L81 67.9L83 70.4L85.3 73.2L87 75.9L87.6 78L86.8 79.1L84.6 79L81.5 78.1L78.2 76.6L75.3 75.3L73.4 74.8L72.7 75.5L73 77.4L74.1 80.4L75.2 83.9L75.9 87L75.8 89.2L74.6 89.9L72.6 89.1L70 87.2L67.4 84.7L65.1 82.5L63.5 81.3L62.6 81.7L62.3 83.7L62.2 86.8L62.1 90.4L61.7 93.6L60.8 95.6L59.5 95.9L57.8 94.5L56.1 91.8L54.5 88.5L53.1 85.7L52 84.1L51 84.1L50 85.8L48.9 88.8L47.5 92.1L46.1 95L44.6 96.6L43.2 96.4L42.2 94.5L41.5 91.3L41.1 87.7L40.7 84.6L40.2 82.7L39.3 82.4L37.7 83.7L35.7 86.1L33.3 88.8L30.9 90.9L29 91.9L27.8 91.3L27.4 89.1L27.8 85.9L28.7 82.4L29.4 79.4L29.6 77.4L28.8 76.8L27 77.4L24.2 79L21 80.7L18.1 81.9L15.9 82.2L15 81.2L15.4 79L16.9 76.2L18.9 73.2L20.6 70.6L21.5 68.8L21 67.9L19 67.9L15.9 68.4L12.3 68.9L9.1 69.1L7 68.6L6.4 67.3L7.6 65.4L9.9 63.3L12.8 61.1L15.4 59.3L16.8 57.9L16.6 56.9L14.7 56.2L11.6 55.6L8.1 54.9L5 53.9L3.2 52.7L3.1 51.4L4.8 50L7.8 48.8L11.3 47.7L14.3 46.9L16.1 46L16.2 45.1L14.7 43.8L12 42.2L8.9 40.3L6.4 38.3L5.1 36.6L5.5 35.3L7.6 34.6L10.8 34.4L14.4 34.6L17.5 34.9L19.5 34.7L20 33.8L19 32.1L17 29.6L14.7 26.8L13 24.1L12.4 22L13.2 20.9L15.4 21L18.5 21.9L21.8 23.4L24.7 24.7L26.6 25.2L27.3 24.5L27 22.6L25.9 19.6L24.8 16.1L24.1 13L24.2 10.8L25.4 10.1L27.4 10.9L30 12.8L32.6 15.3L34.9 17.5L36.5 18.7L37.4 18.3L37.7 16.3L37.8 13.2L37.9 9.6L38.3 6.4L39.2 4.4L40.5 4.1L42.2 5.5L43.9 8.2L45.5 11.5L46.9 14.3L48 15.9L49 15.9L50 14.2L51.1 11.2L52.5 7.9L53.9 5L55.4 3.4L56.8 3.6L57.8 5.5L58.5 8.7L58.9 12.3L59.3 15.4L59.8 17.3L60.7 17.6L62.3 16.3L64.3 13.9L66.7 11.2L69.1 9.1L71 8.1L72.2 8.7L72.6 10.9L72.2 14.1L71.3 17.6L70.6 20.6L70.4 22.6L71.2 23.2L73 22.6L75.8 21L79 19.3L81.9 18.1L84.1 17.8L85 18.8L84.6 21L83.1 23.8L81.1 26.8L79.4 29.4L78.5 31.2L79 32.1L81 32.1L84.1 31.6L87.7 31.1L90.9 30.9L93 31.4L93.6 32.7L92.4 34.6L90.1 36.7L87.2 38.9L84.6 40.7L83.2 42.1L83.4 43.1L85.3 43.8L88.4 44.4L91.9 45.1L95 46.1L96.8 47.3L96.9 48.6Z'/%3E%3Cpath d='M90.5 50L87.2 51.1L84.7 52L83.8 53L84.5 54L86.8 55.4L89.9 57L92.9 58.9L95 60.7L95.5 62.2L94.3 63.3L91.6 63.8L88.1 63.9L84.6 63.7L81.9 63.8L80.7 64.3L81.1 65.6L82.7 67.7L85.1 70.3L87.3 73L88.6 75.4L88.6 77L87.1 77.6L84.4 77.2L81 76L77.8 74.7L75.3 73.9L74 74L73.9 75.3L74.7 77.8L76 81L77.2 84.4L77.6 87.1L77 88.6L75.4 88.6L73 87.3L70.3 85.1L67.7 82.7L65.6 81.1L64.3 80.7L63.8 81.9L63.7 84.6L63.9 88.1L63.8 91.6L63.3 94.3L62.2 95.5L60.7 95L58.9 92.9L57 89.9L55.4 86.8L54 84.5L53 83.8L52 84.7L51.1 87.2L50 90.5L48.7 93.8L47.3 96.1L45.9 96.9L44.6 95.9L43.7 93.3L43 89.9L42.5 86.4L42 83.8L41.2 82.7L40 83.3L38.3 85.3L36.1 88.1L33.8 90.7L31.7 92.4L30.1 92.7L29.3 91.3L29.2 88.6L29.8 85.1L30.5 81.7L30.9 79.1L30.6 77.8L29.2 77.9L26.9 79.2L24 81L20.9 82.7L18.3 83.6L16.7 83.3L16.4 81.7L17.3 79.1L19 76L20.8 73.1L22.1 70.8L22.2 69.4L20.9 69.1L18.3 69.5L14.9 70.2L11.4 70.8L8.7 70.7L7.3 69.9L7.6 68.3L9.3 66.2L11.9 63.9L14.7 61.7L16.7 60L17.3 58.8L16.2 58L13.6 57.5L10.1 57L6.7 56.3L4.1 55.4L3.1 54.1L3.9 52.7L6.2 51.3L9.5 50L12.8 48.9L15.3 48L16.2 47L15.5 46L13.2 44.6L10.1 43L7.1 41.1L5 39.3L4.5 37.8L5.7 36.7L8.4 36.2L11.9 36.1L15.4 36.3L18.1 36.2L19.3 35.7L18.9 34.4L17.3 32.3L14.9 29.7L12.7 27L11.4 24.6L11.4 23L12.9 22.4L15.6 22.8L19 24L22.2 25.3L24.7 26.1L26 26L26.1 24.7L25.3 22.2L24 19L22.8 15.6L22.4 12.9L23 11.4L24.6 11.4L27 12.7L29.7 14.9L32.3 17.3L34.4 18.9L35.7 19.3L36.2 18.1L36.3 15.4L36.1 11.9L36.2 8.4L36.7 5.7L37.8 4.5L39.3 5L41.1 7.1L43 10.1L44.6 13.2L46 15.5L47 16.2L48 15.3L48.9 12.8L50 9.5L51.3 6.2L52.7 3.9L54.1 3.1L55.4 4.1L56.3 6.7L57 10.1L57.5 13.6L58 16.2L58.8 17.3L60 16.7L61.7 14.7L63.9 11.9L66.2 9.3L68.3 7.6L69.9 7.3L70.7 8.7L70.8 11.4L70.2 14.9L69.5 18.3L69.1 20.9L69.4 22.2L70.8 22.1L73.1 20.8L76 19L79.1 17.3L81.7 16.4L83.3 16.7L83.6 18.3L82.7 20.9L81 24L79.2 26.9L77.9 29.2L77.8 30.6L79.1 30.9L81.7 30.5L85.1 29.8L88.6 29.2L91.3 29.3L92.7 30.1L92.4 31.7L90.7 33.8L88.1 36.1L85.3 38.3L83.3 40L82.7 41.2L83.8 42L86.4 42.5L89.9 43L93.3 43.7L95.9 44.6L96.9 45.9L96.1 47.3L93.8 48.7Z'/%3E%3Cpath d='M85.8 50L84.1 51L84.1 52L85.7 53.1L88.5 54.5L91.8 56.1L94.5 57.8L95.9 59.5L95.6 60.8L93.6 61.7L90.4 62.1L86.8 62.2L83.7 62.3L81.7 62.6L81.3 63.5L82.5 65.1L84.7 67.4L87.2 70L89.1 72.6L89.9 74.6L89.2 75.8L87 75.9L83.9 75.2L80.4 74.1L77.4 73L75.5 72.7L74.8 73.4L75.3 75.3L76.6 78.2L78.1 81.5L79 84.6L79.1 86.8L78 87.6L75.9 87L73.2 85.3L70.4 83L67.9 81L66.2 80L65.3 80.5L65.1 82.5L65.4 85.6L65.6 89.2L65.4 92.4L64.7 94.5L63.4 94.9L61.7 93.6L59.7 91.1L57.8 88L56.2 85.3L54.9 83.8L54 83.9L53.1 85.7L52.3 88.7L51.2 92.2L50 95.2L48.6 96.9L47.3 96.8L46.1 95L45.1 91.9L44.4 88.4L43.8 85.3L43.1 83.4L42.1 83.2L40.7 84.6L38.9 87.2L36.7 90.1L34.6 92.4L32.7 93.6L31.4 93L30.9 90.9L31.1 87.7L31.6 84.1L32.1 81L32.1 79L31.2 78.5L29.4 79.4L26.8 81.1L23.8 83.1L21 84.6L18.8 85L17.8 84.1L18.1 81.9L19.3 79L21 75.8L22.6 73L23.2 71.2L22.6 70.4L20.6 70.6L17.6 71.3L14.1 72.2L10.9 72.6L8.7 72.2L8.1 71L9.1 69.1L11.2 66.7L13.9 64.3L16.3 62.3L17.6 60.7L17.3 59.8L15.4 59.3L12.3 58.9L8.7 58.5L5.5 57.8L3.6 56.8L3.4 55.4L5 53.9L7.9 52.5L11.2 51.1L14.2 50L15.9 49L15.9 48L14.3 46.9L11.5 45.5L8.2 43.9L5.5 42.2L4.1 40.5L4.4 39.2L6.4 38.3L9.6 37.9L13.2 37.8L16.3 37.7L18.3 37.4L18.7 36.5L17.5 34.9L15.3 32.6L12.8 30L10.9 27.4L10.1 25.4L10.8 24.2L13 24.1L16.1 24.8L19.6 25.9L22.6 27L24.5 27.3L25.2 26.6L24.7 24.7L23.4 21.8L21.9 18.5L21 15.4L20.9 13.2L22 12.4L24.1 13L26.8 14.7L29.6 17L32.1 19L33.8 20L34.7 19.5L34.9 17.5L34.6 14.4L34.4 10.8L34.6 7.6L35.3 5.5L36.6 5.1L38.3 6.4L40.3 8.9L42.2 12L43.8 14.7L45.1 16.2L46 16.1L46.9 14.3L47.7 11.3L48.8 7.8L50 4.8L51.4 3.1L52.7 3.2L53.9 5L54.9 8.1L55.6 11.6L56.2 14.7L56.9 16.6L57.9 16.8L59.3 15.4L61.1 12.8L63.3 9.9L65.4 7.6L67.3 6.4L68.6 7L69.1 9.1L68.9 12.3L68.4 15.9L67.9 19L67.9 21L68.8 21.5L70.6 20.6L73.2 18.9L76.2 16.9L79 15.4L81.2 15L82.2 15.9L81.9 18.1L80.7 21L79 24.2L77.4 27L76.8 28.8L77.4 29.6L79.4 29.4L82.4 28.7L85.9 27.8L89.1 27.4L91.3 27.8L91.9 29L90.9 30.9L88.8 33.3L86.1 35.7L83.7 37.7L82.4 39.3L82.7 40.2L84.6 40.7L87.7 41.1L91.3 41.5L94.5 42.2L96.4 43.2L96.6 44.6L95 46.1L92.1 47.5L88.8 48.9Z'/%3E%3Cpath d='M83.9 50L84.8 51L87.1 52.2L90.3 53.5L93.5 55.1L95.7 56.7L96.4 58.2L95.3 59.3L92.6 60.1L89.1 60.5L85.6 60.7L83 60.9L81.9 61.6L82.3 62.8L84.2 64.7L86.7 67.1L89.1 69.7L90.7 71.9L90.8 73.5L89.3 74.3L86.6 74.1L83.2 73.2L79.8 72.2L77.3 71.6L76 71.8L76 73.1L77.1 75.5L78.6 78.6L80.1 81.9L80.7 84.5L80.3 86.1L78.7 86.3L76.2 85.1L73.2 83.2L70.4 81.1L68.3 79.6L67 79.4L66.5 80.6L66.7 83.2L67.1 86.7L67.3 90.2L67.1 93L66.1 94.3L64.5 93.9L62.6 92L60.5 89.1L58.6 86.2L57 84.1L55.9 83.4L55 84.4L54.3 86.9L53.5 90.3L52.5 93.7L51.3 96.2L50 97.1L48.7 96.2L47.5 93.7L46.5 90.3L45.7 86.9L45 84.4L44.1 83.4L43 84.1L41.4 86.2L39.5 89.1L37.4 92L35.5 93.9L33.9 94.3L32.9 93L32.7 90.2L32.9 86.7L33.3 83.2L33.5 80.6L33.1 79.4L31.7 79.6L29.6 81.1L26.8 83.2L23.8 85.1L21.3 86.3L19.7 86.1L19.3 84.5L19.9 81.9L21.4 78.6L22.9 75.5L24 73.1L24 71.8L22.7 71.6L20.2 72.2L16.8 73.2L13.4 74.1L10.7 74.3L9.2 73.5L9.3 71.9L10.9 69.7L13.3 67.1L15.8 64.7L17.7 62.8L18.1 61.6L17 60.9L14.4 60.7L10.9 60.5L7.4 60.1L4.7 59.3L3.6 58.2L4.3 56.7L6.5 55.1L9.7 53.5L12.9 52.2L15.2 51L16.1 50L15.2 49L12.9 47.8L9.7 46.5L6.5 44.9L4.3 43.3L3.6 41.8L4.7 40.7L7.4 39.9L10.9 39.5L14.4 39.3L17 39.1L18.1 38.4L17.7 37.2L15.8 35.3L13.3 32.9L10.9 30.3L9.3 28.1L9.2 26.4L10.7 25.7L13.4 25.9L16.8 26.8L20.2 27.8L22.7 28.4L24 28.2L24 26.9L22.9 24.5L21.4 21.4L19.9 18.1L19.3 15.5L19.7 13.9L21.3 13.7L23.8 14.9L26.8 16.8L29.6 18.9L31.7 20.4L33 20.6L33.5 19.4L33.3 16.8L32.9 13.3L32.7 9.8L32.9 7L33.9 5.7L35.5 6.1L37.4 8L39.5 10.9L41.4 13.8L43 15.9L44.1 16.6L45 15.6L45.7 13.1L46.5 9.7L47.5 6.3L48.7 3.8L50 2.9L51.3 3.8L52.5 6.3L53.5 9.7L54.3 13.1L55 15.6L55.9 16.6L57 15.9L58.6 13.8L60.5 10.9L62.6 8L64.5 6.1L66.1 5.7L67.1 7L67.3 9.8L67.1 13.3L66.7 16.8L66.5 19.4L67 20.6L68.3 20.4L70.4 18.9L73.2 16.8L76.2 14.9L78.7 13.7L80.3 13.9L80.7 15.5L80.1 18.1L78.6 21.4L77.1 24.5L76 26.9L76 28.2L77.3 28.4L79.8 27.8L83.2 26.8L86.6 25.9L89.3 25.7L90.8 26.4L90.7 28.1L89.1 30.3L86.7 32.9L84.2 35.3L82.3 37.2L81.9 38.4L83 39.1L85.6 39.3L89.1 39.5L92.6 39.9L95.3 40.7L96.4 41.8L95.7 43.3L93.5 44.9L90.3 46.5L87.1 47.8L84.8 49Z'/%3E%3Cpath d='M85.8 50L88.8 51.1L92.1 52.5L95 53.9L96.6 55.4L96.4 56.8L94.5 57.8L91.3 58.5L87.7 58.9L84.6 59.3L82.7 59.8L82.4 60.7L83.7 62.3L86.1 64.3L88.8 66.7L90.9 69.1L91.9 71L91.3 72.2L89.1 72.6L85.9 72.2L82.4 71.3L79.4 70.6L77.4 70.4L76.8 71.2L77.4 73L79 75.8L80.7 79L81.9 81.9L82.2 84.1L81.2 85L79 84.6L76.2 83.1L73.2 81.1L70.6 79.4L68.8 78.5L67.9 79L67.9 81L68.4 84.1L68.9 87.7L69.1 90.9L68.6 93L67.3 93.6L65.4 92.4L63.3 90.1L61.1 87.2L59.3 84.6L57.9 83.2L56.9 83.4L56.2 85.3L55.6 88.4L54.9 91.9L53.9 95L52.7 96.8L51.4 96.9L50 95.2L48.8 92.2L47.7 88.7L46.9 85.7L46 83.9L45.1 83.8L43.8 85.3L42.2 88L40.3 91.1L38.3 93.6L36.6 94.9L35.3 94.5L34.6 92.4L34.4 89.2L34.6 85.6L34.9 82.5L34.7 80.5L33.8 80L32.1 81L29.6 83L26.8 85.3L24.1 87L22 87.6L20.9 86.8L21 84.6L21.9 81.5L23.4 78.2L24.7 75.3L25.2 73.4L24.5 72.7L22.6 73L19.6 74.1L16.1 75.2L13 75.9L10.8 75.8L10.1 74.6L10.9 72.6L12.8 70L15.3 67.4L17.5 65.1L18.7 63.5L18.3 62.6L16.3 62.3L13.2 62.2L9.6 62.1L6.4 61.7L4.4 60.8L4.1 59.5L5.5 57.8L8.2 56.1L11.5 54.5L14.3 53.1L15.9 52L15.9 51L14.2 50L11.2 48.9L7.9 47.5L5 46.1L3.4 44.6L3.6 43.2L5.5 42.2L8.7 41.5L12.3 41.1L15.4 40.7L17.3 40.2L17.6 39.3L16.3 37.7L13.9 35.7L11.2 33.3L9.1 30.9L8.1 29L8.7 27.8L10.9 27.4L14.1 27.8L17.6 28.7L20.6 29.4L22.6 29.6L23.2 28.8L22.6 27L21 24.2L19.3 21L18.1 18.1L17.8 15.9L18.8 15L21 15.4L23.8 16.9L26.8 18.9L29.4 20.6L31.2 21.5L32.1 21L32.1 19L31.6 15.9L31.1 12.3L30.9 9.1L31.4 7L32.7 6.4L34.6 7.6L36.7 9.9L38.9 12.8L40.7 15.4L42.1 16.8L43.1 16.6L43.8 14.7L44.4 11.6L45.1 8.1L46.1 5L47.3 3.2L48.6 3.1L50 4.8L51.2 7.8L52.3 11.3L53.1 14.3L54 16.1L54.9 16.2L56.2 14.7L57.8 12L59.7 8.9L61.7 6.4L63.4 5.1L64.7 5.5L65.4 7.6L65.6 10.8L65.4 14.4L65.1 17.5L65.3 19.5L66.2 20L67.9 19L70.4 17L73.2 14.7L75.9 13L78 12.4L79.1 13.2L79 15.4L78.1 18.5L76.6 21.8L75.3 24.7L74.8 26.6L75.5 27.3L77.4 27L80.4 25.9L83.9 24.8L87 24.1L89.2 24.2L89.9 25.4L89.1 27.4L87.2 30L84.7 32.6L82.5 34.9L81.3 36.5L81.7 37.4L83.7 37.7L86.8 37.8L90.4 37.9L93.6 38.3L95.6 39.2L95.9 40.5L94.5 42.2L91.8 43.9L88.5 45.5L85.7 46.9L84.1 48L84.1 49Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23000'%3E%3Ccircle cx='50' cy='50' r='49.2' stroke-width='.6'/%3E%3Ccircle cx='50' cy='50' r='32.4' stroke-width='.6'/%3E%3Ccircle cx='50' cy='50' r='31.2' stroke-width='.3'/%3E%3C/g%3E%3C/svg%3E");
  --pm-guilloche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 28' width='96' height='28'%3E%3Cg fill='none' stroke='%23000' stroke-width='.4'%3E%3Cpath d='M0 14L3 19.2L6 23.6L9 26.6L12 27.6L15 26.6L18 23.6L21 19.2L24 14L27 8.8L30 4.4L33 1.4L36 0.4L39 1.4L42 4.4L45 8.8L48 14L51 19.2L54 23.6L57 26.6L60 27.6L63 26.6L66 23.6L69 19.2L72 14L75 8.8L78 4.4L81 1.4L84 0.4L87 1.4L90 4.4L93 8.8L96 14'/%3E%3Cpath d='M0 14L3 8.8L6 4.4L9 1.4L12 0.4L15 1.4L18 4.4L21 8.8L24 14L27 19.2L30 23.6L33 26.6L36 27.6L39 26.6L42 23.6L45 19.2L48 14L51 8.8L54 4.4L57 1.4L60 0.4L63 1.4L66 4.4L69 8.8L72 14L75 19.2L78 23.6L81 26.6L84 27.6L87 26.6L90 23.6L93 19.2L96 14'/%3E%3Cpath d='M0 23.6L3 26.6L6 27.6L9 26.6L12 23.6L15 19.2L18 14L21 8.8L24 4.4L27 1.4L30 0.4L33 1.4L36 4.4L39 8.8L42 14L45 19.2L48 23.6L51 26.6L54 27.6L57 26.6L60 23.6L63 19.2L66 14L69 8.8L72 4.4L75 1.4L78 0.4L81 1.4L84 4.4L87 8.8L90 14L93 19.2L96 23.6'/%3E%3Cpath d='M0 4.4L3 1.4L6 0.4L9 1.4L12 4.4L15 8.8L18 14L21 19.2L24 23.6L27 26.6L30 27.6L33 26.6L36 23.6L39 19.2L42 14L45 8.8L48 4.4L51 1.4L54 0.4L57 1.4L60 4.4L63 8.8L66 14L69 19.2L72 23.6L75 26.6L78 27.6L81 26.6L84 23.6L87 19.2L90 14L93 8.8L96 4.4'/%3E%3Cpath d='M0 27.6L3 26.6L6 23.6L9 19.2L12 14L15 8.8L18 4.4L21 1.4L24 0.4L27 1.4L30 4.4L33 8.8L36 14L39 19.2L42 23.6L45 26.6L48 27.6L51 26.6L54 23.6L57 19.2L60 14L63 8.8L66 4.4L69 1.4L72 0.4L75 1.4L78 4.4L81 8.8L84 14L87 19.2L90 23.6L93 26.6L96 27.6'/%3E%3Cpath d='M0 0.4L3 1.4L6 4.4L9 8.8L12 14L15 19.2L18 23.6L21 26.6L24 27.6L27 26.6L30 23.6L33 19.2L36 14L39 8.8L42 4.4L45 1.4L48 0.4L51 1.4L54 4.4L57 8.8L60 14L63 19.2L66 23.6L69 26.6L72 27.6L75 26.6L78 23.6L81 19.2L84 14L87 8.8L90 4.4L93 1.4L96 0.4'/%3E%3Cpath d='M0 23.6L3 19.2L6 14L9 8.8L12 4.4L15 1.4L18 0.4L21 1.4L24 4.4L27 8.8L30 14L33 19.2L36 23.6L39 26.6L42 27.6L45 26.6L48 23.6L51 19.2L54 14L57 8.8L60 4.4L63 1.4L66 0.4L69 1.4L72 4.4L75 8.8L78 14L81 19.2L84 23.6L87 26.6L90 27.6L93 26.6L96 23.6'/%3E%3Cpath d='M0 4.4L3 8.8L6 14L9 19.2L12 23.6L15 26.6L18 27.6L21 26.6L24 23.6L27 19.2L30 14L33 8.8L36 4.4L39 1.4L42 0.4L45 1.4L48 4.4L51 8.8L54 14L57 19.2L60 23.6L63 26.6L66 27.6L69 26.6L72 23.6L75 19.2L78 14L81 8.8L84 4.4L87 1.4L90 0.4L93 1.4L96 4.4'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme=dark] {
  --pm-or-l: #b8933f; --pm-or-f: #e6c77d; --pm-papier: #121b27; --pm-encre: #f2f5f8; --pm-gris: #a8b3c0; --pm-fil-or: rgba(217, 180, 91, .5);
}

/* ======================================================================== 1. bouton d'achat premium
   plein (pas de dégradé), filet intérieur fin, prix en Playfair derrière un filet, reflet qui passe au survol */
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) {
  --pm-b: var(--pm-orange); --pm-fil: rgba(255, 255, 255, .42); --pm-px: #fff;
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-height: 54px; padding: 0 20px 0 22px; border: 0; border-radius: 12px;
  background: var(--pm-b); color: #fff !important; text-decoration: none !important;
  font: 600 1rem/1.15 var(--f-body, "Inter", system-ui, sans-serif); letter-spacing: .01em; white-space: nowrap; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .2), 0 1px 2px rgba(15, 27, 42, .16), 0 12px 24px -12px rgba(15, 27, 42, .45);
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, background-color .2s ease;
  -webkit-tap-highlight-color: transparent;
}
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go)::before {
  content: ""; position: absolute; z-index: -1; inset: 3px; border: 1px solid var(--pm-fil); border-radius: 9px; pointer-events: none;
  background: none; transform: none; transition: none;
}
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go)::after {
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; width: 46%; pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .24) 50%, rgba(255, 255, 255, 0));
  transform: translateX(-110%) skewX(-18deg);
}
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) > * { position: relative; }
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) > b {
  margin-left: auto; padding-left: 14px; border-left: 1px solid var(--pm-fil); background: none; border-radius: 0;
  font: 700 1.3rem/1 "Playfair Display", Georgia, serif; letter-spacing: 0; color: var(--pm-px);
}
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go):focus-visible { outline: 3px solid var(--pm-or); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go):hover {
    background: var(--pm-b); color: #fff !important; transform: translateY(-1px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -1px 0 rgba(0, 0, 0, .2), 0 2px 4px rgba(15, 27, 42, .16), 0 18px 30px -14px rgba(15, 27, 42, .5);
  }
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go):hover::after {
    transform: translateX(260%) skewX(-18deg); transition: transform .95s cubic-bezier(.2, .7, .2, 1);
  }
}
#app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go):active { transform: translateY(0) scale(.99); transition-duration: .08s; }
#app :is(.pm-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy).in-cart { --pm-b: var(--pm-ok); }
#app :is(.pm-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy) .lbl::after { content: none; }
#app .pm-buy .pm-ok { display: none; }
#app .pm-buy.in-cart .lbl { display: none; }
#app .pm-buy.in-cart .pm-ok { display: inline-flex; align-items: center; gap: 8px; }
#app .pm-buy.in-cart .pm-ok::before { content: ""; width: 14px; height: 8px; margin-top: -4px; border: solid #fff; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
/* ancienne icône « + » des boutons (offres.js, dest.js) : le filet du prix suffit */
#app :is(.of-pack .gd-buy, .ds-pev .ds-pack-buy) > i:last-child { display: none; }
#app .of-pack .gd-buy .ct-mini { display: none; }
#app .of-pack .gd-buy .lbl { display: inline-flex; }

/* ======================================================================== 2. le « coffret » : cadre guilloché des offres
   bande de guillochis de 12 px tout autour, filet doré, papier au centre ; le texte reste toujours sur le papier uni */
#app :is(.acc-visa, .of-pack, .ds-pev, .hv-pack, .pj-pw) { position: relative; isolation: isolate; }
#app .co-verso { isolation: isolate; }   /* déjà en position absolue (face de la carte) */
#app :is(.acc-visa, .of-pack, .ds-pev, .hv-pack, .pj-pw, .co-verso)::before {
  content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; pointer-events: none;
  background: var(--pm-or-l); opacity: .5;
  -webkit-mask: var(--pm-guilloche) 0 0 / 48px 14px repeat; mask: var(--pm-guilloche) 0 0 / 48px 14px repeat;
}
#app :is(.acc-visa, .of-pack, .ds-pev, .hv-pack, .pj-pw, .co-verso)::after {
  content: ""; position: absolute; z-index: -1; inset: 12px; pointer-events: none;
  border: 1px solid var(--pm-fil-or); border-radius: 8px; background: var(--pm-papier);
  box-shadow: 0 0 0 3px var(--pm-papier), 0 0 0 4px rgba(217, 180, 91, .38);
}
#app :is(.of-pack, .ds-pev, .hv-pack) {
  border: 1px solid var(--pm-fil-or) !important; border-radius: 18px !important; background: var(--pm-papier) !important;
  box-shadow: 0 1px 2px rgba(15, 27, 42, .05), 0 28px 56px -32px rgba(15, 27, 42, .32) !important;
  padding: clamp(30px, 3.6vw, 46px) clamp(26px, 3.6vw, 48px) !important;
}
#app :is(.of-pack, .ds-pev) :is(.of-pack-tete small) { color: var(--pm-or-f); letter-spacing: .24em; }
#app .of-pack-tete h3 { font-family: "Playfair Display", Georgia, serif !important; font-weight: 700; }
#app :is(.of-pack, .ds-pev, .hv-pack) .ev-k { color: var(--pm-or-f); letter-spacing: .16em; }
#app :is(.of-pack, .ds-pev, .hv-pack) .ev-montant b { font-family: "Playfair Display", Georgia, serif; font-weight: 700; letter-spacing: -.01em; }
#app :is(.of-pack, .ds-pev, .hv-pack) .ev-gain { background: none; border: 1px solid var(--pm-fil-or); color: var(--pm-or-f); }
#app :is(.of-pack .gd-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go) { width: 100%; max-width: 380px; }
#app :is(.of-pack, .ds-pev) .gd-secure, #app .ds-pev .ds-pack-pied { color: var(--pm-gris); }

/* ======================================================================== 3. accompagnement : la page visa du passeport ouvert
   (accomp.js, panneau .acc-visa) — page de gauche : la formule ; page de droite : la rosace du prix et l'achat */
#app .acc-panels { max-width: 880px; }
#app .acc:has(.acc-visa) .acc-panels::before { background: var(--pm-papier); border-color: var(--pm-fil-or); top: -7px; }
#app .acc-visa[data-plan=decouverte] { --acc-cuir: #9b1c2c; }
#app .acc-visa[data-plan=depart] { --acc-cuir: #5b1726; }
#app .acc-visa[data-plan=premium] { --acc-cuir: #14284a; }
#app .acc-panel.acc-visa {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 324px); grid-template-areas: "c a" "m m"; gap: 0;
  padding: 0; border: 1px solid var(--pm-fil-or); border-radius: 14px; background: var(--pm-papier); color: var(--pm-encre);
  box-shadow: 0 1px 2px rgba(15, 27, 42, .06), 0 30px 60px -34px rgba(15, 27, 42, .38);
}
#app .acc-panel.acc-visa:not(.is-on) { display: none; }
#app .acc-visa .acc-panel-corps { grid-area: c; min-width: 0; padding: 40px 34px 26px 46px; background: linear-gradient(270deg, rgba(15, 27, 42, .045), rgba(15, 27, 42, 0) 22px); }
#app .acc-visa .acc-v-tete { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 20px; padding: 0 0 10px; border-bottom: 1px solid var(--pm-fil-or);
  font: 600 .64rem/1.2 var(--f-body, "Inter", sans-serif); letter-spacing: .22em; text-transform: uppercase; color: var(--pm-or-f); }
#app .acc-visa .acc-panel-tag { margin: 0 0 6px; letter-spacing: .18em; }
#app .acc-visa h3 { margin: 0 0 14px; font-size: clamp(2rem, 1.5rem + 1.4vw, 2.5rem); color: var(--pm-encre); }
#app .acc-visa .acc-inclus { grid-template-columns: minmax(0, 1fr); gap: 0; }
#app .acc-visa .acc-inclus li { align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px dashed rgba(217, 180, 91, .5); font-size: .97rem; color: var(--pm-encre); }
#app .acc-visa .acc-inclus li:last-child { border-bottom: 0; }
#app .acc-visa .acc-v-puce { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--pm-or);
  box-shadow: inset 0 0 0 2px var(--pm-papier), inset 0 0 0 3px rgba(217, 180, 91, .32); }
#app .acc-visa .acc-inclus svg { width: 11px; height: 11px; margin: 0; padding: 0; border-radius: 0; background: none; stroke: var(--pm-or-f); stroke-width: 3; }
#app .acc-visa .acc-herite { margin: 20px 0 0; padding: 16px 0 0; border-radius: 0; background: none; border-top: 3px double var(--pm-fil-or); }
#app .acc-visa .acc-herite p { color: var(--pm-or-f); letter-spacing: .14em; font-size: .66rem; }
#app .acc-visa .acc-herite ul { color: var(--pm-gris); }
#app .acc-visa .acc-herite li { padding-left: 16px; }
#app .acc-visa .acc-herite li::before { left: 1px; top: .55em; width: 5px; height: 5px; border-radius: 0; background: none; border: 1px solid var(--pm-or); transform: rotate(45deg); }
/* page de droite */
#app .acc-visa .acc-achat { grid-area: a; display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 12px; min-width: 0;
  padding: 40px 34px 26px 30px; border: 0; background: linear-gradient(90deg, rgba(15, 27, 42, .06), rgba(15, 27, 42, 0) 22px); }
#app .acc-visa .acc-v-sceau { position: relative; display: grid; place-content: center; justify-items: center; gap: 6px; width: 206px; aspect-ratio: 1; margin: 0 auto 8px; text-align: center; }
#app .acc-visa .acc-v-sceau::before { content: ""; position: absolute; inset: 0; background: var(--pm-or-l); pointer-events: none;
  -webkit-mask: var(--pm-rosace) center / contain no-repeat; mask: var(--pm-rosace) center / contain no-repeat; }
#app .acc-visa .acc-v-prix { position: relative; font: 700 2.5rem/1 "Playfair Display", Georgia, serif; letter-spacing: -.01em; color: var(--pm-encre); white-space: nowrap; }
#app .acc-visa .acc-v-sceau small { position: relative; max-width: 112px; font: 600 .62rem/1.25 var(--f-body, "Inter", sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--pm-or-f); }
#app .acc-visa .acc-buy { --pm-b: var(--acc-cuir, #5b1726); --pm-fil: rgba(217, 180, 91, .7); --pm-px: #f0d391; width: 100%; min-width: 0; padding: 0 16px 0 20px; gap: 12px; font-size: .97rem; }
#app .acc-visa .acc-buy .acc-price { margin-left: auto; padding: 0 0 0 14px; border-radius: 0; background: none; font-size: 1.3rem; }
#app .acc-visa .acc-buy.in-cart { --pm-b: var(--pm-ok); --pm-fil: rgba(255, 255, 255, .45); --pm-px: #fff; }
#app .acc-visa .acc-fine { justify-content: center; text-align: center; font-size: .76rem; }
/* bande de lecture optique, en bas, sur toute la largeur (décor) */
#app .acc-visa .acc-v-mrz { grid-area: m; display: grid; gap: 1px; min-width: 0; margin: 0 13px 13px; padding: 13px 33px 12px; overflow: hidden;
  border-top: 1px solid var(--pm-fil-or); border-radius: 0 0 7px 7px; background: color-mix(in srgb, var(--pm-papier) 92%, #d9b45b);
  font: 500 .8rem/1.4 ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace; letter-spacing: .26em; color: color-mix(in srgb, var(--pm-encre) 56%, transparent); white-space: nowrap; }
#app .acc-visa .acc-v-mrz span { display: block; overflow: hidden;
  -webkit-mask: linear-gradient(90deg, #000 calc(100% - 3.5em), transparent); mask: linear-gradient(90deg, #000 calc(100% - 3.5em), transparent); }  /* jamais un « < » coupé net au bord */
/* au choix d'une formule : la rosace tourne et se pose */
@media (prefers-reduced-motion: no-preference) {
  #app .acc-visa.acc-entre .acc-v-sceau::before { animation: pm-rosace 1.3s cubic-bezier(.2, .8, .2, 1) both; }
  #app .acc-visa.acc-entre .acc-v-prix { animation: pm-pose .55s cubic-bezier(.2, .8, .2, 1) .12s both; }
}
@keyframes pm-rosace { from { transform: rotate(-50deg) scale(.92); opacity: .15; } to { transform: none; opacity: 1; } }
@keyframes pm-pose { from { transform: scale(1.12); opacity: 0; } to { transform: none; opacity: 1; } }

/* ======================================================================== 4. le guide en livret (eventail.js → T2W_eventail.livre)
   vu de trois quarts, en vraie 3D : couverture photo, bande à la couleur du pays, titre en relief, dos relié */
.lv { --lv-w: 150px; --lv-k: 1; --lv-e: calc(var(--lv-ep, 16px) * var(--lv-k)); position: relative; isolation: isolate; display: inline-grid; place-items: center;
  padding: 6px calc(var(--lv-w) * .12) calc(var(--lv-w) * .14) calc(var(--lv-w) * .18); perspective: 1100px; line-height: 1; }
.lv-s { --lv-w: 70px; --lv-k: .5; }
.lv-l { --lv-w: 176px; --lv-k: 1.15; }
.lv::after { content: ""; position: absolute; z-index: -1; left: 18%; right: 2%; bottom: calc(var(--lv-w) * .07); height: calc(var(--lv-w) * .12); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(15, 27, 42, .34), rgba(15, 27, 42, 0)); }
.lv-livre { position: relative; display: block; width: var(--lv-w); aspect-ratio: 5 / 7; transform-style: preserve-3d;
  transform: rotateY(26deg) rotateX(4deg); transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
.lv-couv { position: absolute; inset: 0; display: block; overflow: hidden; border-radius: 2px 6px 6px 2px; background: var(--lv-c, #1b2a3a);
  transform: translateZ(calc(var(--lv-e) / 2)); box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 6px 10px 22px -8px rgba(15, 27, 42, .45); }
.lv-couv > img:not(.lv-drap) { position: absolute; left: 0; top: 0; width: 100%; height: 62%; object-fit: cover; }
.lv-couv::before { content: ""; position: absolute; z-index: 2; left: calc(var(--lv-w) * .045); top: 0; bottom: 0; width: 2px;
  background: linear-gradient(90deg, rgba(0, 0, 0, .28), rgba(255, 255, 255, .2)); }
.lv-couv::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, .24) 0%, rgba(255, 255, 255, 0) 34%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, .08) 100%); }
.lv-couv .lv-drap { position: absolute; z-index: 1; top: calc(var(--lv-w) * .06); right: calc(var(--lv-w) * .06); width: calc(var(--lv-w) * .15); height: auto; aspect-ratio: 11 / 8;
  object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .85), 0 1px 3px rgba(0, 0, 0, .35); }
.lv-bande { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 38%; display: grid; align-content: center; justify-items: center; gap: calc(var(--lv-w) * .022);
  padding: calc(var(--lv-w) * .05) calc(var(--lv-w) * .06) calc(var(--lv-w) * .04) calc(var(--lv-w) * .1); text-align: center;
  background: color-mix(in srgb, var(--lv-c, #1b2a3a) 68%, #0b1220); border-top: 1px solid #d9b45b; }
.lv-bande::before { content: ""; position: absolute; left: calc(var(--lv-w) * .1); right: calc(var(--lv-w) * .06); top: 3px; border-top: 1px solid rgba(217, 180, 91, .45); }
.lv-k { font: 600 calc(var(--lv-w) * .05) / 1 "Inter", system-ui, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: #e6c77d; white-space: nowrap; }
.lv-titre { max-width: 100%; font: 700 calc(var(--lv-w) * .108) / 1.06 "Playfair Display", Georgia, serif; letter-spacing: .005em; color: #f6efe0; text-wrap: balance; overflow-wrap: normal;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .5), 0 -1px 0 rgba(255, 255, 255, .14); }
.lv-ed { margin-top: calc(var(--lv-w) * .04); font: 500 calc(var(--lv-w) * .046) / 1.2 "Inter", system-ui, sans-serif; letter-spacing: .03em; color: rgba(246, 239, 224, .85); white-space: nowrap; }
.lv-dos { position: absolute; left: 0; top: 0; width: var(--lv-e); height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between;
  padding: calc(var(--lv-w) * .07) 0 calc(var(--lv-w) * .05); overflow: hidden; border-radius: 2px 0 0 2px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--lv-c, #1b2a3a) 52%, #000), color-mix(in srgb, var(--lv-c, #1b2a3a) 74%, #000) 46%, color-mix(in srgb, var(--lv-c, #1b2a3a) 58%, #000));
  transform-origin: left center; transform: translateZ(calc(var(--lv-e) / -2)) rotateY(-90deg); }
.lv-dos i { writing-mode: vertical-rl; transform: rotate(180deg); font: 700 calc(var(--lv-w) * .062) / 1 "Playfair Display", Georgia, serif; font-style: normal; letter-spacing: .06em; color: #e6c77d; white-space: nowrap; }
.lv-dos b { font: 700 calc(var(--lv-w) * .036) / 1 "Inter", sans-serif; letter-spacing: .04em; color: rgba(230, 199, 125, .8); }
.lv-s .lv-k, .lv-s .lv-ed, .lv-s .lv-dos { visibility: hidden; }
.lv-s .lv-titre { font-size: 9px; }
@media (hover: hover) and (pointer: fine) {
  :is(.lv-carte, .pm-ticket, .pj-pw-offre):hover .lv-livre { transform: rotateY(14deg) rotateX(2deg) translateY(-5px); }
}

/* ======================================================================== 5. /offres : les 6 guides en livrets (offres.js → T2W_offresGuides) */
#app .of-guides .lv-carte { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  border: 1px solid var(--line, #e5e7eb); border-radius: 16px; background: var(--surface, #fff); color: var(--ink, #0f1b2a);
  box-shadow: 0 1px 2px rgba(15, 27, 42, .05); transition: box-shadow .35s ease, border-color .35s ease; }
@media (hover: hover) and (pointer: fine) {
  #app .of-guides .lv-carte:hover { border-color: var(--pm-fil-or); box-shadow: 0 1px 2px rgba(15, 27, 42, .05), 0 22px 44px -24px rgba(15, 27, 42, .32); }
}
#app .lv-scene { display: grid; place-items: center; padding: 26px 0 6px; border-bottom: 1px solid rgba(217, 180, 91, .45);
  background: radial-gradient(90% 80% at 50% 100%, #fff 0%, #f4f6f9 100%); }
#app .lv-corps { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 18px 22px 20px; }
#app .lv-corps small { font: 600 .66rem/1.2 var(--f-body, "Inter", sans-serif); letter-spacing: .2em; color: var(--pm-or-f); }
#app .lv-corps h3 { margin: 4px 0 10px; font: 700 1.75rem/1.08 "Playfair Display", Georgia, serif !important; letter-spacing: -.01em; color: var(--ink, #0f1b2a); }
#app .lv-inclus { flex: 1; display: grid; align-content: start; margin: 0 0 16px; padding: 0; list-style: none; }
#app .lv-inclus li { position: relative; margin: 0; padding: 8px 0 8px 26px; border-bottom: 1px dashed rgba(217, 180, 91, .45); font-size: .9rem; line-height: 1.4; color: var(--ink, #0f1b2a); }
#app .lv-inclus li:last-child { border-bottom: 0; }
#app .lv-inclus li::before { content: ""; position: absolute; left: 1px; top: calc(8px + .7em - 7px); width: 14px; height: 14px; box-sizing: border-box; border-radius: 50%;
  border: 1px solid var(--pm-or); background: radial-gradient(circle, var(--pm-or) 0 2px, transparent 2.6px); }
#app .lv-carte .pm-buy { width: 100%; }
#app .lv-carte .gd-secure { margin: 10px 0 0; text-align: center; }

/* ======================================================================== 6. pages pays : « Lisez la suite » dans un écrin (pays.js) */
#app .pj-pw { max-width: 46rem; margin-top: -1.6em; padding: 40px clamp(24px, 4.4vw, 52px) 34px; border: 1px solid var(--pm-fil-or); border-radius: 18px;
  background: var(--pm-papier); box-shadow: 0 1px 2px rgba(15, 27, 42, .05), 0 34px 70px -40px rgba(15, 27, 42, .42); }
#app .pj-pw-sceau { color: var(--pm-or-f); }
#app .pj-pw-sceau::before, #app .pj-pw-sceau::after { background: var(--pm-fil-or); }
#app .pj-pw-sceau span { border: 1px solid var(--pm-or); background: var(--pm-papier); box-shadow: inset 0 0 0 3px var(--pm-papier), inset 0 0 0 4px rgba(217, 180, 91, .4); }
#app .pj-pw-k { color: var(--pm-or-f); letter-spacing: .2em; }
#app .pj-pw-offre { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px 30px; text-align: left; }
#app .pj-pw-offre .pj-pw-livre { display: grid; place-items: center; }
#app .pj-pw-offre .pj-pw-l { margin-left: 0; }
#app .pj-pw-offre .pj-buy-pw { margin-left: 0; }
#app .pj-pw-offre .pj-pw-sur { margin-left: 0; }
#app .pj-pw .pj-buy-pw { width: 100%; max-width: 380px; min-height: 56px; font-size: 1.05rem; }
#app .pj-pw-som { margin: 32px 0 0; padding: 22px 0 6px; border-radius: 0; background: none; border-top: 3px double var(--pm-fil-or); }
#app .pj-pw-h3 { font-family: "Playfair Display", Georgia, serif !important; font-size: 1.35rem; }
#app .pj-pw .pj-ch { border-bottom: 1px dotted rgba(217, 180, 91, .7); }
#app .pj-pw .pj-ch-n { font: 700 .85rem/1 "Playfair Display", Georgia, serif; color: var(--pm-or-f); }
#app .pj-pw-plus { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
#app .pj-pw-plus > p { position: relative; display: block; min-height: 68px; padding: 14px 16px 14px 70px; border: 1px solid var(--pm-fil-or); border-radius: 12px; background: var(--surface, #fff); text-align: left; }
#app .pj-pw-plus > p::before { content: ""; position: absolute; left: 22px; top: 50%; translate: 0 -50%; }
#app .pj-pw-plus > .pj-pack::before { width: 24px; height: 34px; border-radius: 3px; background: #8e2f3c; transform: rotate(4deg);
  box-shadow: -8px 2px 0 -1px #1f5f7a, 8px 3px 0 -1px #c94d23, 0 4px 10px -4px rgba(15, 27, 42, .5); }
#app .pj-pw-plus > .pj-coach::before { width: 28px; height: 38px; left: 20px; border-radius: 3px 5px 5px 3px;
  background: radial-gradient(circle at 54% 44%, transparent 6px, #d9b45b 6.5px 7.6px, transparent 8.2px), linear-gradient(90deg, rgba(0, 0, 0, .3) 0 3px, rgba(255, 255, 255, .06) 4px, transparent 6px), #5b1726;
  box-shadow: inset 0 0 0 2px #5b1726, inset 0 0 0 3px rgba(217, 180, 91, .55), 0 4px 10px -4px rgba(15, 27, 42, .5); }
/* le bouton du haut de page et la barre du téléphone : même matière */
#app .pj-hero .pj-buy { min-height: 54px; }
#app .py-dock-buy { position: relative; box-shadow: inset 0 0 0 3px var(--orange, #c94d23), inset 0 0 0 4px rgba(255, 255, 255, .38), 0 6px 16px -8px rgba(15, 27, 42, .5); }
#app .py-dock-buy b { font-family: "Playfair Display", Georgia, serif; font-size: 1.15rem; }

/* ======================================================================== 7. /destinations : l'étiquette « Guide PDF » sur chaque photo (dest.js) */
#app .ds-buy { background: #fff; color: #0f1b2a; padding: 4px 4px 4px 16px; gap: 10px;
  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 4px rgba(217, 180, 91, .75), 0 8px 20px -8px rgba(0, 0, 0, .55); }
#app .ds-buy b { font: 700 1.12rem/1 "Playfair Display", Georgia, serif; color: #a83b17; }
#app .ds-buy i { background: var(--pm-orange); box-shadow: inset 0 0 0 2px var(--pm-orange), inset 0 0 0 3px rgba(255, 255, 255, .45); }
@media (hover: hover) and (pointer: fine) { #app .ds-buy:hover { transform: none; box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 4px var(--pm-or), 0 12px 26px -10px rgba(0, 0, 0, .6); } }
#app .ds-buy:active { transform: none; box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 4px var(--pm-or), 0 4px 10px -6px rgba(0, 0, 0, .5); }

/* ======================================================================== 8. Mon plan : « Pour aller plus vite » (prep.js, billets .pm-ticket) */
html #app .hv-ticket.pm-ticket { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "v k p" "v s s" "v t t" "v e e"; column-gap: 22px; align-items: center;
  padding: 24px 26px 22px 20px; border-radius: 16px !important; background: var(--pm-papier); }
html #app .hv-ticket.pm-ticket:not(.hv-ticket-hot) { border-color: var(--pm-fil-or) !important; }
html #app .pm-ticket .pm-visuel { grid-area: v; align-self: center; display: grid; place-items: center; }
html #app .pm-ticket .hv-tk-k { font-family: "Playfair Display", Georgia, serif; }
html #app .pm-ticket small { font-family: var(--f-body, "Inter", sans-serif); font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--pm-or-f); }
html #app .pm-ticket em { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding-bottom: 2px; border-bottom: 1px solid var(--pm-or); }
.pm-pp { position: relative; display: grid; justify-items: center; align-content: start; gap: 4px; width: 66px; aspect-ratio: 5 / 7; padding-top: 12px; box-sizing: border-box;
  border-radius: 4px 7px 7px 4px; background: linear-gradient(90deg, rgba(0, 0, 0, .3) 0, rgba(0, 0, 0, .08) 5px, rgba(255, 255, 255, .06) 6px, rgba(0, 0, 0, 0) 9px), #5b1726;
  color: #d9b45b; transform: rotate(-4deg); box-shadow: inset 0 0 0 4px #5b1726, inset 0 0 0 5px rgba(217, 180, 91, .5), 4px 8px 18px -8px rgba(15, 27, 42, .55); }
.pm-pp i { font: 700 6px/1 "Inter", sans-serif; font-style: normal; letter-spacing: .2em; text-transform: uppercase; }
.pm-pp svg { width: 30px; height: 30px; margin-top: 3px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; }

/* ======================================================================== 9. accueil : le dos des cartes orange (cartes-offre.css) */
#app .co-verso { border: 1px solid var(--pm-fil-or); background: var(--pm-papier); padding: 30px 30px 26px; }
#app .co-verso::after { inset: 10px; }
#app .co-verso .co-k { color: var(--pm-or-f); letter-spacing: .2em; }
#app .co-verso .co-prix { font-family: "Playfair Display", Georgia, serif; font-weight: 700; letter-spacing: -.01em; }
#app .co-verso .co-liste > span { border-bottom: 1px dashed rgba(217, 180, 91, .55); }
#app .co-verso .co-badge { background: none; border: 1px solid var(--pm-fil-or); color: var(--pm-or-f); }
#app .co-verso .co-go { width: 100%; }

/* ======================================================================== mode sombre */
html[data-theme=dark] #app .lv-scene { background: radial-gradient(90% 80% at 50% 100%, #1a2433 0%, #111a24 100%); border-color: rgba(217, 180, 91, .3); }
html[data-theme=dark] #app .of-guides .lv-carte { background: var(--surface, #111a24); border-color: var(--line, #223042); }
html[data-theme=dark] #app .lv-corps h3 { color: #f2f5f8; }
html[data-theme=dark] #app .lv-inclus li { color: #dbe2ea; border-color: rgba(217, 180, 91, .3); }
html[data-theme=dark] .lv::after { background: radial-gradient(closest-side, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); }
html[data-theme=dark] #app .acc-visa[data-plan=premium] { --acc-cuir: #1f3b6b; }
html[data-theme=dark] #app .acc-visa .acc-inclus li { border-color: rgba(217, 180, 91, .3); }
html[data-theme=dark] #app .acc-visa .acc-panel-corps { background: linear-gradient(270deg, rgba(0, 0, 0, .22), rgba(0, 0, 0, 0) 28px); }
html[data-theme=dark] #app .acc-visa .acc-achat { background: linear-gradient(90deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0) 28px); }
html[data-theme=dark] #app .acc-visa .acc-v-mrz { background: color-mix(in srgb, var(--pm-papier) 90%, #d9b45b); }
html[data-theme=dark] #app .pj-pw-plus > p { background: #182333; }
html[data-theme=dark] #app .pj-col .pj-buy:not(.in-cart), html[data-theme=dark] #app .pj-hero .pj-buy:not(.in-cart) { color: #fff !important; }
html[data-theme=dark] #app .ds-buy { background: #fff; color: #0f1b2a; }
html[data-theme=dark] #app .co-verso .co-prix, html[data-theme=dark] #app .co-verso .co-liste b { color: #f2f5f8; }

/* ======================================================================== téléphone */
@media (max-width: 760px) {
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) { width: 100%; max-width: none; }
  #app :is(.of-pack, .ds-pev, .hv-pack) { padding: 30px 24px 26px !important; }
  #app :is(.acc-visa, .of-pack, .ds-pev, .hv-pack, .pj-pw, .co-verso)::after { inset: 9px; }
  /* page visa : une seule page, le pli devient horizontal */
  #app .acc-panel.acc-visa { grid-template-columns: minmax(0, 1fr); grid-template-areas: "c" "a" "m"; border-radius: 12px; }
  #app .acc-visa .acc-panel-corps { padding: 30px 24px 18px 26px; background: none; }
  #app .acc-visa .acc-v-tete { font-size: .56rem; letter-spacing: .16em; margin-bottom: 16px; }
  #app .acc-visa h3 { font-size: 1.9rem; }
  #app .acc-visa .acc-inclus li { font-size: .92rem; gap: 12px; padding: 10px 0; }
  #app .acc-visa .acc-achat { padding: 24px 24px 20px; background: linear-gradient(180deg, rgba(15, 27, 42, .07), rgba(15, 27, 42, 0) 24px); }
  #app .acc-visa .acc-v-sceau { width: 156px; margin-bottom: 4px; gap: 4px; }
  #app .acc-visa .acc-v-prix { font-size: 1.95rem; }
  #app .acc-visa .acc-v-sceau small { max-width: 84px; font-size: .52rem; letter-spacing: .12em; }
  #app .acc-visa .acc-v-mrz { margin: 0 10px 10px; padding: 11px 16px 10px; font-size: .62rem; letter-spacing: .16em; }
  /* guides : livret à gauche, texte à droite */
  #app .of-guides .lv-carte { flex-direction: row; }
  #app .of-guides .lv-scene { flex: none; width: 102px; padding: 18px 0 0; align-content: start; border-bottom: 0; border-right: 1px solid rgba(217, 180, 91, .45); }
  #app .of-guides .lv-scene .lv { --lv-w: 72px; --lv-k: .5; padding-left: 12px; padding-right: 6px; }
  #app .of-guides .lv-scene .lv-k, #app .of-guides .lv-scene .lv-ed { visibility: hidden; }
  #app .of-guides .lv-scene .lv-titre { font-size: 9px; }
  #app .of-guides .lv-corps { padding: 16px 14px 14px 16px; }
  #app .lv-corps h3 { font-size: 1.45rem; margin-bottom: 6px; }
  #app .lv-inclus li { font-size: .82rem; padding: 6px 0 6px 22px; }
  #app .lv-inclus li::before { width: 12px; height: 12px; top: calc(6px + .7em - 6px); }
  #app .lv-carte .pm-buy { min-height: 50px; padding: 0 12px 0 14px; gap: 10px; font-size: .9rem; }
  #app .lv-carte .pm-buy > b { padding-left: 10px; font-size: 1.12rem; }
  #app .lv-carte .gd-secure { font-size: .68rem; line-height: 1.35; }
  /* pays */
  #app .pj-pw { margin-top: -1.2em; padding: 30px 22px 26px; }
  #app .pj-pw-offre { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; }
  #app .pj-pw-offre .pj-pw-livre .lv { --lv-w: 120px; --lv-k: .8; }
  #app .pj-pw-offre .pj-pw-l, #app .pj-pw-offre .pj-pw-sur { margin-left: auto; margin-right: auto; }
  #app .pj-pw .pj-buy-pw { max-width: none; }
  #app .pj-pw-som { margin-left: 0; margin-right: 0; padding: 18px 0 4px; }
  #app .pj-pw-plus { grid-template-columns: minmax(0, 1fr); }
  /* destinations : l'étiquette reste compacte (elle ne touche pas « Voir le pays → ») */
  #app .ds-buy { padding-left: 12px; gap: 6px; font-size: .76rem; }
  #app .ds-buy b { font-size: 1rem; }
  #app .ds-buy i { width: 34px; height: 34px; }
  /* Mon plan */
  html #app .hv-ticket.pm-ticket { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "v k" "v p" "s s" "t t" "e e"; column-gap: 16px; padding: 20px 20px 18px; }
  /* accueil */
  #app .co-verso { padding: 26px 24px 22px; }
}
@media (max-width: 360px) {
  #app .acc-visa .acc-v-sceau { width: 148px; }
  #app .acc-visa .acc-v-prix { font-size: 1.85rem; }
  #app .of-guides .lv-scene { width: 92px; }
  #app .of-guides .lv-scene .lv { --lv-w: 64px; --lv-k: .45; }
  #app .lv-carte .pm-buy { font-size: .84rem; }
}

/* ======================================================================== mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  .lv-livre, #app .of-guides .lv-carte { transition: none; }
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) { transition: none; }
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go)::after { display: none; }
  :is(.lv-carte, .pm-ticket, .pj-pw-offre):hover .lv-livre { transform: rotateY(26deg) rotateX(4deg); }
}
@media print { .lv-livre { transform: none; } }

/* ======================================================================== contrôle qualité (17 oct.) : corrections relevées à 320-390 px et en sombre */
/* cadenas « Paiement sécurisé » : collé au début du texte, même quand la phrase passe sur deux lignes */
#app :is(.acc-visa .acc-fine, .lv-carte .gd-secure) { display: block; text-align: center; }
#app :is(.acc-visa .acc-fine, .lv-carte .gd-secure) svg { display: inline-block; width: 12px; height: 12px; margin: 0 6px 0 0; vertical-align: -1px; }
#app .acc-visa .acc-fine > span { display: inline; }
/* dos des cartes de l'accueil : « le pays », « dès » et l'ancien prix barré restent lisibles (AA) en clair comme en sombre */
#app .co-verso .co-prix small, #app .co-verso s { color: var(--pm-gris); }
/* sommaire des pages pays : chiffres alignés (Playfair dessine « 01 » comme « o1 » sinon) */
#app .pj-pw .pj-ch-n { font-variant-numeric: lining-nums tabular-nums; }
/* /destinations : l'étiquette devient une petite étiquette de prix sur deux lignes (« GUIDE PDF » au-dessus du prix),
   plus étroite : elle ne recouvre plus « Voir le pays → » sur les cartes étroites (320-360 px, tablette 1024 px) */
#app .ds-buy { display: inline-grid; grid-template-columns: auto auto; column-gap: 10px; row-gap: 3px; align-items: center; padding: 6px 4px 6px 15px; text-align: left; }
#app .ds-buy > span { grid-column: 1; grid-row: 1; align-self: end; font: 700 .62rem/1 var(--f-body, "Inter", system-ui, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: #8a6a1f; }
#app .ds-buy > b { grid-column: 1; grid-row: 2; align-self: start; }
#app .ds-buy > i { grid-column: 2; grid-row: 1 / span 2; }
#app .ds-buy.in-cart > span::before { font-size: .62rem; }
@media (max-width: 760px) {
  /* Mon plan : « L'accompagnement » ne déborde plus du billet à 360 px */
  html #app .pm-ticket .hv-tk-k { font-size: min(1.65rem, 5.6vw); overflow-wrap: break-word; }
}
@media (max-width: 340px) {
  #app .ds-buy { padding-left: 11px; column-gap: 6px; }
  #app .ds-buy i { width: 30px; height: 30px; }
}
/* Mon plan, tablette et petit portable (761-1279 px) : le billet est trop étroit pour « L'accompagnement » et « dès 49 € » sur une ligne,
   le prix passe sous le titre (sinon les deux se chevauchent vers 1024 px) */
@media (min-width: 761px) and (max-width: 1279px) {
  html #app .hv-ticket.pm-ticket { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "v k" "v p" "v s" "v t" "v e"; }
  html #app .pm-ticket .hv-tk-p { justify-self: start; }
}
/* très petits écrans (320-340 px) : le libellé des boutons d'achat peut passer sur deux lignes au lieu d'être rogné ; le prix reste entier */
@media (max-width: 340px) {
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) { white-space: normal; text-align: left; line-height: 1.15; padding-top: 8px; padding-bottom: 8px; }
  #app :is(.pm-buy, .acc-visa .acc-buy, .of-pack .gd-buy, .pj-col .pj-buy, .pj-hero .pj-buy, .ds-pev .ds-pack-buy, .hv-pack .co-go, .co-verso .co-go) > b { white-space: nowrap; }
  #app :is(.hv-pack .co-go, .co-verso .co-go, .pj-hero .pj-buy, .pj-col .pj-buy) { text-align: center; }
}
html #app .pm-ticket .hv-tk-k { text-wrap: balance; }
/* /offres, bouton du pack : le « ✓ » d'état « dans le panier » (offres.css) avait été retiré avec l'ancienne icône ; il revient, en blanc sur le vert */
#app .of-pack .gd-buy.in-cart .lbl::after { content: "\00a0✓"; color: #fff; }
