{"id":3377,"date":"2026-04-21T10:55:59","date_gmt":"2026-04-21T08:55:59","guid":{"rendered":"https:\/\/events.circuitpaulricard.com\/?page_id=3377"},"modified":"2026-04-30T11:30:40","modified_gmt":"2026-04-30T09:30:40","slug":"plv","status":"publish","type":"page","link":"https:\/\/events.circuitpaulricard.com\/en\/plv\/","title":{"rendered":"PLV"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3377\" class=\"elementor elementor-3377\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d36f8f2 e-con-full e-flex magic-button-disabled-no wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"d36f8f2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-25ac0d3 e-con-full e-flex magic-button-disabled-no wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"25ac0d3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a3164d6 elementor-widget elementor-widget-heading\" data-id=\"a3164d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">PLV<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d9ba9e9 e-flex e-con-boxed magic-button-disabled-no wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"d9ba9e9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38cd198 elementor-widget elementor-widget-html\" data-id=\"38cd198\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');\n*{box-sizing:border-box;margin:0;padding:0;}\n.plv-wrap{font-family:'Montserrat',sans-serif;background:#fff;color:#1A1A18;width:100%;}\n\n\/* TOOLBAR *\/\n.plv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:28px;}\n.plv-toolbar-left{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}\n.plv-filter-bar{display:flex;gap:4px;flex-wrap:wrap;}\n.plv-btn{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;background:transparent;color:#9A9A92;border:1px solid #D8D6D0;padding:9px 16px;cursor:pointer;border-radius:0;display:flex;align-items:center;gap:7px;transition:all .18s ease;}\n.plv-btn:hover{color:#1A1A18;border-color:#1A1A18;}\n.plv-btn.active{background:#1A1A18;color:#fff;border-color:#1A1A18;}\n.plv-btn .plv-cnt{font-size:9px;padding:1px 6px;border-radius:10px;background:rgba(26,26,24,0.08);color:#9A9A92;}\n.plv-btn.active .plv-cnt{background:rgba(255,255,255,0.18);color:rgba(255,255,255,0.7);}\n\n\/* Bouton \u00e9diteur *\/\n.plv-edit-toggle{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;background:#C8102E;color:#fff;border:none;padding:9px 14px;cursor:pointer;display:none !important;align-items:center;gap:7px;transition:background .2s;border-radius:0;}\n.plv-edit-toggle:hover{background:#a50d26;}\n.plv-edit-toggle.cpr-editor-visible{display:flex !important;}\n\n.plv-contact-btn{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;background:#1A1A18;color:#fff;border:none;padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:7px;transition:background .2s;text-decoration:none;white-space:nowrap;}\n.plv-contact-btn:hover{background:#333;}\n\n\/* D\u00c9LAI *\/\n.plv-deadline{display:inline-flex;align-items:center;gap:6px;background:#1A1A18;color:#fff;font-size:8px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:5px 10px;margin-bottom:20px;}\n\n\/* GRILLE *\/\n.plv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}\n@media(max-width:900px){.plv-grid{grid-template-columns:repeat(2,1fr);}}\n@media(max-width:500px){.plv-grid{grid-template-columns:1fr;}}\n\n\/* CARTE *\/\n.plv-card{background:#fff;border:1px solid #E8E6E0;display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;position:relative;}\n.plv-card:hover{border-color:#1A1A18;box-shadow:0 4px 24px rgba(26,26,24,0.08);}\n.plv-card-img{width:100%;aspect-ratio:4\/3;overflow:hidden;background:#F2F0EB;position:relative;flex-shrink:0;}\n.plv-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block;}\n.plv-card:hover .plv-card-img img{transform:scale(1.04);}\n.plv-card-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#F2F0EB;}\n.plv-card-placeholder span{font-size:8px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#B0AEA8;}\n.plv-card-badge{position:absolute;top:10px;left:10px;font-size:8px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#fff;padding:4px 8px;}\n.plv-card-footer{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #F0EEE8;}\n.plv-card-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#1A1A18;line-height:1.3;}\n.plv-card-open{flex-shrink:0;width:26px;height:26px;border:1px solid #D8D6D0;display:flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s;}\n.plv-card:hover .plv-card-open{background:#1A1A18;border-color:#1A1A18;}\n.plv-card:hover .plv-card-open svg path{stroke:#fff;}\n\n\/* Boutons \u00e9dition sur carte *\/\n.plv-card-actions{position:absolute;top:8px;right:8px;display:none;gap:4px;z-index:3;}\n.plv-editing .plv-card-actions{display:flex;}\n.plv-card-action-btn{width:28px;height:28px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:opacity .15s;}\n.plv-card-action-btn:hover{opacity:.8;}\n.plv-card-action-btn.edit{background:#1A1A18;}\n.plv-card-action-btn.del{background:#C8102E;}\n\n\/* VIDE *\/\n.plv-empty{grid-column:1\/-1;padding:56px;text-align:center;font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#C0BEB8;background:#fff;border:1px solid #E8E6E0;}\n\n\/* ---- POPUP D\u00c9TAIL ---- *\/\n.plv-popup-overlay{display:none;position:fixed;inset:0;background:rgba(26,26,24,0.6);z-index:9997;align-items:center;justify-content:center;padding:24px;}\n.plv-popup-overlay.open{display:flex;}\n.plv-popup{background:#fff;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;position:relative;}\n.plv-popup-img-wrap{width:100%;aspect-ratio:16\/9;overflow:hidden;background:#F2F0EB;flex-shrink:0;}\n.plv-popup-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}\n.plv-popup-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#F2F0EB;}\n.plv-popup-body{padding:28px 32px 32px;}\n.plv-popup-zone{font-size:9px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px;}\n.plv-popup-zone::before{content:'';display:block;width:16px;height:1px;background:currentColor;flex-shrink:0;}\n.plv-popup-title{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#1A1A18;margin-bottom:16px;line-height:1.2;}\n.plv-popup-dim-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:0.5px solid rgba(26,26,24,0.1);}\n.plv-popup-dim-label{font-size:8px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#9A9A92;}\n.plv-popup-dim-val{font-size:12px;font-weight:600;color:#1A1A18;}\n.plv-popup-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}\n.plv-popup-tag{font-size:9px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;border:0.5px solid rgba(26,26,24,0.2);color:#6B6B65;padding:4px 9px;}\n.plv-popup-desc{font-size:12px;font-weight:300;color:#6B6B65;line-height:1.8;margin-bottom:20px;}\n.plv-popup-deadline{display:inline-flex;align-items:center;gap:6px;background:#1A1A18;color:#fff;font-size:8px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:5px 10px;margin-bottom:20px;}\n.plv-popup-cta{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;background:#C8102E;color:#fff;padding:12px 20px;text-decoration:none;transition:background .2s;}\n.plv-popup-cta:hover{background:#a50d26;}\n.plv-popup-close{position:absolute;top:12px;right:12px;width:30px;height:30px;background:#1A1A18;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;}\n.plv-popup-close:hover{background:#C8102E;}\n\n\/* ---- PANNEAU \u00c9DITEUR ---- *\/\n.plv-panel-overlay{display:none;position:fixed;inset:0;background:rgba(26,26,24,0.55);z-index:9998;backdrop-filter:blur(2px);}\n.plv-panel-overlay.open{display:block;}\n.plv-panel{position:fixed;top:0;right:-460px;width:420px;height:100vh;background:#fff;z-index:9999;overflow-y:auto;transition:right .3s cubic-bezier(0.22,1,0.36,1);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(26,26,24,0.15);font-family:'Montserrat',sans-serif;}\n.plv-panel.open{right:0;}\n.plv-panel-header{padding:22px 26px 18px;border-bottom:1px solid #F0EEE8;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2;}\n.plv-panel-title{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#1A1A18;}\n.plv-panel-close{width:30px;height:30px;background:none;border:1px solid #E8E6E0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}\n.plv-panel-close:hover{background:#1A1A18;}\n.plv-panel-close:hover svg line{stroke:#fff;}\n.plv-panel-body{padding:26px;flex:1;}\n\n\/* Form *\/\n.plv-fg{margin-bottom:16px;}\n.plv-fl{display:block;font-size:9px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#9A9A92;margin-bottom:7px;}\n.plv-fi,.plv-fs,.plv-fta{font-family:'Montserrat',sans-serif !important;font-size:11px !important;color:#1A1A18 !important;background:#fff !important;border:1px solid #D8D6D0 !important;padding:9px 13px !important;width:100% !important;outline:none !important;border-radius:0 !important;box-shadow:none !important;-webkit-appearance:none !important;appearance:none !important;transition:border-color .18s !important;}\n.plv-fi:focus,.plv-fs:focus,.plv-fta:focus{border-color:#1A1A18 !important;}\n.plv-fi::placeholder,.plv-fta::placeholder{color:#C0BEB8 !important;font-style:italic !important;}\n.plv-fta{resize:vertical;min-height:80px;}\n.plv-fhint{font-size:9px;color:#B0AEA8;margin-top:4px;font-style:italic;}\n\n\/* Preview photo *\/\n.plv-photo-preview{width:100%;height:100px;background:#F2F0EB;overflow:hidden;margin-top:8px;display:none;}\n.plv-photo-preview img{width:100%;height:100%;object-fit:cover;display:block;}\n.plv-photo-preview.visible{display:block;}\n\n\/* Tags input *\/\n.plv-fhint-tags{font-size:9px;color:#B0AEA8;margin-top:4px;font-style:italic;}\n\n\/* Actions form *\/\n.plv-form-actions{display:flex;gap:8px;margin-top:22px;}\n.plv-btn-save{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;background:#1A1A18;color:#fff;border:none;padding:12px 22px;cursor:pointer;flex:1;transition:background .2s;}\n.plv-btn-save:hover{background:#333;}\n.plv-btn-cancel{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;background:transparent;color:#9A9A92;border:1px solid #D8D6D0;padding:12px 18px;cursor:pointer;transition:all .2s;}\n.plv-btn-cancel:hover{color:#1A1A18;border-color:#1A1A18;}\n\n.plv-status{font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:10px 13px;margin-top:14px;display:none;}\n.plv-status.success{background:rgba(42,122,74,0.1);color:#2A7A4A;display:block;}\n.plv-status.error{background:rgba(200,16,46,0.1);color:#C8102E;display:block;}\n.plv-sep{border:none;border-top:1px solid #F0EEE8;margin:22px 0;}\n\n\/* Liste panneau *\/\n.plv-panel-list{display:flex;flex-direction:column;gap:6px;}\n.plv-pitem{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #E8E6E0;transition:border-color .15s;}\n.plv-pitem:hover{border-color:#C0BEB8;}\n.plv-pitem-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}\n.plv-pitem-info{flex:1;min-width:0;}\n.plv-pitem-name{font-size:11px;font-weight:600;color:#1A1A18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:0.06em;}\n.plv-pitem-cat{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:#9A9A92;margin-top:2px;}\n.plv-pitem-actions{display:flex;gap:4px;flex-shrink:0;}\n.plv-pitem-btn{width:26px;height:26px;border:1px solid #E8E6E0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}\n.plv-pitem-btn:hover{background:#1A1A18;border-color:#1A1A18;}\n.plv-pitem-btn:hover svg *{stroke:#fff;}\n.plv-pitem-btn.del:hover{background:#C8102E;border-color:#C8102E;}\n\n\/* INFOS GRAPHISTE *\/\n.plv-info-band{margin-top:40px;background:#FFFFFF;border-top:2px solid #1A1A18;padding:32px 0 0;}\n.plv-info-title{font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#C8102E;margin-bottom:20px;display:flex;align-items:center;gap:10px;}\n.plv-info-title::before{content:'';display:block;width:20px;height:1px;background:#C8102E;}\n.plv-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,26,24,0.1);}\n@media(max-width:700px){.plv-info-grid{grid-template-columns:1fr;}}\n.plv-info-item{background:#FFFFFF;padding:20px 22px;}\n.plv-info-item-title{font-size:9px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#1A1A18;margin-bottom:8px;}\n.plv-info-item-text{font-size:11px;font-weight:300;color:#6B6B65;line-height:1.75;}\n.plv-info-item-text strong{font-weight:600;color:#1A1A18;}\n<\/style>\n\n<!-- POPUP D\u00c9TAIL -->\n<div class=\"plv-popup-overlay\" id=\"plv-popup-overlay\">\n  <div class=\"plv-popup\" id=\"plv-popup\">\n    <div class=\"plv-popup-img-wrap\" id=\"plv-popup-img\"><\/div>\n    <button class=\"plv-popup-close\" id=\"plv-popup-close\">\n      <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><line x1=\"1\" y1=\"1\" x2=\"11\" y2=\"11\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><line x1=\"11\" y1=\"1\" x2=\"1\" y2=\"11\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><\/svg>\n    <\/button>\n    <div class=\"plv-popup-body\">\n      <div class=\"plv-popup-zone\" id=\"plv-popup-zone\"><\/div>\n      <div class=\"plv-popup-title\" id=\"plv-popup-title\"><\/div>\n      <div class=\"plv-popup-deadline\">\n        <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><circle cx=\"5\" cy=\"5\" r=\"4\" stroke=\"#fff\" stroke-width=\"0.9\"\/><path d=\"M5 3V5L6.5 6.5\" stroke=\"#fff\" stroke-width=\"0.9\" stroke-linecap=\"round\"\/><\/svg>\n        Fichiers \u00e0 envoyer J\u221211 avant l'\u00e9v\u00e9nement\n      <\/div>\n      <div class=\"plv-popup-dim-row\">\n        <span class=\"plv-popup-dim-label\">Dimensions<\/span>\n        <span class=\"plv-popup-dim-val\" id=\"plv-popup-dim\"><\/span>\n      <\/div>\n      <div class=\"plv-popup-tags\" id=\"plv-popup-tags\"><\/div>\n      <div class=\"plv-popup-desc\" id=\"plv-popup-desc\"><\/div>\n      <a class=\"plv-popup-cta\" href=\"mailto:plv@circuitpaulricard.com\">\n        <svg width=\"11\" height=\"11\" viewBox=\"0 0 11 11\" fill=\"none\"><rect x=\"1\" y=\"2.5\" width=\"9\" height=\"6\" rx=\"0.5\" stroke=\"#fff\" stroke-width=\"0.9\"\/><path d=\"M1 3.5 L5.5 6.5 L10 3.5\" stroke=\"#fff\" stroke-width=\"0.9\" stroke-linecap=\"round\"\/><\/svg>\n        Commander ce support\n      <\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- PANNEAU \u00c9DITEUR (inject\u00e9 dynamiquement) -->\n<div id=\"plv-panel-mount\"><\/div>\n\n<!-- WIDGET -->\n<div class=\"plv-wrap\" id=\"plv-root\">\n  <div class=\"plv-toolbar\">\n    <div class=\"plv-toolbar-left\">\n      <div class=\"plv-filter-bar\" id=\"plv-filter-bar\">\n        <button class=\"plv-btn active\" data-cat=\"all\">Tous <span class=\"plv-cnt\" id=\"plv-cnt-all\">0<\/span><\/button>\n        <button class=\"plv-btn\" data-cat=\"acces\">Voies d'acc\u00e8s <span class=\"plv-cnt\" id=\"plv-cnt-acces\">0<\/span><\/button>\n        <button class=\"plv-btn\" data-cat=\"pitbuilding\">Pit Building <span class=\"plv-cnt\" id=\"plv-cnt-pitbuilding\">0<\/span><\/button>\n        <button class=\"plv-btn\" data-cat=\"piste\">Sur la piste <span class=\"plv-cnt\" id=\"plv-cnt-piste\">0<\/span><\/button>\n        <button class=\"plv-btn\" data-cat=\"autres\">Autres lieux <span class=\"plv-cnt\" id=\"plv-cnt-autres\">0<\/span><\/button>\n      <\/div>\n      <button class=\"plv-edit-toggle\" id=\"plv-edit-toggle\">\n        <svg width=\"11\" height=\"11\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M8.5 1.5 L10.5 3.5 L4 10 L1.5 10.5 L2 8 Z\" stroke=\"#fff\" stroke-width=\"1\" fill=\"none\" stroke-linejoin=\"round\"\/><\/svg>\n        G\u00e9rer les supports\n      <\/button>\n    <\/div>\n    <a class=\"plv-contact-btn\" href=\"mailto:plv@circuitpaulricard.com\">\n      <svg width=\"11\" height=\"11\" viewBox=\"0 0 11 11\" fill=\"none\"><rect x=\"1\" y=\"2.5\" width=\"9\" height=\"6\" rx=\"0.5\" stroke=\"#fff\" stroke-width=\"0.9\"\/><path d=\"M1 3.5 L5.5 6.5 L10 3.5\" stroke=\"#fff\" stroke-width=\"0.9\" stroke-linecap=\"round\"\/><\/svg>\n      plv@circuitpaulricard.com\n    <\/a>\n  <\/div>\n\n  <div class=\"plv-deadline\">\n    <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><circle cx=\"5\" cy=\"5\" r=\"4\" stroke=\"#fff\" stroke-width=\"0.9\"\/><path d=\"M5 3V5L6.5 6.5\" stroke=\"#fff\" stroke-width=\"0.9\" stroke-linecap=\"round\"\/><\/svg>\n    Fichiers \u00e0 envoyer J\u221211 avant l'\u00e9v\u00e9nement\n  <\/div>\n\n  <div class=\"plv-grid\" id=\"plv-grid\"><\/div>\n\n  <div class=\"plv-info-band\">\n    <div class=\"plv-info-title\">Infos graphiste<\/div>\n    <div class=\"plv-info-grid\">\n      <div class=\"plv-info-item\">\n        <div class=\"plv-info-item-title\">Formats accept\u00e9s<\/div>\n        <p class=\"plv-info-item-text\"><strong>Adobe PDF<\/strong> ou <strong>JPEG<\/strong> uniquement. PDF non prot\u00e9g\u00e9, page unique. Format recommand\u00e9 : <strong>PDF\/X-1a 2001<\/strong>. Poids max : <strong>100 Mo<\/strong>.<\/p>\n      <\/div>\n      <div class=\"plv-info-item\">\n        <div class=\"plv-info-item-title\">Technique<\/div>\n        <p class=\"plv-info-item-text\">Colorim\u00e9trie <strong>CMJN<\/strong> obligatoire (RVB refus\u00e9). R\u00e9solution minimum <strong>100 dpi<\/strong> \u00e0 taille r\u00e9elle. Polices vectoris\u00e9es, images incorpor\u00e9es, sans traits de coupe.<\/p>\n      <\/div>\n      <div class=\"plv-info-item\">\n        <div class=\"plv-info-item-title\">D\u00e9lais & stockage<\/div>\n        <p class=\"plv-info-item-text\">Fichiers \u00e0 transmettre <strong>J\u221211<\/strong> avant l'\u00e9v\u00e9nement. Pass\u00e9 ce d\u00e9lai, majoration tarifaire. <strong>Stockage gratuit<\/strong> pour r\u00e9utilisation (panneaux, b\u00e2ches).<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n\nvar API_BASE = '\/wp-json\/cpr\/v1\/plv';\n\nvar DEFAULT = [\n  {cat:'acces',      name:'Welcome Panel',           dim:'250 \u00d7 85 cm',         tags:['Welcome Center'],                       photo:'', desc:'Panneau d\\'accueil positionn\u00e9 dans le Welcome Center.'},\n  {cat:'acces',      name:'Welcome Totem',            dim:'135 \u00d7 300 cm',        tags:['Welcome Center'],                       photo:'', desc:'Totem vertical visible de loin d\u00e8s l\\'entr\u00e9e du Welcome Center.'},\n  {cat:'acces',      name:'Main Entrance Billboard',  dim:'620 \u00d7 255 cm',        tags:['Entr\u00e9e principale'],                    photo:'', desc:'Grand billboard \u00e0 l\\'entr\u00e9e principale du circuit.'},\n  {cat:'acces',      name:'Main Road Billboards',     dim:'297 \u00d7 111 cm',        tags:['Voie principale','1 \u00e0 21 panneaux'],    photo:'', desc:'S\u00e9rie de panneaux le long de la voie principale. Partenariats Audi et Richard Mille recouvrables.'},\n  {cat:'acces',      name:'Directional Totems \u00d73',    dim:'105 \u00d7 150 cm',        tags:['Signal\u00e9tique directionnelle'],          photo:'', desc:'Totems directionnels pour guider les participants vers les diff\u00e9rentes zones du circuit.'},\n  {cat:'acces',      name:'Flags',                    dim:'225 \u00d7 150 cm',        tags:['Paddock \u00d710','Entr\u00e9e \u00d75','Pit \u00d76'],    photo:'', desc:'Drapeaux disponibles sur plusieurs zones. Impression traversante. R\u00e9installation offerte.'},\n  {cat:'acces',      name:'The Movable Cube',         dim:'Cube 5 faces',        tags:['Pitlane','Paddock','Karting'],          photo:'', desc:'Cube mobile personnalisable sur 2 \u00e0 5 faces.'},\n  {cat:'acces',      name:'Movable Totems \u00d76',        dim:'99 \u00d7 199 cm',         tags:['Recto','Recto \/ Verso'],               photo:'', desc:'6 totems mobiles disponibles en recto ou recto\/verso.'},\n  {cat:'acces',      name:'Beach Flags 4m',           dim:'330 \u00d7 70 cm',         tags:['Impression traversante'],              photo:'', desc:'Beach flags 4m \u00e0 impression traversante.'},\n  {cat:'pitbuilding',name:'Sas Pit Building',         dim:'42 m\u00b2 \u2014 5 vitres',    tags:['Vinyle adh\u00e9sif'],                      photo:'', desc:'Habillage des 5 vitres du sas d\\'entr\u00e9e du Pit Building.'},\n  {cat:'pitbuilding',name:'One Way Vision',           dim:'42 m\u00b2 \u2014 13 vitres',   tags:['Vinyle perfor\u00e9'],                      photo:'', desc:'Habillage One Way Vision des 13 vitres du Pit Building.'},\n  {cat:'pitbuilding',name:'B\u00e2che Fa\u00e7ade XXL',         dim:'3,76 \u00d7 10,70 m',      tags:['Fa\u00e7ade ext\u00e9rieure'],                   photo:'', desc:'Grande b\u00e2che XXL sur la fa\u00e7ade principale du Pit Building.'},\n  {cat:'pitbuilding',name:'Hall Banner',              dim:'500 \u00d7 50 cm',         tags:['Hall int\u00e9rieur'],                      photo:'', desc:'Bandeau horizontal dans le hall int\u00e9rieur du Pit Building.'},\n  {cat:'pitbuilding',name:'Photocall',                dim:'240 \u00d7 200 cm',        tags:['Hall','Media Center','Salle Rouge'],   photo:'', desc:'Structure photocall recto ou recto\/verso.'},\n  {cat:'pitbuilding',name:'Hall Wall',                dim:'480 \u2192 1 440 \u00d7 220 cm',tags:['Cloison modulable'],                   photo:'', desc:'Cloison modulable, recto visuel, verso coton gratt\u00e9.'},\n  {cat:'pitbuilding',name:'Hospitality Doors',        dim:'95 \u00d7 205 cm',         tags:['2 portes \/ loge'],                     photo:'', desc:'Habillage des portes de loges. 2 portes disponibles par loge.'},\n  {cat:'pitbuilding',name:'Tapisserie Loges',         dim:'610 \u00d7 225 cm',        tags:['Loges 1\u20136, 9\u201312'],                    photo:'', desc:'Tapisserie murale pour les loges standard.'},\n  {cat:'pitbuilding',name:'Loges 7 & 8 \u2014 Free Wall',  dim:'400 \u00d7 220 cm',       tags:['1 face visible'],                      photo:'', desc:'Mur libre des loges 7 et 8.'},\n  {cat:'pitbuilding',name:'Banner Terrasse Loges',    dim:'15,60 \u00d7 1,70 m',      tags:['2 faces','Rambarde principale'],       photo:'', desc:'B\u00e2che pli\u00e9e sur la rambarde des terrasses, visible depuis la piste.'},\n  {cat:'pitbuilding',name:'Box Access Paddock',       dim:'250 \u00d7 56 cm',         tags:['2 panneaux \/ box'],                    photo:'', desc:'Panneau de devanture des boxes paddock.'},\n  {cat:'pitbuilding',name:'Frontbox Pitlane',         dim:'5,98 \u00d7 85 cm',        tags:['2 panneaux \/ box'],                    photo:'', desc:'Panneau fa\u00e7ade des boxes pitlane, montage 2 plaques.'},\n  {cat:'pitbuilding',name:'Partition Box',            dim:'480 \u2192 1 440 \u00d7 220 cm',tags:['Cloison modulable'],                   photo:'', desc:'Cloison de garage modulable, non r\u00e9utilisable.'},\n  {cat:'pitbuilding',name:'Ground Marking',           dim:'5 \u00d7 2,80 m',          tags:['Marquage au sol'],                     photo:'', desc:'Marquage au sol personnalis\u00e9 dans les zones garage et paddock.'},\n  {cat:'piste',      name:'Pitlane Panels',           dim:'297,7 \u00d7 49 cm',       tags:['6 \u00e0 49 panneaux','Box 1\u219218'],          photo:'', desc:'Panneaux bord de pitlane du box 1 au box 18. Minimum 6 exemplaires.'},\n  {cat:'piste',      name:'Startline Gantry',         dim:'2 b\u00e2ches mesh',       tags:['Nouveau 2026'],                        photo:'', desc:'Nouveau 2026 \u2014 B\u00e2ches mesh sur le portique startline.'},\n  {cat:'piste',      name:'South West Bridge',        dim:'25,80 \u00d7 2,45 m',      tags:['Passerelle Sud-Ouest'],                photo:'', desc:'Habillage de la passerelle Sud-Ouest.'},\n  {cat:'piste',      name:'North Bridge',             dim:'45 \u00d7 2,60 m',         tags:['1 ou 2 faces','B\u00e2che mesh'],           photo:'', desc:'Habillage de la passerelle Nord, 1 ou 2 faces.'},\n  {cat:'piste',      name:'Mistral Gantry',           dim:'31,20 \u00d7 2,20 m',      tags:['1 ou 2 faces','B\u00e2che PVC'],            photo:'', desc:'Portique Mistral sur la ligne droite Mistral.'},\n  {cat:'piste',      name:'West Gantry',              dim:'29,60 \u00d7 1,95 m',      tags:['1 ou 2 faces','Panneaux'],             photo:'', desc:'Portique Ouest en panneaux rigides.'},\n  {cat:'autres',     name:'Welcome Wall Xtrem Park',  dim:'515 \u00d7 245 cm',        tags:['Entr\u00e9e Xtrem Park'],                   photo:'', desc:'Habillage du mur d\\'entr\u00e9e de l\\'Xtrem Park.'},\n  {cat:'autres',     name:'Driving Center Banner',    dim:'295 \u00d7 295 cm',        tags:['C\u00f4t\u00e9 piste','C\u00f4t\u00e9 paddock'],           photo:'', desc:'1 visibilit\u00e9 c\u00f4t\u00e9 piste + 1 c\u00f4t\u00e9 paddock au Driving Center.'},\n  {cat:'autres',     name:'Karting Podium',           dim:'727 \u00d7 252 cm',        tags:['Podium karting'],                      photo:'', desc:'Habillage du podium karting.'},\n  {cat:'autres',     name:'Habillage Pilliers Panoramic', dim:'52 \u00d7 215 cm',     tags:['Restaurant Panoramic'],                photo:'', desc:'Habillage des piliers du Restaurant Panoramic.'},\n  {cat:'autres',     name:'Habillage Comptoir Panoramic', dim:'727 \u00d7 90 cm',     tags:['Restaurant Panoramic'],                photo:'', desc:'Habillage du comptoir du Restaurant Panoramic.'},\n  {cat:'autres',     name:'Cloison S\u00e9paration Panoramic', dim:'400 \u00d7 220 cm',    tags:['Restaurant Panoramic'],                photo:'', desc:'Cloison de s\u00e9paration dans le Restaurant Panoramic.'},\n];\n\nvar COLORS = {acces:'#C8102E', pitbuilding:'#1A5A8A', piste:'#2A7A4A', autres:'#9A5B2A'};\nvar LABELS  = {acces:\"Voies d'acc\u00e8s\", pitbuilding:'Pit Building', piste:'Sur la piste', autres:'Autres lieux'};\n\nvar ITEMS     = [];\nvar activeCat = 'all';\nvar editIndex = -1;\nvar isEditor  = false;\nvar nonce     = '';\n\n\/* DOM refs *\/\nvar grid       = document.getElementById('plv-grid');\nvar editToggle = document.getElementById('plv-edit-toggle');\nvar root       = document.getElementById('plv-root');\nvar mount      = document.getElementById('plv-panel-mount');\n\n\/* Panel refs (inject\u00e9es apr\u00e8s) *\/\nvar panelOverlay, panel, pClose, pTitle, pList, btnSave, btnCancel, statusEl;\nvar fName, fCat, fDim, fTags, fPhoto, fDesc, photoPreview;\n\n\/* ---- D\u00c9TECTION \u00c9DITEUR ---- *\/\nfunction initEditor(){\n  if(window.cprEditorData && window.cprEditorData.isEditor){\n    isEditor = true;\n    nonce    = window.cprEditorData.nonce;\n    editToggle.classList.add('cpr-editor-visible');\n    injectPanel();\n  }\n}\nif(document.readyState==='complete'){ initEditor(); }\nelse { window.addEventListener('load', initEditor); }\n\n\/* ---- CHARGEMENT ---- *\/\nfetch(API_BASE)\n  .then(function(r){return r.json();})\n  .then(function(data){ ITEMS = (data&&data.length)?data:DEFAULT.slice(); updateCounts(); render(activeCat); if(pList) renderPanelList(); })\n  .catch(function(){ ITEMS = DEFAULT.slice(); updateCounts(); render(activeCat); });\n\n\/* ---- COMPTEURS ---- *\/\nfunction updateCounts(){\n  var c = {all:ITEMS.length,acces:0,pitbuilding:0,piste:0,autres:0};\n  ITEMS.forEach(function(d){c[d.cat]++;});\n  Object.keys(c).forEach(function(k){\n    var el = document.getElementById('plv-cnt-'+k);\n    if(el) el.textContent = c[k];\n  });\n}\n\n\/* ---- RENDU GRILLE ---- *\/\nfunction render(cat){\n  grid.innerHTML='';\n  var list = cat==='all'?ITEMS:ITEMS.filter(function(d){return d.cat===cat;});\n  if(!list.length){ grid.innerHTML='<div class=\"plv-empty\">Aucun support dans cette cat\u00e9gorie.<\/div>'; return; }\n  list.forEach(function(item,i){\n    var realIdx = ITEMS.indexOf(item);\n    var color = COLORS[item.cat]||'#C8102E';\n    var card = document.createElement('div');\n    card.className='plv-card';\n    card.style.opacity='0'; card.style.transform='translateY(8px)';\n\n    var imgDiv = document.createElement('div');\n    imgDiv.className='plv-card-img';\n    if(item.photo&&item.photo!=''){\n      var img=document.createElement('img'); img.src=item.photo; img.alt=item.name; img.loading='lazy';\n      imgDiv.appendChild(img);\n    } else {\n      var ph=document.createElement('div'); ph.className='plv-card-placeholder';\n      ph.innerHTML='<svg width=\"32\" height=\"32\" viewBox=\"0 0 36 36\" fill=\"none\"><rect x=\"4\" y=\"8\" width=\"28\" height=\"20\" rx=\"1\" stroke=\"#1A1A18\" stroke-width=\"1\" opacity=\"0.2\"\/><circle cx=\"12\" cy=\"15\" r=\"3\" stroke=\"#1A1A18\" stroke-width=\"0.8\" opacity=\"0.2\"\/><path d=\"M4 22 L11 16 L18 22 L24 17 L32 23\" stroke=\"#1A1A18\" stroke-width=\"0.8\" stroke-linecap=\"round\" opacity=\"0.2\"\/><\/svg><span>Photo \u00e0 venir<\/span>';\n      imgDiv.appendChild(ph);\n    }\n    var badge=document.createElement('span'); badge.className='plv-card-badge'; badge.style.background=color; badge.textContent=LABELS[item.cat];\n    imgDiv.appendChild(badge);\n\n    \/* Boutons \u00e9diteur *\/\n    if(isEditor){\n      var actions=document.createElement('div'); actions.className='plv-card-actions';\n      var eb=document.createElement('button'); eb.className='plv-card-action-btn edit'; eb.title='Modifier';\n      eb.innerHTML='<svg width=\"10\" height=\"10\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M8.5 1.5 L10.5 3.5 L4 10 L1.5 10.5 L2 8 Z\" stroke=\"#fff\" stroke-width=\"1.1\" fill=\"none\" stroke-linejoin=\"round\"\/><\/svg>';\n      eb.addEventListener('click',function(e){e.stopPropagation(); openEdit(realIdx);});\n      var db=document.createElement('button'); db.className='plv-card-action-btn del'; db.title='Supprimer';\n      db.innerHTML='<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><line x1=\"1\" y1=\"1\" x2=\"9\" y2=\"9\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><line x1=\"9\" y1=\"1\" x2=\"1\" y2=\"9\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><\/svg>';\n      db.addEventListener('click',function(e){ e.stopPropagation(); if(confirm('Supprimer \"'+item.name+'\" ?')){ ITEMS.splice(realIdx,1); saveToAPI(function(){ updateCounts(); render(activeCat); renderPanelList(); }); }});\n      actions.appendChild(eb); actions.appendChild(db); imgDiv.appendChild(actions);\n    }\n\n    var footer=document.createElement('div'); footer.className='plv-card-footer';\n    footer.innerHTML='<span class=\"plv-card-name\">'+item.name+'<\/span><span class=\"plv-card-open\"><svg width=\"11\" height=\"11\" viewBox=\"0 0 11 11\" fill=\"none\"><path d=\"M1.5 9.5 L9.5 1.5 M9.5 1.5 H4.5 M9.5 1.5 V6.5\" stroke=\"#1A1A18\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>';\n\n    card.appendChild(imgDiv); card.appendChild(footer);\n    card.addEventListener('click', function(){ if(!root.classList.contains('plv-editing')) openPopup(item); });\n\n    grid.appendChild(card);\n    setTimeout(function(){ card.style.transition='opacity .22s ease, transform .22s ease, border-color .2s, box-shadow .2s'; card.style.opacity='1'; card.style.transform='translateY(0)'; }, i*28);\n  });\n}\n\n\/* ---- POPUP D\u00c9TAIL ---- *\/\nfunction openPopup(item){\n  var color=COLORS[item.cat]||'#C8102E';\n  var imgWrap=document.getElementById('plv-popup-img'); imgWrap.innerHTML='';\n  if(item.photo&&item.photo!=''){\n    var img=document.createElement('img'); img.src=item.photo; img.alt=item.name; imgWrap.appendChild(img);\n  } else {\n    var ph=document.createElement('div'); ph.className='plv-popup-ph';\n    ph.innerHTML='<svg width=\"48\" height=\"48\" viewBox=\"0 0 36 36\" fill=\"none\"><rect x=\"4\" y=\"8\" width=\"28\" height=\"20\" rx=\"1\" stroke=\"#1A1A18\" stroke-width=\"1\" opacity=\"0.15\"\/><circle cx=\"12\" cy=\"15\" r=\"3\" stroke=\"#1A1A18\" stroke-width=\"0.8\" opacity=\"0.15\"\/><\/svg>';\n    imgWrap.appendChild(ph);\n  }\n  var zEl=document.getElementById('plv-popup-zone'); zEl.textContent=LABELS[item.cat]; zEl.style.color=color;\n  document.getElementById('plv-popup-title').textContent=item.name;\n  document.getElementById('plv-popup-dim').textContent=item.dim||'\u2014';\n  document.getElementById('plv-popup-tags').innerHTML=(item.tags||[]).map(function(t){return '<span class=\"plv-popup-tag\">'+t+'<\/span>';}).join('');\n  document.getElementById('plv-popup-desc').textContent=item.desc||'';\n  document.getElementById('plv-popup-overlay').classList.add('open');\n  document.body.style.overflow='hidden';\n}\ndocument.getElementById('plv-popup-close').addEventListener('click',function(){ document.getElementById('plv-popup-overlay').classList.remove('open'); document.body.style.overflow=''; });\ndocument.getElementById('plv-popup-overlay').addEventListener('click',function(e){ if(e.target===this){ this.classList.remove('open'); document.body.style.overflow=''; }});\ndocument.addEventListener('keydown',function(e){ if(e.key==='Escape'){ document.getElementById('plv-popup-overlay').classList.remove('open'); if(panel) panel.classList.remove('open'); if(panelOverlay) panelOverlay.classList.remove('open'); document.body.style.overflow=''; }});\n\n\/* ---- INJECTION PANNEAU \u00c9DITEUR ---- *\/\nfunction injectPanel(){\n  mount.innerHTML=\n    '<div class=\"plv-panel-overlay\" id=\"plv-panel-overlay\"><\/div>'+\n    '<div class=\"plv-panel\" id=\"plv-panel\">'+\n      '<div class=\"plv-panel-header\">'+\n        '<span class=\"plv-panel-title\" id=\"plv-panel-title\">Ajouter un support<\/span>'+\n        '<button class=\"plv-panel-close\" id=\"plv-panel-close\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><line x1=\"1\" y1=\"1\" x2=\"11\" y2=\"11\" stroke=\"#1A1A18\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><line x1=\"11\" y1=\"1\" x2=\"1\" y2=\"11\" stroke=\"#1A1A18\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><\/svg><\/button>'+\n      '<\/div>'+\n      '<div class=\"plv-panel-body\">'+\n        '<div class=\"plv-fg\"><label class=\"plv-fl\">Nom du support<\/label><input class=\"plv-fi\" id=\"plv-f-name\" type=\"text\" placeholder=\"ex: Welcome Panel\"\/><\/div>'+\n        '<div class=\"plv-fg\"><label class=\"plv-fl\">Cat\u00e9gorie<\/label><select class=\"plv-fs\" id=\"plv-f-cat\"><option value=\"acces\">Voies d\\'acc\u00e8s<\/option><option value=\"pitbuilding\">Pit Building<\/option><option value=\"piste\">Sur la piste<\/option><option value=\"autres\">Autres lieux<\/option><\/select><\/div>'+\n        '<div class=\"plv-fg\"><label class=\"plv-fl\">Dimensions<\/label><input class=\"plv-fi\" id=\"plv-f-dim\" type=\"text\" placeholder=\"ex: 250 \u00d7 85 cm\"\/><\/div>'+\n        '<div class=\"plv-fg\"><label class=\"plv-fl\">Tags <span style=\"font-weight:300;font-style:italic;text-transform:none;letter-spacing:0\">(s\u00e9par\u00e9s par des virgules)<\/span><\/label><input class=\"plv-fi\" id=\"plv-f-tags\" type=\"text\" placeholder=\"ex: Welcome Center, Entr\u00e9e\"\/><\/div>'+\n        '<div class=\"plv-fg\"><label class=\"plv-fl\">URL de la photo<\/label><input class=\"plv-fi\" id=\"plv-f-photo\" type=\"url\" placeholder=\"https:\/\/...\"\/><p class=\"plv-fhint\">M\u00e9diath\u00e8que WordPress \u2192 clic sur l\\'image \u2192 Copier l\\'URL<\/p><div class=\"plv-photo-preview\" id=\"plv-photo-preview\"><img decoding=\"async\" id=\"plv-preview-img\" src=\"\" alt=\"\"\/><\/div><\/div>'+\n        '<div class=\"plv-fg\"><label class=\"plv-fl\">Description (popup)<\/label><textarea class=\"plv-fta\" id=\"plv-f-desc\" placeholder=\"Description affich\u00e9e dans le popup au clic\u2026\"><\/textarea><\/div>'+\n        '<div class=\"plv-form-actions\"><button class=\"plv-btn-save\" id=\"plv-btn-save\">Ajouter<\/button><button class=\"plv-btn-cancel\" id=\"plv-btn-cancel\">Annuler<\/button><\/div>'+\n        '<div class=\"plv-status\" id=\"plv-status\"><\/div>'+\n        '<hr class=\"plv-sep\"\/>'+\n        '<div style=\"font-size:9px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#9A9A92;margin-bottom:14px;\">Supports existants<\/div>'+\n        '<div class=\"plv-panel-list\" id=\"plv-panel-list\"><\/div>'+\n      '<\/div>'+\n    '<\/div>';\n\n  panelOverlay = document.getElementById('plv-panel-overlay');\n  panel        = document.getElementById('plv-panel');\n  pClose       = document.getElementById('plv-panel-close');\n  pTitle       = document.getElementById('plv-panel-title');\n  pList        = document.getElementById('plv-panel-list');\n  btnSave      = document.getElementById('plv-btn-save');\n  btnCancel    = document.getElementById('plv-btn-cancel');\n  statusEl     = document.getElementById('plv-status');\n  fName        = document.getElementById('plv-f-name');\n  fCat         = document.getElementById('plv-f-cat');\n  fDim         = document.getElementById('plv-f-dim');\n  fTags        = document.getElementById('plv-f-tags');\n  fPhoto       = document.getElementById('plv-f-photo');\n  fDesc        = document.getElementById('plv-f-desc');\n  photoPreview = document.getElementById('plv-photo-preview');\n\n  pClose.addEventListener('click', closePanel);\n  panelOverlay.addEventListener('click', closePanel);\n  btnSave.addEventListener('click', handleSave);\n  btnCancel.addEventListener('click', function(){ resetForm(); editIndex=-1; });\n\n  fPhoto.addEventListener('input', function(){\n    var url=fPhoto.value.trim();\n    if(url){ document.getElementById('plv-preview-img').src=url; photoPreview.classList.add('visible'); }\n    else { photoPreview.classList.remove('visible'); }\n  });\n\n  renderPanelList();\n}\n\n\/* ---- LISTE PANNEAU ---- *\/\nfunction renderPanelList(){\n  if(!pList) return;\n  pList.innerHTML='';\n  if(!ITEMS.length){ pList.innerHTML='<div style=\"font-size:11px;color:#B0AEA8;text-align:center;padding:20px 0;\">Aucun support<\/div>'; return; }\n  ITEMS.forEach(function(item,i){\n    var color=COLORS[item.cat]||'#C8102E';\n    var el=document.createElement('div'); el.className='plv-pitem';\n    var dot=document.createElement('div'); dot.className='plv-pitem-dot'; dot.style.background=color;\n    var info=document.createElement('div'); info.className='plv-pitem-info';\n    info.innerHTML='<div class=\"plv-pitem-name\">'+item.name+'<\/div><div class=\"plv-pitem-cat\">'+LABELS[item.cat]+'<\/div>';\n    var acts=document.createElement('div'); acts.className='plv-pitem-actions';\n    var eb=document.createElement('button'); eb.className='plv-pitem-btn';\n    eb.innerHTML='<svg width=\"10\" height=\"10\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M8.5 1.5 L10.5 3.5 L4 10 L1.5 10.5 L2 8 Z\" stroke=\"#1A1A18\" stroke-width=\"1.2\" fill=\"none\" stroke-linejoin=\"round\"\/><\/svg>';\n    eb.addEventListener('click',function(){ openEdit(i); });\n    var db=document.createElement('button'); db.className='plv-pitem-btn del';\n    db.innerHTML='<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><line x1=\"1\" y1=\"1\" x2=\"9\" y2=\"9\" stroke=\"#1A1A18\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><line x1=\"9\" y1=\"1\" x2=\"1\" y2=\"9\" stroke=\"#1A1A18\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><\/svg>';\n    db.addEventListener('click',function(){ if(confirm('Supprimer \"'+item.name+'\" ?')){ ITEMS.splice(i,1); saveToAPI(function(){ updateCounts(); render(activeCat); renderPanelList(); }); }});\n    acts.appendChild(eb); acts.appendChild(db);\n    el.appendChild(dot); el.appendChild(info); el.appendChild(acts);\n    pList.appendChild(el);\n  });\n}\n\n\/* ---- OPEN\/CLOSE PANNEAU ---- *\/\nfunction openPanel(){ panel.classList.add('open'); panelOverlay.classList.add('open'); document.body.style.overflow='hidden'; }\nfunction closePanel(){ panel.classList.remove('open'); panelOverlay.classList.remove('open'); document.body.style.overflow=''; root.classList.remove('plv-editing'); editToggle.innerHTML='<svg width=\"11\" height=\"11\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M8.5 1.5 L10.5 3.5 L4 10 L1.5 10.5 L2 8 Z\" stroke=\"#fff\" stroke-width=\"1\" fill=\"none\" stroke-linejoin=\"round\"\/><\/svg> G\u00e9rer les supports'; resetForm(); editIndex=-1; }\n\nfunction openEdit(idx){\n  editIndex=idx; var item=ITEMS[idx];\n  pTitle.textContent='Modifier le support'; btnSave.textContent='Enregistrer';\n  fName.value=item.name||''; fCat.value=item.cat||'acces'; fDim.value=item.dim||'';\n  fTags.value=(item.tags||[]).join(', '); fPhoto.value=item.photo||''; fDesc.value=item.desc||'';\n  if(item.photo){ document.getElementById('plv-preview-img').src=item.photo; photoPreview.classList.add('visible'); } else { photoPreview.classList.remove('visible'); }\n  showStatus('',''); openPanel();\n}\n\nfunction resetForm(){\n  if(!fName) return;\n  fName.value=''; fCat.value='acces'; fDim.value=''; fTags.value=''; fPhoto.value=''; fDesc.value='';\n  photoPreview.classList.remove('visible');\n  pTitle.textContent='Ajouter un support'; btnSave.textContent='Ajouter';\n  showStatus('','');\n}\n\n\/* ---- SAUVEGARDE ---- *\/\nfunction handleSave(){\n  var name=fName.value.trim();\n  if(!name){ showStatus('Le nom est obligatoire.','error'); return; }\n  var tags=fTags.value.split(',').map(function(t){return t.trim();}).filter(Boolean);\n  var item={name:name, cat:fCat.value, dim:fDim.value.trim(), tags:tags, photo:fPhoto.value.trim(), desc:fDesc.value.trim()};\n  if(editIndex===-1){ ITEMS.push(item); } else { ITEMS[editIndex]=item; }\n  saveToAPI(function(ok){\n    if(ok){ updateCounts(); render(activeCat); renderPanelList(); showStatus(editIndex===-1?'Support ajout\u00e9 !':'Modification enregistr\u00e9e !','success'); editIndex=-1; pTitle.textContent='Ajouter un support'; btnSave.textContent='Ajouter'; fName.value=''; fCat.value='acces'; fDim.value=''; fTags.value=''; fPhoto.value=''; fDesc.value=''; photoPreview.classList.remove('visible'); }\n    else { showStatus('Erreur lors de la sauvegarde.','error'); }\n  });\n}\n\nfunction saveToAPI(cb){\n  fetch(API_BASE,{method:'POST',headers:{'Content-Type':'application\/json','X-WP-Nonce':nonce},body:JSON.stringify({items:ITEMS})})\n    .then(function(r){return r.json();}).then(function(d){cb(d&&d.success);}).catch(function(){cb(false);});\n}\n\nfunction showStatus(msg,type){ if(!statusEl) return; statusEl.textContent=msg; statusEl.className='plv-status'+(type?' '+type:''); }\n\n\/* ---- TOGGLE \u00c9DITION ---- *\/\neditToggle.addEventListener('click',function(){\n  var editing=root.classList.toggle('plv-editing');\n  if(editing){ editToggle.innerHTML='<svg width=\"11\" height=\"11\" viewBox=\"0 0 10 10\" fill=\"none\"><line x1=\"1\" y1=\"1\" x2=\"9\" y2=\"9\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><line x1=\"9\" y1=\"1\" x2=\"1\" y2=\"9\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><\/svg> Quitter'; openPanel(); }\n  else { editToggle.innerHTML='<svg width=\"11\" height=\"11\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M8.5 1.5 L10.5 3.5 L4 10 L1.5 10.5 L2 8 Z\" stroke=\"#fff\" stroke-width=\"1\" fill=\"none\" stroke-linejoin=\"round\"\/><\/svg> G\u00e9rer les supports'; closePanel(); }\n  render(activeCat);\n});\n\n\/* ---- FILTRES ---- *\/\ndocument.getElementById('plv-filter-bar').addEventListener('click',function(e){\n  var btn=e.target.closest('.plv-btn');\n  if(!btn) return;\n  document.querySelectorAll('.plv-btn').forEach(function(b){b.classList.remove('active');});\n  btn.classList.add('active'); activeCat=btn.dataset.cat; render(activeCat);\n});\n\n}());\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f9cfa9 elementor-widget elementor-widget-button\" data-id=\"6f9cfa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm elementor-animation-grow\" href=\"https:\/\/www.circuitpaulricard.com\/images\/pdf\/TEST\/cataloguePLV2026sansprix.pdf\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">d\u00e9couvrir le catalogue<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PLV Fichiers \u00e0 envoyer J\u221211 avant l&rsquo;\u00e9v\u00e9nement Dimensions Commander ce support Tous 0 Voies d&rsquo;acc\u00e8s 0 Pit Building 0 Sur la piste 0 Autres lieux 0 G\u00e9rer les supports plv@circuitpaulricard.com Fichiers \u00e0 envoyer J\u221211 avant l&rsquo;\u00e9v\u00e9nement Infos graphiste Formats accept\u00e9s Adobe PDF ou JPEG uniquement. PDF non prot\u00e9g\u00e9, page unique. Format recommand\u00e9 : PDF\/X-1a 2001. Poids max : 100 Mo. Technique Colorim\u00e9trie CMJN obligatoire (RVB refus\u00e9). R\u00e9solution minimum 100 dpi \u00e0 taille r\u00e9elle. Polices vectoris\u00e9es, images incorpor\u00e9es, sans traits de coupe. D\u00e9lais &#038; stockage Fichiers \u00e0 transmettre J\u221211 avant l&rsquo;\u00e9v\u00e9nement. Pass\u00e9 ce d\u00e9lai, majoration tarifaire. Stockage gratuit pour r\u00e9utilisation (panneaux, b\u00e2ches). d\u00e9couvrir le catalogue<\/p>","protected":false},"author":12,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-3377","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/pages\/3377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/comments?post=3377"}],"version-history":[{"count":40,"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/pages\/3377\/revisions"}],"predecessor-version":[{"id":3457,"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/pages\/3377\/revisions\/3457"}],"wp:attachment":[{"href":"https:\/\/events.circuitpaulricard.com\/en\/wp-json\/wp\/v2\/media?parent=3377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}