1<!DOCTYPE html> 2<html lang="fr-FR" prefix="og: https://ogp.me/ns#"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6<link rel="preload" href="https://www.vinabox.fr/wp-content/themes/generatepress-child/fonts/Satoshi-Variable.woff2" as="font" type="font/woff2" crossorigin data-vbx-perf> 7<link rel="preload" href="https://www.vinabox.fr/wp-content/themes/generatepress-child/fonts/DMSerifDisplay-Regular.woff2" as="font" type="font/woff2" crossorigin data-vbx-perf> 8 9
9<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9202460246353580" crossorigin="anonymous"></script>
vendor: 72 bytes, lines 9-10
9 10 <script async src="https://www.googletagmanager.com/gtag/js?id=
10G-V9RNS5NBTS
vendor: 12 bytes, line 10
10"></script>
11<script>
vendor: 118 bytes, line 11
11window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag("js",new Date());gtag("config","
11G-V9RNS5NBTS
vendor: 29 bytes, line 11
11",{transport_type:"beacon"});
11</script>
11 12<meta name="viewport" content="width=device-width, initial-scale=1"> 13<!-- Optimisation des moteurs de recherche par Rank Math - https://rankmath.com/ --> 14<title>Newsletter Vinabox : Cadeaux à gagner chaque mois - Vinabox</title> 15<meta name="description" content="Chaque semaine : découvertes vin et bons plans exclusifs. Chaque mois : des cadeaux à gagner par tirage au sort. Gratuit, sans spam."/> 16<meta name="robots" content="index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> 17<link rel="canonical" href="https://www.vinabox.fr/newsletter/" /> 18<meta property="og:locale" content="fr_FR" /> 19<meta property="og:type" content="article" /> 20<meta property="og:title" content="Newsletter Vinabox : Cadeaux à gagner chaque mois - Vinabox" /> 21<meta property="og:description" content="Chaque semaine : découvertes vin et bons plans exclusifs. Chaque mois : des cadeaux à gagner par tirage au sort. Gratuit, sans spam." /> 22<meta property="og:url" content="https://www.vinabox.fr/newsletter/" /> 23<meta property="og:site_name" content="Vinabox" /> 24<meta property="article:publisher" content="https://www.facebook.com/vinabox" /> 25<meta property="og:updated_time" content="2026-07-15T19:51:27+00:00" /> 26<meta property="og:image" content="https://www.vinabox.fr/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" /> 27<meta property="og:image:secure_url" content="https://www.vinabox.fr/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" /> 28<meta property="og:image:alt" content="Newsletter Vinabox : Cadeaux à gagner chaque mois" /> 29<meta property="article:published_time" content="2026-05-05T22:46:39+00:00" /> 30<meta property="article:modified_time" content="2026-07-15T19:51:27+00:00" /> 31<meta name="twitter:card" content="summary_large_image" /> 32<meta name="twitter:title" content="Newsletter Vinabox : Cadeaux à gagner chaque mois - Vinabox" /> 33<meta name="twitter:description" content="Chaque semaine : découvertes vin et bons plans exclusifs. Chaque mois : des cadeaux à gagner par tirage au sort. Gratuit, sans spam." /> 34<meta name="twitter:site" content="@vinabox" /> 35<meta name="twitter:creator" content="@vinabox" /> 36<meta name="twitter:image" content="https://www.vinabox.fr/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" /> 37<meta name="twitter:label1" content="Temps de lecture" /> 38<meta name="twitter:data1" content="3 minutes" />
39<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.vinabox.fr/#organization","name":"Vinabox","url":"https://www.vinabox.fr","sameAs":["https://www.facebook.com/vinabox","https://twitter.com/vinabox","https://www.youtube.com/@VinaboxFr","https://www.instagram.com/vinaboxfr/","https://www.tiktok.com/@vinaboxfr","https://www.linkedin.com/company/vinabox/"],"logo":{"@type":"ImageObject","@id":"https://www.vinabox.fr/#logo","url":"https://www.vinabox.fr/wp-content/uploads/2025/05/cropped-Logo-Vinabox.png","contentUrl":"https://www.vinabox.fr/wp-content/uploads/2025/05/cropped-Logo-Vinabox.png","caption":"Vinabox","inLanguage":"fr-FR","width":"2000","height":"583"}},{"@type":"WebSite","@id":"https://www.vinabox.fr/#website","url":"https://www.vinabox.fr","name":"Vinabox","publisher":{"@id":"https://www.vinabox.fr/#organization"},"inLanguage":"fr-FR"},{"@type":"ImageObject","@id":"/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg","url":"/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg","width":"200","height":"200","inLanguage":"fr-FR"},{"@type":"BreadcrumbList","@id":"https://www.vinabox.fr/newsletter/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.vinabox.fr/","name":"Accueil"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.vinabox.fr/newsletter/","name":"Newsletter"}}]},{"@type":"WebPage","@id":"https://www.vinabox.fr/newsletter/#webpage","url":"https://www.vinabox.fr/newsletter/","name":"Newsletter Vinabox : Cadeaux \u00e0 gagner chaque mois - Vinabox","datePublished":"2026-05-05T22:46:39+00:00","dateModified":"2026-07-15T19:51:27+00:00","isPartOf":{"@id":"https://www.vinabox.fr/#website"},"primaryImageOfPage":{"@id":"/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg"},"inLanguage":"fr-FR","breadcrumb":{"@id":"https://www.vinabox.fr/newsletter/#breadcrumb"}},{"@type":"Person","@id":"https://www.vinabox.fr/author/jeremy_vinabox/","name":"J\u00e9r\u00e9my Degryse","url":"https://www.vinabox.fr/author/jeremy_vinabox/","image":{"@type":"ImageObject","@id":"https://www.vinabox.fr/wp-content/uploads/nsl_avatars/236c355f953f697991e5f274acfc70f7.jpg","url":"https://www.vinabox.fr/wp-content/uploads/nsl_avatars/236c355f953f697991e5f274acfc70f7.jpg","caption":"J\u00e9r\u00e9my Degryse","inLanguage":"fr-FR"},"sameAs":["https://www.vinabox.fr"],"worksFor":{"@id":"https://www.vinabox.fr/#organization"}},{"@type":"Article","headline":"Newsletter Vinabox : Cadeaux \u00e0 gagner chaque mois - Vinabox","datePublished":"2026-05-05T22:46:39+00:00","dateModified":"2026-07-15T19:51:27+00:00","author":{"@id":"https://www.vinabox.fr/author/jeremy_vinabox/","name":"J\u00e9r\u00e9my Degryse"},"publisher":{"@id":"https://www.vinabox.fr/#organization"},"description":"Chaque semaine : d\u00e9couvertes vin et bons plans exclusifs. Chaque mois : des cadeaux \u00e0 gagner par tirage au sort. Gratuit, sans spam.","name":"Newsletter Vinabox : Cadeaux \u00e0 gagner chaque mois - Vinabox","@id":"https://www.vinabox.fr/newsletter/#richSnippet","isPartOf":{"@id":"https://www.vinabox.fr/newsletter/#webpage"},"image":{"@id":"/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg"},"inLanguage":"fr-FR","mainEntityOfPage":{"@id":"https://www.vinabox.fr/newsletter/#webpage"}}]}</script>
39 40<!-- /Extension Rank Math WordPress SEO --> 41 42<link rel="alternate" type="application/rss+xml" title="Vinabox » Flux" href="https://www.vinabox.fr/feed/" /> 43<link rel="alternate" type="application/rss+xml" title="Vinabox » Flux des commentaires" href="https://www.vinabox.fr/comments/feed/" /> 44<link rel="alternate" type="application/rss+xml" title="Vinabox â Actualités du vin" href="https://www.vinabox.fr/actu-feed.xml.php" /> 45<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.vinabox.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.vinabox.fr%2Fnewsletter%2F" /> 46<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.vinabox.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.vinabox.fr%2Fnewsletter%2F&format=xml" /> 47<style id="wp-img-auto-sizes-contain-inline-css"> 48img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 49/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 50</style> 51 52<link rel='stylesheet' id='parent-style-css' href='https://www.vinabox.fr/wp-content/themes/generatepress/style.css?ver=7.1.3' media='all' /> 53<link rel='stylesheet' id='vinabox-tokens-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-tokens.css?ver=1790110743' media='all' /> 54<link rel='stylesheet' id='vinabox-base-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-base.css?ver=1786690397' media='all' /> 55<link rel='stylesheet' id='vinabox-components-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-components.css?ver=1788591376' media='all' /> 56<link rel='stylesheet' id='vinabox-newsletter-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-newsletter.css?ver=1784144206' media='all' /> 57<link rel='stylesheet' id='vinabox-header-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-header.css?ver=1781879106' media='all' /> 58<link rel='stylesheet' id='vinabox-footer-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-footer.css?ver=1778067025' media='all' /> 59<link rel='stylesheet' id='vinabox-lemag-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-lemag.css?ver=1781898326' media='all' /> 60<link rel='stylesheet' id='vinabox-home-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-home.css?ver=1790530292' media='all' /> 61<link rel='stylesheet' id='vinabox-sidebar-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-sidebar.css?ver=1778301790' media='all' /> 62<link rel='stylesheet' id='vinabox-actu-author-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/vinabox-actu-author.css?ver=1781121660' media='all' /> 63<style id="wp-block-library-inline-css"> 64:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
64--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 65 66/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 67</style> 68<style id="classic-theme-styles-inline-css"> 69/*! This file is auto-generated */ 70.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 71/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 72</style> 73 74<style id="global-styles-inline-css"> 75:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--contrast: var(--contrast);--wp--preset--color--contrast-2: var(--contrast-2);--wp--preset--color--contrast-3: var(--contrast-3);--wp--preset--color--base: var(--base);--wp--preset--color--base-2: var(--base-2);--wp--preset--color--base-3: var(--base-3);--wp--preset--color--accent: var(--accent);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
750) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-color{color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-color{color: var(--wp--preset--color--contrast-3) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-base-2-color{color: var(--wp--preset--color--base-2) !important;}.has-base-3-color{color: var(--wp--preset--color--base-3) !important;}.has-accent-color{color: var(--wp--preset--color--accent) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-background-color{background-color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-background-color{background-color: var(--wp--preset--color--contrast-3) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-base-2-background-color{background-color: var(--wp--preset--color--base-2) !important;}.has-base-3-background-color{background-color: var(--wp--preset--color--base-3) !important;}.has-accent-background-color{background-color: var(--wp--preset--color--accent) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-border-color{border-color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-border-color{border-color: var(--wp--preset--color--contrast-3) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-base-2-border-color{border-color: var(--wp--preset--color--base-2) !important;}.has-base-3-border-color{border-color: var(--wp--preset--color--base-3) !important;}.has-accent-border-color{border-color: var(--wp--preset--color--accent) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
75.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 76/*# sourceURL=global-styles-inline-css */ 77</style> 78 79<link rel='stylesheet' id='contact-form-7-css' href='https://www.vinabox.fr/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.1.7' media='all' /> 80<link rel='stylesheet' id='woocommerce-layout-css' href='https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=11.1.2' media='all' /> 81<link rel='stylesheet' id='woocommerce-smallscreen-css' href='https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=11.1.2' media='only screen and (max-width: 768px)' /> 82<link rel='stylesheet' id='woocommerce-general-css' href='https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=11.1.2' media='all' /> 83<style id="woocommerce-general-inline-css"> 84.woocommerce .page-header-image-single {display: none;}.woocommerce .entry-content,.woocommerce .product .entry-summary {margin-top: 0;}.related.products {clear: both;}.checkout-subscribe-prompt.clear {visibility: visible;height: initial;width: initial;}@media (max-width:768px) {.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering {float: none;}.woocommerce .woocommerce-ordering select {max-width: 100%;}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce-page[class*=columns-] ul.products li.product,.woocommerce[class*=columns-] ul.products li.product {width: 100%;float: none;}} 85/*# sourceURL=woocommerce-general-inline-css */ 86</style> 87<style id="woocommerce-inline-inline-css"> 88.woocommerce form .form-row .required { visibility: visible; } 89/*# sourceURL=woocommerce-inline-inline-css */ 90</style> 91<link rel='stylesheet' id='cmplz-general-css' href='https://www.vinabox.fr/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1788920446' media='all' /> 92<link rel='stylesheet' id='crp-style-rounded-thumbs-css' href='https://www.vinabox.fr/wp-content/plugins/contextual-related-posts/includes/frontend/css/rounded-thumbs.min.css?ver=4.5.0' media='all' /> 93<style id="crp-style-rounded-thumbs-inline-css"> 94 95 .crp_related.crp-rounded-thumbs { 96 --crp-thumb-width: 300px; 97 --crp-thumb-height: 150px; 98 --crp-aspect-ratio: 2; 99 } 100 101/*# sourceURL=crp-style-rounded-thumbs-inline-css */ 102</style> 103<link rel='stylesheet' id='eztoc-css' href='https://www.vinabox.fr/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.88' media='all' /> 104<style id="eztoc-inline-css"> 105div#ez-toc-container .ez-toc-title, .ez-toc-split-section .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title, .ez-toc-split-section .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li , div#ez-toc-container ul li a, .ez-toc-split-section ul li , .ez-toc-split-section ul li a {font-size: 95%;}div#ez-toc-container ul li , div#ez-toc-container ul li a, .ez-toc-split-section ul li , .ez-toc-split-section ul li a {font-weight: 500;}div#ez-toc-container nav ul ul li, .ez-toc-split-section nav ul ul li {font-size: 90%;}div#ez-toc-container, .ez-toc-split-section {width: 100%;}.ez-toc-box-title {font-weight: bold; margin-bottom: 10px; text-align: center; text-transform: uppercase; letter-spacing: 1px; color: #666; padding-bottom: 5px;position:absolute;top:-4%;left:5%;background-color: inherit;transition: top 0.3s ease;}.ez-toc-box-title.toc-closed {top:-25%;} 106.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, '.', decimal) '. ';display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, '.', decimal) '. ';display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
107/*# sourceURL=eztoc-inline-css */ 108</style> 109<link rel='stylesheet' id='generate-widget-areas-css' href='https://www.vinabox.fr/wp-content/themes/generatepress/assets/css/components/widget-areas.min.css?ver=3.6.1' media='all' /> 110<link rel='stylesheet' id='generate-style-css' href='https://www.vinabox.fr/wp-content/themes/generatepress/assets/css/main.min.css?ver=3.6.1' media='all' /> 111<style id="generate-style-inline-css"> 112body{background-color:var(--base-2);color:var(--contrast);}a{color:#61262A;}a{text-decoration:underline;}.entry-title a, .site-branding a, a.button, .wp-block-button__link, .main-navigation a{text-decoration:none;}a:hover, a:focus, a:active{color:var(--contrast);}.wp-block-group__inner-container{max-width:1200px;margin-left:auto;margin-right:auto;}.site-header .header-image{width:250px;}:root{--contrast:#222222;--contrast-2:#575760;--contrast-3:#b2b2be;--base:#f0f0f0;--base-2:#f7f8f9;--base-3:#ffffff;--accent:#61262A;}:root .has-contrast-color{color:var(--contrast);}:root .has-contrast-background-color{background-color:var(--contrast);}:root .has-contrast-2-color{color:var(--contrast-2);}:root .has-contrast-2-background-color{background-color:var(--contrast-2);}:root .has-contrast-3-color{color:var(--contrast-3);}:root .has-contrast-3-background-color{background-color:var(--contrast-3);}:root .has-base-color{color:var(--base);}:root .has-base-background-color{background-color:var(--base);}:root .has-base-2-color{color:var(--base-2);}:root .has-base-2-background-color{background-color:var(--base-2);}:root .has-base-3-color{color:var(--base-3);}:root .has-base-3-background-color{background-color:var(--base-3);}:root .has-accent-color{color:var(--accent);}:root .has-accent-background-color{background-color:var(--accent);}h1, h2, h3, h4, h5, h6{font-family:"DM Serif Display", Georgia, serif;font-weight:400;}body, button, input, select, textarea{font-family:Satoshi, system-ui, sans-serif;}.top-bar{background-color:#636363;color:#ffffff;}.top-bar a{color:#ffffff;}.top-bar a:hover{color:#303030;}.site-header{background-color:var(--base-3);}.main-title a,.main-title a:hover{color:#61262A;}.site-description{color:var(--contrast-2);}.mobile-menu-control-wrapper .menu-toggle,.mobile-menu-control-wrapper .menu-toggle:hover,.mobile-menu-control-wrapper .menu-toggle:focus,.has-inline-mobile-toggle #site-navigation.toggled{background-color:rgba(0, 0, 0, 0.02);}.main-navigation,.main-navigation ul ul{background-color:var(--base-3);}.main-navigation .main-nav ul li a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items{color:var(--contrast);}.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{color:#61262A;}button.menu-toggle:hover,button.menu-toggle:focus{color:var(--contrast);}.main-navigation .main-nav ul li[class*="current-menu-"] > a{color:#61262A;}.navigation-search input[type="search"],.navigation-search input[type="search"]:active, .navigation-search input[type="search"]:focus, .main-navigation .main-nav ul li.search-item.active > a, .main-navigation .menu-bar-items .search-item.active > a{color:#61262A;}.main-navigation ul ul{background-color:var(--base);}.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header{background-color:var(--base-3);}.entry-header h1,.page-header h1{color:#61262A;}.entry-title a{color:var(--contrast);}.entry-title a:hover{color:var(--contrast-2);}.entry-meta{color:var(--contrast-2);}.sidebar .widget{background-color:var(--base-3);}.footer-widgets{background-color:var(--base-3);}.site-info{background-color:var(--base-3);}input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],textarea,select{color:var(--contrast);background-color:var(--base-2);border-color:var(--base);}input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="number"]:focus,textarea:focus,select:focus{color:var(--contrast);background-color:var(--base-2);border-color:var(--contrast-3);}button,html input[type="button"],input[type="reset"],input[type="submit"],a.button,a.wp-block-button__link:not(.has-background){color:#ffffff;background-color:#d39c44;}button:hover,html input[type="button"]:hover,input[type="reset"]:hover,input[type="submit"]:hover,a.button:hover,button:focus,html input[type="button"]:focus,input[type="reset"]:focus,input[type="submit"]:focus,a.button:focus,a.wp-block-button__link:not(.has-background):active,a.wp-block-button__link:not(.has-background):focus,a.wp-block-button__link:not(.has-background):hover{color:#ffffff;background-color:#61262A;}a.generate-back-to-top{background-color:rgba( 0,0,0,0.4 );color:#ffffff;}a.generate-back-to-top:hover,a.generate-back-to-top:focus{background-color:rgba( 0,0,0,0.6 );color:#ffffff;}:root{--gp-search-modal-bg-color:var(--base-3);--gp-search-modal-text-color:var(--contrast);--gp-search-modal-overlay-bg-color:rgba(0,0,0,0.2);}@media (max-width:768px){.main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{background:none;color:var(--contrast);}}.nav-below-header .main-navigation .inside-navigation.grid-container, .nav-above-header .main-navigation .inside-navigation.grid-container{padding:0px 20px 0px 20px;}.site-main .wp-block-group__inner-container{padding:40px;}.separate-containers .paging-navigation{padding-top:20px;padding-bottom:20px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-40px;width:calc(100% + 80px);max-width:calc(100% + 80px);}.rtl .menu-item-has-children .dropdown-menu-toggle{padding-left:20px;}.rtl .main-navigation .main-nav ul li.menu-item-has-children > a{padding-right:20px;}@media (max-width:768px){.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{padding:30px;}.site-main .wp-block-group__inner-container{padding:30px;}.inside-top-bar{padding-right:30px;padding-left:30px;}.inside-header{padding-right:30px;padding-left:30px;}.widget-area .widget{padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px;}.footer-widgets-container{padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px;}.inside-site-info{padding-right:30px;padding-left:30px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-30px;width:calc(100% + 60px);max-width:calc(100% + 60px);}.one-container .site-main .paging-navigation{margin-bottom:20px;}}/* End cached CSS */.is-right-sidebar{width:30%;}.is-left-sidebar{width:30%;}.site-content .content-area{width:100%;}@media (max-width:768px){.main-navigation .menu-toggle,.sidebar-nav-mobile:not(#sticky-placeholder){display:block;}.main-navigation ul,.gen-sidebar-nav,.main-navigation:not(.slideout-navigation):not(.toggled) .main-nav > ul,.has-inline-mobile-toggle #site-navigation .inside-navigation > *:not(.navigation-search):not(.main-nav){display:none;}.nav-align-right .inside-navigation,.nav-align-center .inside-navigation{justify-content:space-between;}.has-inline-mobile-toggle .mobile-menu-control-wrapper{display:flex;flex-wrap:wrap;}
112.has-inline-mobile-toggle .inside-header{flex-direction:row;text-align:left;flex-wrap:wrap;}.has-inline-mobile-toggle .header-widget,.has-inline-mobile-toggle #site-navigation{flex-basis:100%;}.nav-float-left .has-inline-mobile-toggle #site-navigation{order:10;}} 113/*# sourceURL=generate-style-inline-css */ 114</style> 115<link rel='stylesheet' id='generate-child-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/style.css?ver=1787641272' media='all' /> 116<link rel='stylesheet' id='vinabox-custom-style-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/style.css?ver=1791377748' media='all' /> 117<link rel='stylesheet' id='vinabox-mobile-menu-fix-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/mobile-menu-fix.css?ver=1776686153' media='all' /> 118<link rel='stylesheet' id='vinabox-ez-toc-style-css' href='https://www.vinabox.fr/wp-content/themes/generatepress-child/css/ez-toc-vinabox.css?ver=1778438721' media='all' /> 119<style id="vinabox-account-icon-inline-css"> 120 121 .main-navigation .menu-item-vinabox-account { margin-left: auto; } 122 .main-navigation .menu-item-vinabox-account > a { 123 display: inline-flex; 124 align-items: center; 125 gap: 6px; 126 min-height: 48px; 127 min-width: 48px; 128 padding: 0 14px; 129 } 130 .main-navigation .menu-item-vinabox-account .vinabox-account-icon { 131 width: 22px; height: 22px; 132 flex-shrink: 0; 133 transition: transform .15s ease; 134 } 135 .main-navigation .menu-item-vinabox-account > a:hover .vinabox-account-icon, 136 .main-navigation .menu-item-vinabox-account > a:focus .vinabox-account-icon { transform: scale(1.08); } 137 .main-navigation .menu-item-vinabox-account.is-logged-in > a { color: #61262A; } 138 .main-navigation .menu-item-vinabox-account.is-logged-in > a::before { 139 content: ""; 140 display: inline-block; 141 width: 8px; height: 8px; 142 border-radius: 50%; 143 background: #4caf50; 144 box-shadow: 0 0 0 2px rgba(76,175,80,.18); 145 margin-right: 2px; 146 } 147 /* Desktop : icône seule, label accessible mais visuellement masqué */ 148 @media (min-width: 769px) { 149 .main-navigation .menu-item-vinabox-account .vinabox-account-label { 150 position: absolute !important; 151 width: 1px; height: 1px; 152 padding: 0; margin: -1px; 153 overflow: hidden; 154 clip: rect(0,0,0,0); 155 white-space: nowrap; 156 border: 0; 157 } 158 } 159 /* Mobile (menu burger déplié) : label visible à côté de l'icône */ 160 @media (max-width: 768px) { 161 .main-navigation .menu-item-vinabox-account { margin-left: 0; } 162 .main-navigation .menu-item-vinabox-account .vinabox-account-label { 163 font-size: 1rem; 164 font-weight: 500; 165 } 166 } 167 168/*# sourceURL=vinabox-account-icon-inline-css */ 169</style> 170<style id="vinabox-search-overlay-inline-css"> 171 172 /* Icône loupe dans le menu â même pattern que l'icône compte */ 173 .main-navigation .menu-item-vinabox-search > a { 174 display: inline-flex; 175 align-items: center; 176 gap: 6px; 177 min-height: 48px; 178 min-width: 48px; 179 padding: 0 14px; 180 cursor: pointer; 181 } 182 .main-navigation .menu-item-vinabox-search .vinabox-search-icon { 183 width: 22px; height: 22px; 184 flex-shrink: 0; 185 transition: transform .15s ease; 186 } 187 .main-navigation .menu-item-vinabox-search > a:hover .vinabox-search-icon, 188 .main-navigation .menu-item-vinabox-search > a:focus .vinabox-search-icon { transform: scale(1.08); } 189 /* Quand l'account icon est présent, il a margin-left:auto â la loupe le suit naturellement */ 190 .main-navigation .menu-item-vinabox-search + .menu-item-vinabox-account { margin-left: 0; } 191 192 /* Desktop : label accessible mais visuellement masqué */ 193 @media (min-width: 769px) { 194 .main-navigation .menu-item-vinabox-search .vinabox-search-label { 195 position: absolute !important; 196 width: 1px; height: 1px; 197 padding: 0; margin: -1px; 198 overflow: hidden; 199 clip: rect(0,0,0,0); 200 white-space: nowrap; 201 border: 0; 202 } 203 } 204 @media (max-width: 768px) { 205 .main-navigation .menu-item-vinabox-search .vinabox-search-label { 206 font-size: 1rem; 207 font-weight: 500; 208 } 209 } 210 211 /* Overlay recherche */ 212 .vinabox-search-overlay[hidden] { display: none; } 213 .vinabox-search-overlay { 214 position: fixed; 215 inset: 0; 216 z-index: 99999; 217 display: flex; 218 align-items: flex-start; 219 justify-content: center; 220 padding: 0; 221 animation: vbSearchFadeIn .18s ease; 222 }
223 @keyframes vbSearchFadeIn { from { opacity: 0; } to { opacity: 1; } } 224 .vinabox-search-overlay__backdrop { 225 position: absolute; 226 inset: 0; 227 background: rgba(20, 10, 12, .78); 228 backdrop-filter: blur(4px); 229 -webkit-backdrop-filter: blur(4px); 230 } 231 .vinabox-search-overlay__panel { 232 position: relative; 233 width: min(720px, 94vw); 234 margin-top: clamp(40px, 12vh, 140px); 235 background: #fff; 236 border-radius: 14px; 237 box-shadow: 0 24px 64px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.12); 238 padding: 32px 32px 28px; 239 animation: vbSearchPanelIn .22s cubic-bezier(.2,.9,.3,1); 240 } 241 @keyframes vbSearchPanelIn { from { transform: translateY(-12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } 242 .vinabox-search-overlay__close { 243 position: absolute; 244 top: 12px; right: 12px; 245 width: 40px; height: 40px; 246 border: 0; 247 background: transparent; 248 color: #61262A; 249 border-radius: 50%; 250 cursor: pointer; 251 display: inline-flex; 252 align-items: center; 253 justify-content: center; 254 transition: background .15s ease; 255 } 256 .vinabox-search-overlay__close:hover, 257 .vinabox-search-overlay__close:focus { background: rgba(97,38,42,.08); outline: none; } 258 .vinabox-search-overlay__title { 259 margin: 0 0 18px; 260 font-size: clamp(1.3rem, 2.2vw, 1.6rem); 261 font-weight: 600; 262 color: #1f1315; 263 line-height: 1.2; 264 } 265 .vinabox-search-overlay__field { 266 display: flex; 267 align-items: center; 268 gap: 10px; 269 border: 2px solid #e6d8da; 270 border-radius: 10px; 271 padding: 6px 6px 6px 14px; 272 background: #fff; 273 transition: border-color .15s ease, box-shadow .15s ease; 274 } 275 .vinabox-search-overlay__field:focus-within { 276 border-color: #61262A; 277 box-shadow: 0 0 0 4px rgba(97,38,42,.12); 278 } 279 .vinabox-search-overlay__field-icon { color: #8a5b60; flex-shrink: 0; } 280 .vinabox-search-overlay__field input[type="search"] { 281 flex: 1 1 auto; 282 min-width: 0; 283 border: 0; 284 background: transparent; 285 font-size: 1.05rem; 286 padding: 10px 4px; 287 color: #1f1315; 288 outline: none; 289 } 290 .vinabox-search-overlay__field input[type="search"]::placeholder { color: #9a8487; } 291 .vinabox-search-overlay__submit { 292 flex-shrink: 0; 293 border: 0; 294 background: #61262A; 295 color: #fff; 296 font-weight: 600; 297 font-size: .95rem; 298 padding: 10px 18px; 299 border-radius: 8px; 300 cursor: pointer; 301 transition: background .15s ease, transform .1s ease; 302 } 303 .vinabox-search-overlay__submit:hover, 304 .vinabox-search-overlay__submit:focus { background: #4a1c20; outline: none; } 305 .vinabox-search-overlay__submit:active { transform: scale(.97); } 306 .vinabox-search-overlay__hint { 307 margin: 18px 0 0; 308 font-size: .88rem; 309 color: #6a585a; 310 line-height: 1.6; 311 } 312 .vinabox-search-overlay__hint a { 313 color: #61262A; 314 text-decoration: none; 315 border-bottom: 1px dashed rgba(97,38,42,.4); 316 padding-bottom: 1px; 317 } 318 .vinabox-search-overlay__hint a:hover { border-bottom-style: solid; } 319 320 /* Mobile : overlay qui occupe l'écran entier, plus confortable */ 321 @media (max-width: 600px) { 322 .vinabox-search-overlay__panel { 323 margin-top: 0; 324 width: 100vw; 325 min-height: 100dvh; 326 border-radius: 0; 327 padding: 24px 20px; 328 } 329 .vinabox-search-overlay__field { flex-wrap: wrap; } 330 .vinabox-search-overlay__submit { width: 100%; margin-top: 6px; padding: 12px; } 331 } 332 333 body.vinabox-search-open { overflow: hidden; } 334 335/*# sourceURL=vinabox-search-overlay-inline-css */ 336</style> 337<link rel='stylesheet' id='sib-front-css-css' href='https://www.vinabox.fr/wp-content/plugins/mailin/css/mailin-front.css?ver=7.1.3' media='all' /> 338<link rel='stylesheet' id='cmplz-banner-1-optin-css' href='https://www.vinabox.fr/wp-content/uploads/complianz/css/banner-1-optin.css?ver=1788920508' media='all' />
339<script type="text/javascript"> 340 window._nslDOMReady = (function () { 341 const executedCallbacks = new Set(); 342 343 return function (callback) { 344 /** 345 * Third parties might dispatch DOMContentLoaded events, so we need to ensure that we only run our callback once! 346 */ 347 if (executedCallbacks.has(callback)) return; 348 349 const wrappedCallback = function () { 350 if (executedCallbacks.has(callback)) return; 351 executedCallbacks.add(callback); 352 callback(); 353 }; 354 355 if (document.readyState === "complete" || document.readyState === "interactive") { 356 wrappedCallback(); 357 } else { 358 document.addEventListener("DOMContentLoaded", wrappedCallback); 359 } 360 }; 361 })(); 362 </script>
362<script id="jquery-core-js" src="https://www.vinabox.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 362
362
363<script id="jquery-migrate-js" src="https://www.vinabox.fr/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 363
363
364<script data-wp-strategy="defer" defer id="wc-jquery-blockui-js" src="https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.11.1.2"></script>
vendor: 1 bytes, line 364
364
365<script id="wc-add-to-cart-js-extra"> 366var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"Voir le panier","cart_url":"https://www.vinabox.fr/panier/","is_cart":"","cart_redirect_after_add":"no"}; 367//# sourceURL=wc-add-to-cart-js-extra 368</script>
vendor: 1 bytes, line 368
368
369<script data-wp-strategy="defer" defer id="wc-add-to-cart-js" src="https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=11.1.2"></script>
vendor: 1 bytes, line 369
369
370<script data-wp-strategy="defer" defer id="wc-js-cookie-js" src="https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.11.1.2"></script>
vendor: 1 bytes, line 370
370
371<script id="woocommerce-js-extra"> 372var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Afficher le mot de passe","i18n_password_hide":"Masquer le mot de passe"}; 373//# sourceURL=woocommerce-js-extra 374</script>
vendor: 1 bytes, line 374
374
375<script data-wp-strategy="defer" defer id="woocommerce-js" src="https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=11.1.2"></script>
vendor: 1 bytes, line 375
375
376<script id="sib-front-js-js-extra"> 377var sibErrMsg = {"invalidMail":"Veuillez entrer une adresse e-mail valide.","requiredField":"Veuillez compl\u00e9ter les champs obligatoires.","invalidDateFormat":"Veuillez entrer une date valide.","invalidSMSFormat":"Veuillez entrer une num\u00e9ro de t\u00e9l\u00e9phone valide."}; 378var ajax_sib_front_object = {"ajax_url":"https://www.vinabox.fr/wp-admin/admin-ajax.php","ajax_nonce":"e2dbd3a41e","flag_url":"https://www.vinabox.fr/wp-content/plugins/mailin/img/flags/"}; 379//# sourceURL=sib-front-js-js-extra 380</script>
vendor: 1 bytes, line 380
380
381<script id="sib-front-js-js" src="https://www.vinabox.fr/wp-content/plugins/mailin/js/mailin-front.js?ver=1785504026"></script>
381 382<link rel="https://api.w.org/" href="https://www.vinabox.fr/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.vinabox.fr/wp-json/wp/v2/pages/7548" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.vinabox.fr/xmlrpc.php?rsd" /> 383<meta name="generator" content="WordPress 7.1.3" /> 384<link rel='shortlink' href='https://www.vinabox.fr/?p=7548' /> 385 <style>.cmplz-hidden { 386 display: none !important; 387 }</style> 388 <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> 389
389<script type="text/javascript" src="https://cdn.brevo.com/js/sdk-loader.js" async></script>
vendor: 1 bytes, line 389
389
390<script type="text/javascript"> 391 window.Brevo = window.Brevo || []; 392 window.Brevo.push(['init', {"client_key":"26mv7v88sn7e3bz77bx637kl","email_id":null,"push":{"customDomain":"https:\/\/www.vinabox.fr\/wp-content\/plugins\/mailin\/"},"service_worker_url":"wonderpush-worker-loader.min.js?webKey=989e152dbbbf706e6757d89fe1b128ba26fd97c15ad2e9bc8d23c7881e8eea42","frame_url":"brevo-frame.html"}]); 393</script>
393<script type="text/javascript" src="https://cdn.by.wonderpush.com/sdk/1.1/wonderpush-loader.min.js" async></script>
vendor: 1 bytes, line 393
393
394<script type="text/javascript"> 395 window.WonderPush = window.WonderPush || []; 396 window.WonderPush.push(['init', {"customDomain":"https:\/\/www.vinabox.fr\/wp-content\/plugins\/mailin\/","serviceWorkerUrl":"wonderpush-worker-loader.min.js?webKey=989e152dbbbf706e6757d89fe1b128ba26fd97c15ad2e9bc8d23c7881e8eea42","frameUrl":"wonderpush.min.html","webKey":"989e152dbbbf706e6757d89fe1b128ba26fd97c15ad2e9bc8d23c7881e8eea42"}]); 397</script>
397<style type="text/css">.saboxplugin-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border:1px solid #eee;width:100%;clear:both;display:block;overflow:hidden;word-wrap:break-word;position:relative}.saboxplugin-wrap .saboxplugin-gravatar{float:left;padding:0 20px 20px 20px}.saboxplugin-wrap .saboxplugin-gravatar img{max-width:100px;height:auto;border-radius:0;}.saboxplugin-wrap .saboxplugin-authorname{font-size:18px;line-height:1;margin:20px 0 0 20px;display:block}.saboxplugin-wrap .saboxplugin-authorname a{text-decoration:none}.saboxplugin-wrap .saboxplugin-authorname a:focus{outline:0}.saboxplugin-wrap .saboxplugin-desc{display:block;margin:5px 20px}.saboxplugin-wrap .saboxplugin-desc a{text-decoration:underline}.saboxplugin-wrap .saboxplugin-desc p{margin:5px 0 12px}.saboxplugin-wrap .saboxplugin-web{margin:0 20px 15px;text-align:left}.saboxplugin-wrap .sab-web-position{text-align:right}.saboxplugin-wrap .saboxplugin-web a{color:#ccc;text-decoration:none}.saboxplugin-wrap .saboxplugin-socials{position:relative;display:block;background:#fcfcfc;padding:5px;border-top:1px solid #eee}.saboxplugin-wrap .saboxplugin-socials a svg{width:20px;height:20px}.saboxplugin-wrap .saboxplugin-socials a svg .st2{fill:#fff; transform-origin:center center;}.saboxplugin-wrap .saboxplugin-socials a svg .st1{fill:rgba(0,0,0,.3)}.saboxplugin-wrap .saboxplugin-socials a:hover{opacity:.8;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s;box-shadow:none!important;-webkit-box-shadow:none!important}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color{box-shadow:none;padding:0;border:0;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s;display:inline-block;color:#fff;font-size:0;text-decoration:inherit;margin:5px;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;overflow:hidden}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey{text-decoration:inherit;box-shadow:none;position:relative;display:-moz-inline-stack;display:inline-block;vertical-align:middle;zoom:1;margin:10px 5px;color:#444;fill:#444}.clearfix:after,.clearfix:before{content:' ';display:table;line-height:0;clear:both}.ie7 .clearfix{zoom:1}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-twitch{border-color:#38245c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-behance{border-color:#003eb0}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-deviantart{border-color:#036824}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-digg{border-color:#00327c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-dribbble{border-color:#ba1655}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-facebook{border-color:#1e2e4f}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-flickr{border-color:#003576}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-github{border-color:#264874}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-google{border-color:#0b51c5}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-html5{border-color:#902e13}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-instagram{border-color:#1630aa}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-linkedin{border-color:#00344f}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-pinterest{border-color:#5b040e}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-reddit{border-color:#992900}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-rss{border-color:#a43b0a}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-sharethis{border-color:#5d8420}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-soundcloud{border-color:#995200}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-spotify{border-color:#0f612c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-stackoverflow{border-color:#a95009}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-steam{border-color:#006388}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-user_email{border-color:#b84e05}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-tumblr{border-color:#10151b}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-twitter{border-color:#0967a0}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-vimeo{border-color:#0d7091}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-windows{border-color:#003f71}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-whatsapp{border-color:#003f71}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-wordpress{border-color:#0f3647}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-yahoo{border-color:#14002d}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-youtube{border-color:#900}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-xing{border-color:#000202}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-mixcloud{border-color:#2475a0}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-vk{border-color:#243549}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-medium{border-color:#00452c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-quora{border-color:#420e00}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-meetup{border-color:#9b181c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-goodreads{border-color:#000}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-snapchat{border-color:#999700}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-500px{border-color:#00557f}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-mastodont{border-color:#185886}.sabox-plus-item{margin-bottom:20px}@media screen and (max-width:480px){.saboxplugin-wrap{text-align:center}.saboxplugin-wrap .saboxplugin-gravatar{float:none;padding:20px 0;text-align:center;margin:0 auto;display:block}.saboxplugin-wrap .saboxplugin-gravatar img{float:none;display:inline-block;display:-moz-inline-stack;vertical-align:middle;zoom:1}.saboxplugin-wrap .saboxplugin-desc{margin:0 10px 20px;text-align:center}.saboxplugin-wrap .saboxplugin-authorname{text-align:center;margin:10px 0 20px}}body .saboxplugin-authorname a,body .saboxplugin-authorname a:hover{box-shadow:none;-webkit-box-shadow:none}a.sab-profile-edit{font-size:16px!important;line-height:1!important}.sab-edit-settings a,a.sab-profile-edit{color:#0073aa!important;box-shadow:none!important;-webkit-box-shadow:none!important}.sab-edit-settings{margin-right:15px;position:absolute;right:0;z-index:2;bottom:10px;line-height:20px}.sab-edit-settings i{margin-left:5px}.saboxplugin-socials{line-height:1!important}.rtl .saboxplugin-wrap .saboxplugin-gravatar{float:right}.rtl .saboxplugin-wrap .saboxplugin-authorname{display:flex;align-items:center}.rtl .saboxplugin-wrap .saboxplugin-authorname .sab-profile-edit{margin-right:10px}.rtl .sab-edit-settings{right:auto;left:0}img.sab-custom-avatar{max-width:75px;}.saboxplugin-wrap {margin-top:0px; margin-bottom:0px; padding: 0px 0px }.saboxplugin-wrap .saboxplugin-authorname {font-size:18px; line-height:25px;}.saboxplugin-wrap .saboxplugin-desc p, .saboxplugin-wrap .saboxplugin-desc {font-size:14px !important; line-height:21px !important;}.saboxplugin-wrap .saboxplugin-web {font-size:14px;}.saboxplugin-wrap .saboxplugin-socials a svg {width:18px;height:18px;}</style><style id="vinabox-dad-css"> 398.vbx-dad{margin:0 auto 24px;max-width:100%;text-align:center} 399.vbx-dad__tag{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9a8f8a;margin-bottom:4px} 400.vbx-dad__box,.vbx-dad__link{display:block;width:var(--dad-w);height:var(--dad-h);max-width:100%;margin:0 auto;border-radius:8px;overflow:hidden;box-sizing:border-box;background:#faf6f1} 401.vbx-dad__link{line-height:0} 402.vbx-dad__link img{width:100%;height:100%;object-fit:cover;display:block;border:0} 403@media (max-width:768px){ 404.vbx-dad--sidebar-300x250,.vbx-dad--sidebar-300x600{display:none} 405.vbx-dad--mobile-320x100{margin:10px auto 16px} 406} 407@media (min-width:769px){ 408.vbx-dad--mobile-320x100{display:none} 409} 410</style> 411 <style id="vinabox-sticky-ad">@media(min-width:769px){.is-right-sidebar .inside-right-sidebar{height:100%}#block-16{position:sticky;top:30px}}</style> 412<link rel="icon" href="https://www.vinabox.fr/wp-content/uploads/2025/05/cropped-Favicon-Vinabox-32x32.png" sizes="32x32" /> 413<link rel="icon" href="https://www.vinabox.fr/wp-content/uploads/2025/05/cropped-Favicon-Vinabox-192x192.png" sizes="192x192" /> 414<link rel="apple-touch-icon" href="https://www.vinabox.fr/wp-content/uploads/2025/05/cropped-Favicon-Vinabox-180x180.png" /> 415<meta name="msapplication-TileImage" content="https://www.vinabox.fr/wp-content/uploads/2025/05/cropped-Favicon-Vinabox-270x270.png" /> 416<style type="text/css">div.nsl-container[data-align="left"] { 417 text-align: left; 418} 419 420div.nsl-container[data-align="center"] { 421 text-align: center; 422} 423 424div.nsl-container[data-align="right"] { 425 text-align: right; 426} 427 428 429div.nsl-container div.nsl-container-buttons a[data-plugin="nsl"] { 430 text-decoration: none; 431 box-shadow: none; 432 border: 0; 433} 434 435div.nsl-container .nsl-container-buttons { 436 display: flex; 437 padding: 5px 0; 438} 439 440div.nsl-container.nsl-container-block .nsl-container-buttons { 441 display: inline-grid; 442 grid-template-columns: minmax(145px, auto); 443} 444 445div.nsl-container-block-fullwidth .nsl-container-buttons { 446 flex-flow: column; 447 align-items: center; 448} 449 450div.nsl-container-block-fullwidth .nsl-container-buttons a, 451div.nsl-container-block .nsl-container-buttons a { 452 flex: 1 1 auto; 453 display: block; 454 margin: 5px 0; 455 width: 100%; 456} 457 458div.nsl-container-inline { 459 margin: -5px; 460 text-align: left; 461} 462 463div.nsl-container-inline .nsl-container-buttons { 464 justify-content: center; 465 flex-wrap: wrap; 466} 467 468div.nsl-container-inline .nsl-container-buttons a { 469 margin: 5px; 470 display: inline-block; 471} 472 473div.nsl-container-grid .nsl-container-buttons { 474 flex-flow: row; 475 align-items: center; 476 flex-wrap: wrap; 477} 478 479div.nsl-container-grid .nsl-container-buttons a { 480 flex: 1 1 auto; 481 display: block; 482 margin: 5px; 483 max-width: 280px; 484 width: 100%; 485} 486 487@media only screen and (min-width: 650px) { 488 div.nsl-container-grid .nsl-container-buttons a { 489 width: auto; 490 } 491} 492 493div.nsl-container .nsl-button { 494 cursor: pointer; 495 vertical-align: top; 496 border-radius: 4px; 497} 498 499div.nsl-container .nsl-button-default { 500 color: #fff; 501 display: flex; 502} 503 504div.nsl-container .nsl-button-icon { 505 display: inline-block; 506} 507 508div.nsl-container .nsl-button-svg-container { 509 flex: 0 0 auto; 510 padding: 8px; 511 display: flex; 512 align-items: center; 513} 514 515div.nsl-container svg { 516 height: 24px; 517 width: 24px; 518 vertical-align: top; 519} 520 521div.nsl-container .nsl-button-default div.nsl-button-label-container { 522 margin: 0 24px 0 12px; 523 padding: 10px 0; 524 font-family: Helvetica, Arial, sans-serif; 525 font-size: 16px; 526 line-height: 20px; 527 letter-spacing: .25px; 528 overflow: hidden; 529 text-align: center; 530 text-overflow: clip; 531 white-space: nowrap; 532 flex: 1 1 auto; 533 -webkit-font-smoothing: antialiased; 534 -moz-osx-font-smoothing: grayscale; 535 text-transform: none; 536 display: inline-block; 537} 538 539div.nsl-container .nsl-button-google[data-skin="light"] { 540 box-shadow: inset 0 0 0 1px #747775; 541 color: #1f1f1f; 542} 543 544div.nsl-container .nsl-button-google[data-skin="dark"] { 545 box-shadow: inset 0 0 0 1px #8E918F; 546 color: #E3E3E3; 547} 548 549div.nsl-container .nsl-button-google[data-skin="neutral"] { 550 color: #1F1F1F; 551} 552 553div.nsl-container .nsl-button-google div.nsl-button-label-container { 554 font-family: "Roboto Medium", Roboto, Helvetica, Arial, sans-serif; 555} 556 557div.nsl-container .nsl-button-apple .nsl-button-svg-container { 558 padding: 0 6px; 559} 560 561div.nsl-container .nsl-button-apple .nsl-button-svg-container svg { 562 height: 40px; 563 width: auto; 564} 565 566div.nsl-container .nsl-button-apple[data-skin="light"] { 567 color: #000; 568 box-shadow: 0 0 0 1px #000; 569} 570 571div.nsl-container .nsl-button-facebook[data-skin="white"] { 572 color: #000; 573 box-shadow: inset 0 0 0 1px #000; 574} 575 576div.nsl-container .nsl-button-facebook[data-skin="light"] { 577 color: #1877F2; 578 box-shadow: inset 0 0 0 1px #1877F2; 579} 580 581div.nsl-container .nsl-button-spotify[data-skin="white"] { 582 color: #191414; 583 box-shadow: inset 0 0 0 1px #191414; 584} 585 586div.nsl-container .nsl-button-apple div.nsl-button-label-container { 587 font-size: 17px; 588 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 589} 590 591div.nsl-container .nsl-button-slack div.nsl-button-label-container { 592 font-size: 17px; 593 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 594} 595 596div.nsl-container .nsl-button-slack[data-skin="light"] { 597 color: #000000; 598 box-shadow: inset 0 0 0 1px #DDDDDD; 599} 600 601div.nsl-container .nsl-button-tiktok[data-skin="light"] { 602 color: #161823; 603 box-shadow: 0 0 0 1px rgba(22, 24, 35, 0.12); 604} 605 606 607div.nsl-container .nsl-button-kakao { 608 color: rgba(0, 0, 0, 0.85); 609} 610 611.nsl-clear { 612 clear: both; 613} 614 615.nsl-container { 616 clear: both; 617} 618 619.nsl-disabled-provider .nsl-button { 620 filter: grayscale(1); 621 opacity: 0.8; 622} 623 624/*Button align start*/ 625 626div.nsl-container-inline[data-align="left"] .nsl-container-buttons { 627 justify-content: flex-start; 628} 629 630div.nsl-container-inline[data-align="center"] .nsl-container-buttons { 631 justify-content: center; 632} 633 634div.nsl-container-inline[data-align="right"] .nsl-container-buttons { 635 justify-content: flex-end; 636} 637 638 639div.nsl-container-grid[data-align="left"] .nsl-container-buttons { 640 justify-content: flex-start; 641} 642 643div.nsl-container-grid[data-align="center"] .nsl-container-buttons { 644 justify-content: center; 645} 646 647div.nsl-container-grid[data-align="right"] .nsl-container-buttons { 648 justify-content: flex-end; 649} 650 651div.nsl-container-grid[data-align="space-around"] .nsl-container-buttons { 652 justify-content: space-around; 653} 654 655div.nsl-container-grid[data-align="space-between"] .nsl-container-buttons { 656 justify-content: space-between; 657} 658 659/* Button align end*/ 660 661/* Redirect */ 662 663#nsl-redirect-overlay { 664 display: flex; 665 flex-direction: column; 666 justify-content: center;
667 align-items: center; 668 position: fixed; 669 z-index: 1000000; 670 left: 0; 671 top: 0; 672 width: 100%; 673 height: 100%; 674 backdrop-filter: blur(1px); 675 background-color: RGBA(0, 0, 0, .32);; 676} 677 678#nsl-redirect-overlay-container { 679 display: flex; 680 flex-direction: column; 681 justify-content: center; 682 align-items: center; 683 background-color: white; 684 padding: 30px; 685 border-radius: 10px; 686} 687 688#nsl-redirect-overlay-spinner { 689 content: ''; 690 display: block; 691 margin: 20px; 692 border: 9px solid RGBA(0, 0, 0, .6); 693 border-top: 9px solid #fff; 694 border-radius: 50%; 695 box-shadow: inset 0 0 0 1px RGBA(0, 0, 0, .6), 0 0 0 1px RGBA(0, 0, 0, .6); 696 width: 40px; 697 height: 40px; 698 animation: nsl-loader-spin 2s linear infinite; 699} 700 701@keyframes nsl-loader-spin { 702 0% { 703 transform: rotate(0deg) 704 } 705 to { 706 transform: rotate(360deg) 707 } 708} 709 710#nsl-redirect-overlay-title { 711 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 712 font-size: 18px; 713 font-weight: bold; 714 color: #3C434A; 715} 716 717#nsl-redirect-overlay-text { 718 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 719 text-align: center; 720 font-size: 14px; 721 color: #3C434A; 722} 723 724/* Redirect END*/</style><style type="text/css">/* Notice fallback */ 725#nsl-notices-fallback { 726 position: fixed; 727 right: 10px; 728 top: 10px; 729 z-index: 10000; 730} 731 732.admin-bar #nsl-notices-fallback { 733 top: 42px; 734} 735 736#nsl-notices-fallback > div { 737 position: relative; 738 background: #fff; 739 border-left: 4px solid #fff; 740 box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1); 741 margin: 5px 15px 2px; 742 padding: 1px 20px; 743} 744 745#nsl-notices-fallback > div.error { 746 display: block; 747 border-left-color: #dc3232; 748} 749 750#nsl-notices-fallback > div.updated { 751 display: block; 752 border-left-color: #46b450; 753} 754 755#nsl-notices-fallback p { 756 margin: .5em 0; 757 padding: 2px; 758} 759 760#nsl-notices-fallback > div:after { 761 position: absolute; 762 right: 5px; 763 top: 5px; 764 content: '\00d7'; 765 display: block; 766 height: 16px; 767 width: 16px; 768 line-height: 16px; 769 text-align: center; 770 font-size: 20px; 771 cursor: pointer; 772}</style><style id="wp-custom-css"> 773.vinabox-sidebar { 774 font-family: inherit; 775 font-size: 15px; 776 line-height: 1.6; 777} 778.sidebar-block { 779 margin-bottom: 25px; 780} 781.sidebar-block h3 { 782 margin-bottom: 8px; 783 font-size: 16px; 784 font-weight: bold; 785 color: #61262A; 786} 787.sidebar-block ul { 788 list-style: none; 789 padding-left: 0; 790} 791.sidebar-block ul li { 792 margin-bottom: 6px; 793} 794.sidebar-block a { 795 text-decoration: none; 796 color: #61262A; 797} 798.sidebar-block a:hover { 799 text-decoration: underline; 800} 801.sidebar-avatar { 802 width: 80px; 803 border-radius: 50%; 804 margin-bottom: 10px; 805} 806.sidebar-block input[type="text"], 807.sidebar-block input[type="email"] { 808 width: 100%; 809 padding: 8px; 810 margin-bottom: 6px; 811 border: 1px solid #ccc; 812} 813 814.sidebar-note { 815 font-size: 12px; 816 color: #777; 817} 818 819.vinabox-search-form { 820 display: flex; 821 align-items: center; 822 gap: 5px; 823} 824 825.loupe-btn:hover { 826 background-color: #4e1e22; 827} 828 829.sidebar-block button, 830.vinabox-search-form button { 831 padding: 8px 12px; 832 background-color: #61262A; 833 color: white; 834 border: none; 835 cursor: pointer; 836 border-radius: 4px; 837} 838 839.sidebar-block button:hover, 840.vinabox-search-form button:hover { 841 background-color: #4e1e22; 842} 843 844.vinabox-search-form input[type="text"] { 845 flex: 1; 846 padding: 8px; 847 height: 40px; 848 border: 1px solid #ccc; 849 border-radius: 4px; 850} 851 852.loupe-btn { 853 background-color: #61262A; 854 border: none; 855 height: 40px; /* ð¢ même hauteur que lâinput */ 856 padding: 0 12px; 857 border-radius: 4px; 858 cursor: pointer; 859 display: flex; 860 align-items: center; 861 justify-content: center; 862} 863 864.loupe-btn img { 865 width: 18px; 866 height: 18px; 867 display: block; 868} 869 870.sidebar-avatar { 871 width: 100px; 872 height: 100px; 873 object-fit: cover; 874 border-radius: 50%; 875 border: 3px solid #d39c44; 876 display: block; 877 margin: 0 auto 10px auto; /* â centrage horizontal + marge bas */ 878} 879 880.products.grid { 881 display: grid; 882 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 883 gap: 30px; 884 padding: 0; 885 list-style: none; 886} 887 888.products li.product { 889 margin: 0; 890 text-align: left; 891} 892 893.products li.product a, 894.products li.product .woocommerce-loop-product__title, 895.products li.product .price { 896 text-decoration: none; 897} 898 899.products li.product .woocommerce-loop-product__title { 900 font-size: 1rem; 901 line-height: 1.2; 902 font-weight: 600; 903 margin-bottom: 5px; 904} 905 906.products li.product .price { 907 font-size: 0.95rem; 908 color: #61262A; 909 display: block; 910 width: 100%; 911 margin-top: 5px; 912 text-align: left; 913} 914 915.products li.product .button { 916 font-size: 0.85rem; 917 padding: 6px 12px; 918 border-radius: 3px; 919 background-color: #61262A; 920 color: white; 921 transition: background-color 0.2s ease; 922 display: inline-block; 923 text-align: left; 924} 925 926.products li.product .button:hover { 927 background-color: #441b1f; 928} 929 930 931.vinabox-filters label { 932 display: flex; 933 flex-direction: column; 934 font-size: 14px; 935 font-weight: 600; 936 color: #61262A; 937} 938 939.vinabox-filters input[type="number"], 940.vinabox-filters button, 941.vinabox-filters .reset-btn { 942 padding: 8px 10px; 943 font-size: 14px; 944 border: 1px solid #ccc; 945 border-radius: 4px; 946} 947 948.vinabox-filters button { 949 background-color: #61262A; 950 color: white; 951 border: none; 952 cursor: pointer; 953} 954 955.vinabox-filters .reset-btn { 956 background: #eee; 957 color: #333; 958 text-decoration: none; 959 line-height: 38px; 960 height: 38px; 961 display: inline-block; 962 border-radius: 4px; 963 padding: 0 10px; 964} 965 966.vinabox-filter-row { 967 display: flex; 968 flex-direction: column; 969 margin-bottom: 15px; 970 min-width: 160px; 971} 972.vinabox-filter-row label { 973 font-size: 14px; 974 font-weight: 600; 975 margin-bottom: 4px; 976 color: #61262A; 977} 978.vinabox-filter-row select { 979 padding: 6px; 980 border: 1px solid #ccc; 981 border-radius: 4px; 982 font-size: 14px; 983} 984 985 986.vinabox-filter-couleurs { 987 border-top: 1px solid #eee; 988 padding-top: 15px; 989 margin-top: 10px; 990} 991 992 993.vinabox-filters { 994 display: flex; 995 flex-direction: column; 996 gap: 20px; 997 margin-bottom: 30px; 998} 999 1000.vinabox-filter-line { 1001 display: flex; 1002 flex-wrap: wrap; 1003 gap: 15px; 1004 align-items: flex-end; 1005} 1006 1007.vinabox-filter-couleurs { 1008 border-top: 1px solid #eee; 1009 padding-top: 15px; 1010 margin-top: 10px; 1011} 1012 1013.vinabox-filter-row { 1014 display: flex; 1015 flex-direction: column; 1016 min-width: 160px; 1017} 1018 1019.vinabox-filter-row label { 1020 font-size: 14px; 1021 font-weight: 600; 1022 margin-bottom: 4px; 1023 color: #61262A; 1024} 1025 1026.vinabox-filter-row select { 1027 padding: 6px; 1028 border: 1px solid #ccc; 1029 border-radius: 4px; 1030 font-size: 14px; 1031} 1032 1033.woocommerce-Tabs-panel--description h2 { 1034 display: none !important; 1035} 1036 1037li.description_tab, 1038#tab-title-description { 1039 display: none !important; 1040} 1041 1042.product_meta { 1043 display: none !important; 1044} 1045 1046.single_add_to_cart_button.button.alt { 1047 background-color: #61262A !important; /* rouge foncé */ 1048 color: #ffffff !important; 1049 font-size: 18px !important; 1050 padding: 14px 28px !important; 1051 border-radius: 6px !important; 1052 border: none !important; 1053 font-weight: bold !important; 1054 text-transform: uppercase; 1055 transition: background-color 0.3s ease !important; 1056} 1057 1058.single_add_to_cart_button.button.alt:hover { 1059 background-color: #922b21 !important; /* plus foncé au survol */ 1060 color: #ffffff !important; 1061} 1062 1063.woocommerce div.product p.price, 1064.woocommerce div.product span.price { 1065 font-size: 30px !important; /* augmente la taille */ 1066 color: #61262A !important; /* couleur bordeaux */ 1067} 1068 1069/* Masquer la bannière d'image à la une sur les pages */ 1070body.page .page-header-image { 1071 display: none !important; 1072} 1073 1074/* Ajouter une marge sous l'image à la une des pages */
1075.page .inside-article .wp-post-image { 1076 margin-bottom: 1.5em; 1077} 1078 1079.woocommerce div.product .summary { 1080 margin-bottom: -10px !important; 1081} 1082 1083.carte-box-vin { 1084 border: 3px solid #d39c44; 1085 border-radius: 12px; 1086 box-shadow: 2px 20px 20px rgba(0, 0, 0, 0.15); 1087 padding: 0px; 1088 background: #fff; 1089} 1090 1091.wp-block-columns.wp-container-core-columns-is-layout-9d6595d7 { 1092 margin-bottom: 0 !important; 1093} 1094 1095.page-id-98 .entry-title { 1096 display: none; 1097} 1098 1099/* Supprime complètement l'espacement entre le menu et le contenu sur la homepage */ 1100.home .inside-article, 1101.home .page-header { 1102 padding-top: 1px !important; 1103} 1104 1105.vbx-contact {max-width: 760px; margin: 40px auto; padding: 24px; background:#F5ECEA; border-left:6px solid #61262A; border-radius:10px; font-family: system-ui, sans-serif;} 1106.vbx-contact h1 {margin:0 0 10px; color:#61262A;} 1107.vbx-intro {margin:0 0 20px; color:#2b2b2b;} 1108.vbx-privacy {font-size:.95rem; opacity:.9; margin-top:12px;} 1109.vbx-privacy a {color:#61262A; text-decoration: underline;} 1110.wpcf7-form-control {width:100%;} 1111.wpcf7-text, .wpcf7-email, .wpcf7-textarea { 1112 padding:12px 14px; border:1px solid #e2d7d5; border-radius:10px; background:#fff; outline:none; transition:border .2s; 1113} 1114.wpcf7-textarea {min-height:150px;} 1115.wpcf7-text:focus, .wpcf7-email:focus, .wpcf7-textarea:focus {border-color:#61262A;} 1116.wpcf7-acceptance {display:block; margin:8px 0 14px;} 1117.wpcf7-submit { 1118 background:#61262A; color:#fff; border:none; padding:12px 18px; border-radius:999px; cursor:pointer; font-weight:600; 1119} 1120.wpcf7-submit:hover {filter: brightness(1.05);} 1121.wpcf7 form.invalid .wpcf7-response-output, 1122.wpcf7 form.failed .wpcf7-response-output, 1123.wpcf7 form.sent .wpcf7-response-output { 1124 margin:14px 0 0; border-radius:10px; border-left:6px solid #61262A; 1125} 1126 1127/* 1128 * ================================================================= 1129 * CSS FINAL V6 - CORRECTION DÃFINITIVE DE LA MARGE SUPÃRIEURE 1130 * ================================================================= 1131 */ 1132 1133/* ÃTAPE 1 : On garde la mise en page pleine largeur */ 1134body.single-product #primary { width: 100% !important; } 1135body.single-product #secondary { display: none !important; } 1136 1137/* ÃTAPE 2 : On cache le conteneur d'image vide du thème */ 1138.single-product .inside-article > .featured-image { 1139 display: none !important; 1140} 1141 1142/* ÃTAPE 3 : LA CORRECTION QUI CHANGE TOUT */ 1143/* On cible la marge supérieure ajoutée par le thème et on la supprime. */ 1144.single-product .entry-content { 1145 margin-top: 0 !important; 1146} 1147 1148 1149/* ÃTAPE 4 : On garde notre mise en page centrée et l'image agrandie */ 1150 1151/* On centre le titre H1 */ 1152.single-product .product .product_title { 1153 text-align: center; 1154 margin-bottom: 1.5rem; 1155} 1156 1157/* On transforme le conteneur "résumé" en un conteneur Flexbox */ 1158.single-product div.product .summary { 1159 width: 100% !important; 1160 max-width: 900px; /* Largeur augmentée pour une plus grande image */ 1161 float: none !important; 1162 margin: 0 auto !important; 1163 display: flex; 1164 flex-direction: column; 1165 align-items: center; 1166} 1167 1168/* Espacements pour les éléments */ 1169.single-product .summary .woocommerce-product-gallery, 1170.single-product .summary .price { 1171 margin-bottom: 1.5rem; 1172} 1173 1174.single-product .summary form.cart { 1175 margin-bottom: 2rem; 1176} 1177 1178/* CSS Slider YT */ 1179 1180/* SECTION GLOBALE */ 1181#vinabox-netflix-section { 1182 margin-top: 60px; 1183 background-color: rgba(211, 156, 68, 0.1); 1184 padding: 40px 20px; 1185 border-radius: 12px; 1186} 1187 1188#vinabox-netflix-section h2 { 1189 text-align: center; 1190 margin-bottom: 24px; 1191} 1192 1193/* CONTAINER SLIDER */ 1194.vinabox-slider { 1195 position: relative; 1196 max-width: 1100px; 1197 margin: 0 auto; 1198 overflow: hidden; 1199} 1200 1201.vinabox-track { 1202 display: flex; 1203 gap: 18px; 1204 transition: transform 0.4s ease; 1205 will-change: transform; 1206} 1207 1208/* CARTE VIDÃO */ 1209.vinabox-card { 1210 flex: 0 0 calc(33.333% - 12px); /* 3 cartes visibles sur desktop */ 1211 border-radius: 10px; 1212 overflow: hidden; 1213 background: #fff; 1214 box-shadow: 0 4px 12px rgba(0,0,0,0.15); 1215 text-decoration: none; 1216 color: #000; 1217 display: flex; 1218 flex-direction: column; 1219} 1220 1221.vinabox-card img { 1222 width: 100%; 1223 display: block; 1224} 1225 1226.vinabox-card-body { 1227 padding: 10px 12px 12px; 1228 font-size: 15px; 1229 font-weight: 600; 1230 line-height: 1.3; 1231} 1232 1233/* BOUTONS NAVIGATION */ 1234.vinabox-nav { 1235 position: absolute; 1236 top: 50%; 1237 transform: translateY(-50%); 1238 border: none; 1239 width: 38px; 1240 height: 70px; 1241 border-radius: 999px; 1242 background: rgba(0, 0, 0, 0.6); 1243 color: #fff; 1244 font-size: 26px; 1245 display: flex; 1246 align-items: center; 1247 justify-content: center; 1248 cursor: pointer; 1249 z-index: 10; 1250 transition: background 0.2s ease, transform 0.1s ease; 1251} 1252 1253.vinabox-nav:hover { 1254 background: rgba(0, 0, 0, 0.8); 1255 transform: translateY(-50%) scale(1.03); 1256} 1257 1258.vinabox-nav:disabled { 1259 opacity: 0.3; 1260 cursor: default; 1261 transform: translateY(-50%) scale(1); 1262} 1263 1264.vinabox-nav.vinabox-prev { 1265 left: -10px; 1266} 1267 1268.vinabox-nav.vinabox-next { 1269 right: -10px; 1270} 1271 1272/* CTA */ 1273.vinabox-cta { 1274 text-align: center; 1275 margin-top: 30px; 1276} 1277 1278.vinabox-cta a { 1279 padding: 12px 24px; 1280 background-color: #61262A; 1281 color: #fff; 1282 text-decoration: none; 1283 border-radius: 6px; 1284 display: inline-block; 1285} 1286 1287/* RESPONSIVE */ 1288@media (max-width: 900px) { 1289 .vinabox-card {
1290 flex: 0 0 calc(50% - 10px); /* 2 cartes visibles */ 1291 } 1292} 1293 1294@media (max-width: 600px) { 1295 .vinabox-card { 1296 flex: 0 0 100%; /* 1 carte visible */ 1297 } 1298 1299 .vinabox-nav.vinabox-prev { 1300 left: 4px; 1301 } 1302 1303 .vinabox-nav.vinabox-next { 1304 right: 4px; 1305 } 1306} 1307 1308 1309 1310 1311/* ============================================ 1312 * FIX OVERFLOW HORIZONTAL MOBILE (2026-04-17) 1313 * Empêche un élément débordant (image, cover, colonne) 1314 * de créer un scroll latéral sur mobile. 1315 * `clip` (et non `hidden`) pour ne pas casser sticky. 1316 * ============================================ */ 1317html, body { 1318 overflow-x: clip; 1319 max-width: 100%; 1320} 1321 1322/* Sécurité média : jamais plus large que le parent */ 1323img, video, iframe, embed, object { 1324 max-width: 100%; 1325 height: auto; 1326} 1327 1328 1329/* Fil d'Ariane : padding latéral pour ne pas coller au bord sur mobile */ 1330nav.breadcrumb, 1331.rank-math-breadcrumb { 1332 padding: 12px 30px; 1333 font-size: 14px; 1334 line-height: 1.4; 1335} 1336.rank-math-breadcrumb p { 1337 margin: 0; 1338} 1339@media (max-width: 768px) { 1340 nav.breadcrumb, 1341 .rank-math-breadcrumb { 1342 padding: 10px 20px; 1343 font-size: 13px; 1344 } 1345} 1346 1347</style> 1348</head> 1349 1350<body data-cmplz=1 class="wp-singular page-template-default page page-id-7548 wp-custom-logo wp-embed-responsive wp-theme-generatepress wp-child-theme-generatepress-child theme-generatepress woocommerce-no-js no-sidebar nav-float-right separate-containers header-aligned-left dropdown-hover" itemtype="https://schema.org/WebPage" itemscope> 1351 1352 1353<a class="screen-reader-text skip-link" href="#content" title="Aller au contenu">Aller au contenu</a> 1354<!-- TOPBAR --> 1355<div class="vb-topbar"> 1356 <div class="vb-topbar-inner"> 1357 <div class="vb-topbar-msg"> 1358 <span class="gift" aria-hidden="true"> 1359 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 12 20 22 4 22 4 12"></polyline><rect x="2" y="7" width="20" height="5"></rect><line x1="12" y1="22" x2="12" y2="7"></line><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path></svg> 1360 </span> 1361 <span><em>Cadeaux & bons plans</em> tous les mois — rejoins la newsletter Vinabox</span> 1362 <a href="https://www.vinabox.fr/newsletter/" class="vb-topbar-cta">Je m'inscris</a> 1363 </div> 1364 <div class="vb-topbar-right"> 1365 <a href="https://www.vinabox.fr/a-propos/">à propos</a> 1366 <span class="vb-topbar-sep"></span> 1367 <a href="https://www.vinabox.fr/contact/">Contact</a> 1368 </div> 1369 </div> 1370</div> 1371 1372<!-- HEADER --> 1373<header class="vb-header"> 1374 <div class="vb-header-wrap"> 1375 <div class="vb-header-inner"> 1376 1377 <a href="https://www.vinabox.fr/" class="vb-logo" aria-label="Vinabox"> 1378 <img src="https://www.vinabox.fr/wp-content/uploads/2026/05/vinabox-logo-final.svg" alt="Vinabox"> 1379 </a> 1380 1381 <nav class="vb-nav" aria-label="Navigation principale"> 1382 1383 <!-- GUIDES --> 1384 <div class="vb-nav-item"> 1385 <a href="https://www.vinabox.fr/cepage-vin/" class="has-menu">Guides</a> 1386 <div class="vb-megamenu" role="menu" aria-label="Guides"> 1387 <div class="vb-megamenu-inner"> 1388 <div> 1389 <p class="vb-mm-section-label">Apprendre le vin</p> 1390 <div class="vb-mm-grid"> 1391 <a href="https://www.vinabox.fr/cepage-vin/" class="vb-mm-link"> 1392 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C8 6 7 10 7 13a5 5 0 0 0 10 0c0-3-1-7-5-11z"/><path d="M12 13v9"/></svg></span> 1393 <span class="txt"><span class="ttl">Cépages</span><span class="desc">Pinot, Chardonnay, Syrah…</span></span> 1394 </a> 1395 <a href="https://www.vinabox.fr/millesime-vin/" class="vb-mm-link"> 1396 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></span>
1397 <span class="txt"><span class="ttl">Millésimes</span><span class="desc">Les bonnes années, par région</span></span> 1398 </a> 1399 <a href="https://www.vinabox.fr/appellation-vin/" class="vb-mm-link"> 1400 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 4 7v10l8 5 8-5V7l-8-5z"/><path d="M4 7l8 5 8-5"/><path d="M12 12v10"/></svg></span> 1401 <span class="txt"><span class="ttl">Appellations</span><span class="desc">AOC, IGP, classements</span></span> 1402 </a> 1403 <a href="https://www.vinabox.fr/domaines/" class="vb-mm-link"> 1404 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21V8l9-5 9 5v13"/><path d="M9 21v-7h6v7"/></svg></span> 1405 <span class="txt"><span class="ttl">Domaines</span><span class="desc">Vignerons et maisons</span></span> 1406 </a> 1407 <a href="https://www.vinabox.fr/outils-vin/" class="vb-mm-link"> 1408 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3h7v7"/><path d="M10 21H3v-7"/><path d="M21 3l-9 9"/><path d="M3 21l9-9"/></svg></span> 1409 <span class="txt"><span class="ttl">Outils</span><span class="desc">Calculateurs, accords, lexique</span></span> 1410 </a> 1411 </div> 1412 </div> 1413 <div class="vb-mm-feature"> 1414 <span class="badge">Quiz</span> 1415 <h4>Teste tes connaissances en vin</h4> 1416 <p>10 questions, 3 minutes, un score honnête. On te dit où tu en es et quoi lire ensuite.</p> 1417 <a href="https://www.vinabox.fr/quiz/" class="cta">Commencer le quiz</a> 1418 <span class="glass" aria-hidden="true">🍷</span> 1419 </div> 1420 </div> 1421 </div> 1422 </div> 1423 1424 <!-- AVIS & TESTS --> 1425 <div class="vb-nav-item"> 1426 <a href="https://www.vinabox.fr/box-vin/" class="has-menu">Avis & Tests</a> 1427 <div class="vb-megamenu compact" role="menu" aria-label="Avis et Tests"> 1428 <div class="vb-megamenu-inner"> 1429 <div> 1430 <p class="vb-mm-section-label">Nos tests & comparatifs</p> 1431 <div class="vb-mm-grid"> 1432 <a href="https://www.vinabox.fr/box-vin/" class="vb-mm-link"> 1433 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 10h18"/></svg></span> 1434 <span class="txt"><span class="ttl">Box & abonnements vin</span><span class="desc">19 box testées, notées</span></span> 1435 </a> 1436 <a href="https://www.vinabox.fr/coffret-vin/" class="vb-mm-link"> 1437 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 7h14l-1 13H6L5 7z"/><path d="M9 7V5a3 3 0 0 1 6 0v2"/></svg></span> 1438 <span class="txt"><span class="ttl">Coffrets vin</span><span class="desc">Cadeaux et coffrets dégustation</span></span> 1439 </a> 1440 <a href="https://www.vinabox.fr/accessoires-vin/" class="vb-mm-link"> 1441 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2v6a6 6 0 0 0 12 0V2"/><path d="M6 2h12"/><path d="M12 14v8"/><path d="M9 22h6"/></svg></span> 1442 <span class="txt"><span class="ttl">Accessoires vin</span><span class="desc">Verres, tire-bouchons, caves</span></span> 1443 </a> 1444 <a href="https://www.vinabox.fr/coravin/" class="vb-mm-link">
1445 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 2h4"/><path d="M12 2v5"/><path d="M9 7h6l1 3v11a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V10l1-3z"/></svg></span> 1446 <span class="txt"><span class="ttl">Coravin</span><span class="desc">Le guide complet, testé 14 mois</span></span> 1447 </a> 1448 </div> 1449 </div> 1450 </div> 1451 </div> 1452 </div> 1453 1454 <!-- BONS PLANS --> 1455 <div class="vb-nav-item"> 1456 <a href="https://www.vinabox.fr/bons-plans/" class="has-menu">Bons Plans</a> 1457 <div class="vb-megamenu compact" role="menu" aria-label="Bons Plans"> 1458 <div class="vb-megamenu-inner"> 1459 <div> 1460 <p class="vb-mm-section-label">Économiser sur le vin</p> 1461 <div class="vb-mm-grid"> 1462 <a href="https://www.vinabox.fr/bons-plans/" class="vb-mm-link"> 1463 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12V8H6a2 2 0 0 1-2-2c0-1 1-2 2-2h12v4"/><path d="M4 6v12a2 2 0 0 0 2 2h14v-4"/><circle cx="16" cy="14" r="1"/></svg></span> 1464 <span class="txt"><span class="ttl">Codes de réduction</span><span class="desc">Promos vérifiées chaque semaine</span></span> 1465 </a> 1466 </div> 1467 </div> 1468 </div> 1469 </div> 1470 </div> 1471 1472 <!-- OUTILS --> 1473 <div class="vb-nav-item"> 1474 <a href="https://www.vinabox.fr/outils-vin/" class="has-menu">Outils</a> 1475 <div class="vb-megamenu compact" role="menu" aria-label="Outils"> 1476 <div class="vb-megamenu-inner"> 1477 <div> 1478 <p class="vb-mm-section-label">Outils & jeux du vin</p> 1479 <div class="vb-mm-grid"> 1480 <a href="https://www.vinabox.fr/outils-vin/combien-de-bouteilles/" class="vb-mm-link"> 1481 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="16" height="20" rx="2"/><path d="M8 6h8"/><path d="M8 11h.01M12 11h.01M16 11h.01M8 15h.01M12 15h.01M16 15h.01"/></svg></span> 1482 <span class="txt"><span class="ttl">Calculateur de bouteilles</span><span class="desc">Combien prévoir pour vos invités</span></span> 1483 </a> 1484 <a href="https://www.vinabox.fr/outils-vin/roue-des-aromes/" class="vb-mm-link"> 1485 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 3v18"/><path d="M3 12h18"/><path d="M5.6 5.6l12.8 12.8"/><path d="M18.4 5.6 5.6 18.4"/></svg></span> 1486 <span class="txt"><span class="ttl">Roue des arômes</span><span class="desc">Vin, champagne, whisky, rhum</span></span> 1487 </a> 1488 <a href="https://www.vinabox.fr/jeux/" class="vb-mm-link"> 1489 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="3"/><path d="M8 8h.01M16 8h.01M12 12h.01M8 16h.01M16 16h.01"/></svg></span> 1490 <span class="txt"><span class="ttl">Jeux</span><span class="desc">Dégustation à l'aveugle entre amis</span></span> 1491 </a> 1492 <a href="https://www.vinabox.fr/quiz/" class="vb-mm-link"> 1493 <span class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.8.4-1 1-1 1.7"/><path d="M12 17h.01"/></svg></span>
1494 <span class="txt"><span class="ttl">Quiz</span><span class="desc">Testez vos connaissances en vin</span></span> 1495 </a> 1496 </div> 1497 </div> 1498 </div> 1499 </div> 1500 </div> 1501 1502 <!-- LE MAG --> 1503 <a href="https://www.vinabox.fr/actu/">Le Mag</a> 1504 1505 </nav> 1506 1507 <div class="vb-header-actions"> 1508 <button class="vb-icon-btn" aria-label="Rechercher" data-vinabox-search-toggle="open"> 1509 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"></circle><path d="m21 21-4.3-4.3"></path></svg> 1510 <span class="label-tooltip">Rechercher</span> 1511 </button> 1512 <a href="https://www.vinabox.fr/mon-compte/" class="vb-icon-btn" aria-label="Mon compte"> 1513 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg> 1514 <span class="label-tooltip">Mon compte</span> 1515 </a> 1516 <button class="vb-burger" aria-label="Menu"> 1517 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M4 7h16M4 12h16M4 17h16"/></svg> 1518 </button> 1519 </div> 1520 1521 </div> 1522 </div> 1523</header> 1524 1525<div class="vbx-dad vbx-dad--mobile-320x100" data-vbx-ad-slot="mobile-320x100" style="--dad-w:320px;--dad-h:100px"><span class="vbx-dad__tag">Publicité</span><div class="vbx-dad__box" aria-hidden="true"></div></div> 1526<div class="site grid-container container hfeed" id="page"> 1527 <div class="site-content" id="content"> 1528 1529 <div class="content-area" id="primary"> 1530 <main class="site-main" id="main"> 1531 <nav class="breadcrumb" aria-label="Fil d'Ariane"><nav aria-label="breadcrumbs" class="rank-math-breadcrumb"><p><a href="https://www.vinabox.fr/">Accueil</a><span class="separator"> » </span><span class="last">Newsletter</span></p></nav></nav> 1532 <article id="post-7548" class="post-7548 page type-page status-publish"> 1533 <div class="inside-article"> 1534 1535 1536 <header class="entry-header"> 1537 <h1 class="entry-title" itemprop="headline">Newsletter Vinabox : Cadeaux à gagner chaque mois</h1> </header> 1538 1539 <div class="entry-content" itemprop="text"> 1540 <div id="ez-toc-container" class="ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction"> 1541<div class="ez-toc-title-container"> 1542<p class="ez-toc-title" style="cursor:inherit">Sommaire de l'article</p> 1543<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div> 1544<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class="ez-toc-link ez-toc-heading-1" href="#La_newsletter_vin_la_plus_genereuse_du_web" >La newsletter vin la plus généreuse du web</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#Decouvertes_vin_chaque_semaine" >Découvertes vin chaque semaine</a></li>
1544<li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-3" href="#Cadeaux_a_gagner_tous_les_mois" >Cadeaux à gagner tous les mois</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-4" href="#Progresser_en_degustation" >Progresser en dégustation</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#Deux_concours_deux_chances_de_gagner_chaque_mois" >Deux concours, deux chances de gagner chaque mois</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#Concours_Newsletter" >Concours Newsletter</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#Concours_YouTube" >Concours YouTube</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="#Deja_distribues_a_nos_abonnes" >Déjà distribués à nos abonnés</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon" >Coffret « Soif de connaissance » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-2" >Coffret « Soif de connaissance » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-3" >Coffret « Soif de connaissance » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-12" href="#Coupe-capsule_WMF_Vino" >Coupe-capsule WMF Vino</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-13" href="#Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-4" >Coffret « Soif de connaissance » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-5" >Coffret « Soif de connaissance » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-15" href="#Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-6" >Coffret « Soif de connaissance » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-16" href="#Abonnement_3_mois_%C2%AB_Petit_Curieux_%C2%BB_Le_Petit_Ballon" >Abonnement 3 mois « Petit Curieux » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-17" href="#Abonnement_3_mois_%C2%AB_Petit_Curieux_%C2%BB_Le_Petit_Ballon-2" >Abonnement 3 mois « Petit Curieux » : Le Petit Ballon</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-18" href="#Abonnement_3_mois_%C2%AB_Petit_Curieux_%C2%BB_Le_Petit_Ballon-3" >Abonnement 3 mois « Petit Curieux » : Le Petit Ballon</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-19" href="#Trois_etapes_zero_paperasse" >Trois étapes, zéro paperasse</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-20" href="#Inscris-toi" >Inscris-toi</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-21" href="#Recois_la_newsletter" >Reçois la newsletter</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-22" href="#Participe_automatiquement" >Participe automatiquement</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-23" href="#Convaincue_Rejoins_les_abonnes_Vinabox" >Convaincu(e) ? Rejoins les abonnés Vinabox.</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-24" href="#Les_questions_quon_me_pose" >Les questions qu’on me pose</a></li></ul></li></ul></nav></div> 1545<div class="vb-nl"> 1546 1547<!-- 1. HERO --> 1548<section class="hero"> 1549 <div class="wrap"> 1550 <div>
1551 <span class="hero-eyebrow"><span class="dot"></span>Tirage au sort le 1er du mois</span> 1552 1553<h1><span class="ez-toc-section" id="La_newsletter_vin_la_plus_genereuse_du_web"></span>La newsletter vin la plus <em>généreuse</em> du web<span class="ez-toc-section-end"></span></h1> 1554 <p class="lead">Chaque semaine : découvertes vin et bons plans exclusifs. Chaque mois : des cadeaux à gagner par tirage au sort. Gratuit, sans spam.</p> 1555 1556 <div class="hero-form"> 1557 1558 1559 1560 <form id="sib_signup_form_1" method="post" class="sib_signup_form"> 1561 <div class="sib_loader" style="display:none;"><img 1562 src="https://www.vinabox.fr/wp-includes/images/spinner.gif" alt="loader"></div> 1563 <input type="hidden" name="sib_form_action" value="subscribe_form_submit"> 1564 <input type="hidden" name="sib_form_id" value="1"> 1565 <input type="hidden" name="sib_form_alert_notice" value="Remplissez ce champ sâil vous plaît"> 1566 <input type="hidden" name="sib_form_invalid_email_notice" value="Cette adresse email n'est pas valide"> 1567 <input type="hidden" name="sib_security" value="e2dbd3a41e"> 1568 <div class="sib_signup_box_inside_1"> 1569 <div style="/*display:none*/" class="sib_msg_disp"> 1570 </div> 1571 <p class="sib-email-area"> 1572 <label>Adresse email <span class="req">*</span></label> 1573 <input type="email" class="sib-email-area" name="email" required="required" placeholder="[email protected]"> 1574</p> 1575<div class="field-row"> 1576<p class="sib-FIRSTNAME-area"> 1577 <label>Prénom</label> 1578 <input type="text" class="sib-FIRSTNAME-area" name="FIRSTNAME" placeholder="Ton prénom"> 1579</p> 1580<p class="sib-LASTNAME-area"> 1581 <label>Nom</label> 1582 <input type="text" class="sib-LASTNAME-area" name="LASTNAME" placeholder="Ton nom"> 1583</p> 1584</div> 1585<p> 1586 <p><label style="display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;color:#666;margin:10px 0"><input type="checkbox" name="confirm_18" value="1" required><span>Je certifie avoir <strong>18 ans ou plus</strong>. <a href="https://www.vinabox.fr/reglement-concours/" target="_blank" rel="noopener">Règlement du concours</a>.</span></label></p><input type="submit" class="sib-default-btn" value="Je m'inscris"> 1587</p> </div> 1588 </form> 1589 <style> 1590 form#sib_signup_form_1 p.sib-alert-message { 1591 padding: 6px 12px; 1592 margin-bottom: 20px; 1593 border: 1px solid transparent; 1594 border-radius: 4px; 1595 -webkit-box-sizing: border-box; 1596 -moz-box-sizing: border-box; 1597 box-sizing: border-box; 1598} 1599form#sib_signup_form_1 p.sib-alert-message-error { 1600 background-color: #f2dede; 1601 border-color: #ebccd1; 1602 color: #a94442; 1603} 1604form#sib_signup_form_1 p.sib-alert-message-success { 1605 background-color: #dff0d8; 1606 border-color: #d6e9c6; 1607 color: #3c763d; 1608} 1609form#sib_signup_form_1 p.sib-alert-message-warning { 1610 background-color: #fcf8e3; 1611 border-color: #faebcc; 1612 color: #8a6d3b; 1613} 1614 </style> 1615 1616 1617 1618 1619 </div> 1620 1621 <div class="hero-trust"> 1622 <span><span class="ok">✓</span> 100% gratuit</span> 1623 <span><span class="ok">✓</span> Désabo en 1 clic</span> 1624 <span><span class="ok">✓</span> Réservé +18 ans</span> 1625 <span><span class="ok">✓</span> 1 email / semaine</span> 1626 </div> 1627 </div> 1628 1629 <div class="hero-visual"> 1630 <div class="badge"> 1631 <span class="big">10</span> 1632 <span class="lbl">cadeaux<br>distribués</span> 1633 </div> 1634 <svg viewBox="0 0 320 380" fill="none" stroke="#E3B96A" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"> 1635 <line x1="20" y1="350" x2="300" y2="350" stroke="rgba(227,185,106,0.4)" stroke-width="1"/> 1636 <g><rect x="80" y="220" width="160" height="130" rx="3"/><line x1="160" y1="220" x2="160" y2="350"/><line x1="80" y1="252" x2="240" y2="252"/><rect x="150" y="220" width="20" height="130" fill="rgba(211,156,68,0.18)"/><path d="M160 220 C 138 195, 128 207, 140 222 C 128 230, 150 232, 160 220"/><path d="M160 220 C 182 195, 192 207, 180 222 C 192 230, 170 232, 160 220"/><circle cx="160" cy="222" r="4" fill="#D39C44" stroke="#D39C44"/></g> 1637 <g><path d="M48 60 L48 88 C 48 100, 30 108, 30 130 L30 215 C 30 220, 33 223, 38 223 L78 223 C 83 223, 86 220, 86 215 L86 130 C 86 108, 68 100, 68 88 L68 60 Z"/><line x1="48" y1="60" x2="68" y2="60" stroke-width="3"/><rect x="30" y="148" width="56" height="42" fill="rgba(211,156,68,0.15)"/><line x1="40" y1="160" x2="76" y2="160"/><line x1="40" y1="170" x2="68" y2="170"/><line x1="40" y1="180" x2="72" y2="180"/></g> 1638 <g><path d="M210 90 C 210 130, 225 148, 245 148 C 265 148, 280 130, 280 90 Z"/><path d="M215 110 C 220 132, 230 144, 245 144 C 260 144, 270 132, 275 110 Z" fill="rgba(211,156,68,0.3)"/><line x1="245" y1="148" x2="245" y2="215"/><ellipse cx="245" cy="220" rx="22" ry="4"/></g> 1639 <g><rect x="20" y="290" width="60" height="60" rx="2"/><line x1="20" y1="312" x2="80" y2="312"/><rect x="44" y="290" width="12" height="60" fill="rgba(211,156,68,0.18)"/><path d="M50 290 C 42 282, 36 287, 42 294"/>
1639<path d="M50 290 C 58 282, 64 287, 58 294"/></g> 1640 <g><rect x="240" y="295" width="56" height="55" rx="2"/><line x1="240" y1="316" x2="296" y2="316"/><rect x="262" y="295" width="12" height="55" fill="rgba(211,156,68,0.18)"/><path d="M268 295 C 260 287, 254 292, 260 299"/><path d="M268 295 C 276 287, 282 292, 276 299"/></g> 1641 <g opacity="0.7"><rect x="115" y="60" width="14" height="120" rx="3"/><rect x="118" y="100" width="8" height="60" fill="rgba(211,156,68,0.25)"/><line x1="122" y1="60" x2="122" y2="44" stroke-width="2"/></g> 1642 <g stroke="#D39C44" stroke-width="1.4"><path d="M285 50 L285 64 M278 57 L292 57"/><path d="M120 30 L120 40 M115 35 L125 35"/><path d="M195 175 L195 183 M191 179 L199 179"/><circle cx="15" cy="180" r="2" fill="#D39C44" stroke="none"/><circle cx="305" cy="240" r="2" fill="#D39C44" stroke="none"/></g> 1643 </svg> 1644 </div> 1645 </div> 1646</section> 1647 1648<!-- 2. RAISONS --> 1649<section class="reasons"> 1650 <div class="wrap"> 1651 <div class="grid"> 1652 <div class="reason"> 1653 <div class="ic"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 2h10c0 5-1 9-5 9s-5-4-5-9z"/><line x1="12" y1="11" x2="12" y2="20"/><line x1="8" y1="21" x2="16" y2="21"/></svg></div> 1654 <h3><span class="ez-toc-section" id="Decouvertes_vin_chaque_semaine"></span>Découvertes vin chaque semaine<span class="ez-toc-section-end"></span></h3> 1655 <p>Sélections testées, bons plans, codes promo exclusifs des meilleures box et caves en ligne.</p> 1656 </div> 1657 <div class="reason"> 1658 <div class="ic"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="8" width="18" height="4"/><rect x="5" y="12" width="14" height="9"/><line x1="12" y1="8" x2="12" y2="21"/><path d="M12 8c-2.5-3-6-2-5 .5"/><path d="M12 8c2.5-3 6-2 5 .5"/></svg></div> 1659 <h3><span class="ez-toc-section" id="Cadeaux_a_gagner_tous_les_mois"></span>Cadeaux à gagner tous les mois<span class="ez-toc-section-end"></span></h3> 1660 <p>Tirage au sort mensuel réservé aux abonnés newsletter : bouteilles, coffrets, accessoires.</p> 1661 </div> 1662 <div class="reason"> 1663 <div class="ic"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="3 17 9 11 13 15 21 7"/><polyline points="15 7 21 7 21 13"/></svg></div> 1664 <h3><span class="ez-toc-section" id="Progresser_en_degustation"></span>Progresser en dégustation<span class="ez-toc-section-end"></span></h3> 1665 <p>Apprends à déguster, décrypter une étiquette, choisir le bon vin, du débutant au passionné.</p> 1666 </div> 1667 </div> 1668 </div> 1669</section> 1670 1671<!-- 3. DEUX CONCOURS --> 1672<section class="concours"> 1673 <div class="wrap"> 1674 <div class="section-head"> 1675 <p class="eyebrow">Deux tirages</p> 1676 <h2><span class="ez-toc-section" id="Deux_concours_deux_chances_de_gagner_chaque_mois"></span>Deux concours, <em>deux chances</em> de gagner chaque mois<span class="ez-toc-section-end"></span></h2> 1677 <p>On organise deux tirages au sort indépendants : un pour la newsletter, un pour YouTube. Double tes chances en t’inscrivant aux deux.</p> 1678 </div> 1679 <div class="grid"> 1680 <div class="concours-card nl"> 1681 <span class="card-badge">Newsletter</span> 1682 <h3><span class="ez-toc-section" id="Concours_Newsletter"></span>Concours Newsletter<span class="ez-toc-section-end"></span></h3> 1683 <dl> 1684 <dt>Fréquence</dt> 1685 <dd>Tirage au sort <strong>mensuel</strong>, le 1er du mois</dd> 1686 <dt>Condition</dt> 1687 <dd>Ãtre inscrit à la newsletter (gratuit)</dd> 1688 <dt>Tirage</dt> 1689 <dd>Automatique parmi tous les inscrits actifs</dd> 1690 </dl> 1691 <div class="lots"> 1692 <span class="lbl">Lots habituels</span> 1693 <p>Coffret « Soif de connaissance » Le Petit Ballon (2 bouteilles, valeur â 25 â¬, livraison incluse), le lot de chaque tirage mensuel.</p> 1694 </div> 1695 <a href="#" class="cta" onclick="window.scrollTo({top:0,behavior:'smooth'});return false;">Je m’inscris ↑</a> 1696 </div> 1697 <div class="concours-card yt">
1698 <span class="card-badge">YouTube</span> 1699 <h3><span class="ez-toc-section" id="Concours_YouTube"></span>Concours YouTube<span class="ez-toc-section-end"></span></h3> 1700 <dl> 1701 <dt>Fréquence</dt> 1702 <dd>Concours ponctuels sur les vidéos + tirage exclusif membres Tier 3</dd> 1703 <dt>Condition</dt> 1704 <dd>Ãtre abonné à la chaîne (gratuit) ou membre Tier 3 pour le tirage premium</dd> 1705 <dt>Tirage</dt> 1706 <dd>Annoncé dans les vidéos & communauté</dd> 1707 </dl> 1708 <div class="lots"> 1709 <span class="lbl">Lots à gagner</span> 1710 <p>Concours vidéo (ex : coupe-capsule WMF), et pour les membres Tier 3 : une bouteille premium chaque mois, en jeu actuellement, Champagne Louis Roederer Brut Millésimé 2016 (79 â¬).</p> 1711 </div> 1712 <a href="https://youtube.com/@VinaboxFr" class="cta" target="_blank" rel="noopener">S’abonner sur YouTube →</a> 1713 </div> 1714 <div class="vs">vs</div> 1715 </div> 1716 </div> 1717</section> 1718 1719<!-- 4. HISTORIQUE CADEAUX --> 1720<section class="histo"> 1721 <div class="wrap"> 1722 <div class="section-head"> 1723 <p class="eyebrow">Preuve sociale</p> 1724 <h2><span class="ez-toc-section" id="Deja_distribues_a_nos_abonnes"></span>Déjà distribués <em>à nos abonnés</em><span class="ez-toc-section-end"></span></h2> 1725 <p>Voici les cadeaux réellement envoyés aux gagnants depuis le lancement des concours.</p> 1726 </div> 1727 <div class="grid"> 1728 <article class="gift-card"> 1729 <div class="visual v-coffret"><img decoding="async" width="600" height="600" src="/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" alt="Coffret Soif de connaissance Le Petit Ballon" loading="lazy"> 1730 <span class="pill">Newsletter</span> 1731 <span class="value">25 â¬</span> 1732 </div> 1733 <div class="body"> 1734 <span class="month">Juin 2026</span> 1735 <h3 class="name"><span class="ez-toc-section" id="Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon"></span>Coffret « Soif de connaissance » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1736 <p class="type">Tirage au sort mensuel : 2 bouteilles</p> 1737 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Voir ce coffret →</a> 1738 </div> 1739 </article> 1740 <article class="gift-card"> 1741 <div class="visual v-coffret"><img decoding="async" width="600" height="600" src="/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" alt="Coffret Soif de connaissance Le Petit Ballon" loading="lazy"> 1742 <span class="pill">Newsletter</span> 1743 <span class="value">25 â¬</span> 1744 </div> 1745 <div class="body"> 1746 <span class="month">Mai 2026</span> 1747 <h3 class="name"><span class="ez-toc-section" id="Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-2"></span>Coffret « Soif de connaissance » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1748 <p class="type">Tirage au sort mensuel : 2 bouteilles</p> 1749 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Voir ce coffret →</a> 1750 </div> 1751 </article> 1752 <article class="gift-card"> 1753 <div class="visual v-coffret"><img decoding="async" width="600" height="600" src="/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" alt="Coffret Soif de connaissance Le Petit Ballon" loading="lazy"> 1754 <span class="pill">Newsletter</span> 1755 <span class="value">25 â¬</span> 1756 </div> 1757 <div class="body"> 1758 <span class="month">Avril 2026</span> 1759 <h3 class="name"><span class="ez-toc-section" id="Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-3"></span>Coffret « Soif de connaissance » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1760 <p class="type">Tirage au sort mensuel : 2 bouteilles</p> 1761 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Voir ce coffret →</a> 1762 </div> 1763 </article> 1764 <article class="gift-card"> 1765 <div class="visual v-coupe"><img decoding="async" width="1024" height="512" src="/wp-content/uploads/2026/03/avis-coupe-capsule-wmf-vino-1-1024x512.jpg" alt="Coupe-capsule WMF Vino en métal" loading="lazy">
1766 <span class="pill yt">YouTube</span> 1767 </div> 1768 <div class="body"> 1769 <span class="month">Mars 2026</span> 1770 <h3 class="name"><span class="ez-toc-section" id="Coupe-capsule_WMF_Vino"></span>Coupe-capsule WMF Vino<span class="ez-toc-section-end"></span></h3> 1771 <p class="type">Concours vidéo « Coupe-capsule à 1 ⬠vs 1000 ⬠»</p> 1772 <a class="gift-link" href="/go/coupe-capsule/wmf-vino" target="_blank" rel="sponsored noopener">Voir ce coupe-capsule →</a> 1773 </div> 1774 </article> 1775 <article class="gift-card"> 1776 <div class="visual v-coffret"><img decoding="async" width="600" height="600" src="/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" alt="Coffret Soif de connaissance Le Petit Ballon" loading="lazy"> 1777 <span class="pill">Newsletter</span> 1778 <span class="value">25 â¬</span> 1779 </div> 1780 <div class="body"> 1781 <span class="month">Mars 2026</span> 1782 <h3 class="name"><span class="ez-toc-section" id="Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-4"></span>Coffret « Soif de connaissance » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1783 <p class="type">Tirage au sort mensuel : 2 bouteilles</p> 1784 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Voir ce coffret →</a> 1785 </div> 1786 </article> 1787 <article class="gift-card"> 1788 <div class="visual v-coffret"><img decoding="async" width="600" height="600" src="/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" alt="Coffret Soif de connaissance Le Petit Ballon" loading="lazy"> 1789 <span class="pill">Newsletter</span> 1790 <span class="value">25 â¬</span> 1791 </div> 1792 <div class="body"> 1793 <span class="month">Février 2026</span> 1794 <h3 class="name"><span class="ez-toc-section" id="Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-5"></span>Coffret « Soif de connaissance » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1795 <p class="type">Tirage au sort mensuel : 2 bouteilles</p> 1796 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Voir ce coffret →</a> 1797 </div> 1798 </article> 1799 <article class="gift-card"> 1800 <div class="visual v-coffret"><img decoding="async" width="600" height="600" src="/wp-content/uploads/2026/07/coffret-soif-de-connaissance-le-petit-ballon.jpg" alt="Coffret Soif de connaissance Le Petit Ballon" loading="lazy"> 1801 <span class="pill">Newsletter</span> 1802 <span class="value">25 â¬</span> 1803 </div> 1804 <div class="body"> 1805 <span class="month">Janvier 2026</span> 1806 <h3 class="name"><span class="ez-toc-section" id="Coffret_%C2%AB_Soif_de_connaissance_%C2%BB_Le_Petit_Ballon-6"></span>Coffret « Soif de connaissance » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1807 <p class="type">Tirage au sort mensuel : 2 bouteilles</p> 1808 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Voir ce coffret →</a> 1809 </div> 1810 </article> 1811 <article class="gift-card"> 1812 <div class="visual v-coffret"><img decoding="async" width="600" height="339" src="/wp-content/uploads/2025/05/le-petit-ballon-petits-curieux-avis-600x339.jpg" alt="Box Petit Curieux Le Petit Ballon" loading="lazy"> 1813 <span class="pill">Newsletter</span> 1814 <span class="value">3 mois</span> 1815 </div> 1816 <div class="body"> 1817 <span class="month">Décembre 2025</span> 1818 <h3 class="name"><span class="ez-toc-section" id="Abonnement_3_mois_%C2%AB_Petit_Curieux_%C2%BB_Le_Petit_Ballon"></span>Abonnement 3 mois « Petit Curieux » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1819 <p class="type">Tirage au sort mensuel : 2 bouteilles/mois pendant 3 mois</p> 1820 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Découvrir la box →</a> 1821 </div> 1822 </article> 1823 <article class="gift-card"> 1824 <div class="visual v-coffret"><img decoding="async" width="600" height="293" src="/wp-content/uploads/2025/05/test-box-ptit-curieux-LR-600x293.jpg" alt="Box Petit Curieux Le Petit Ballon ouverte" loading="lazy">
1825 <span class="pill">Newsletter</span> 1826 <span class="value">3 mois</span> 1827 </div> 1828 <div class="body"> 1829 <span class="month">Novembre 2025</span> 1830 <h3 class="name"><span class="ez-toc-section" id="Abonnement_3_mois_%C2%AB_Petit_Curieux_%C2%BB_Le_Petit_Ballon-2"></span>Abonnement 3 mois « Petit Curieux » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1831 <p class="type">Tirage au sort mensuel : 2 bouteilles/mois pendant 3 mois</p> 1832 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Découvrir la box →</a> 1833 </div> 1834 </article> 1835 <article class="gift-card"> 1836 <div class="visual v-coffret"><img decoding="async" width="600" height="339" src="/wp-content/uploads/2025/05/le-petit-ballon-petits-curieux-avis-600x339.jpg" alt="Box Petit Curieux Le Petit Ballon" loading="lazy"> 1837 <span class="pill">Newsletter</span> 1838 <span class="value">3 mois</span> 1839 </div> 1840 <div class="body"> 1841 <span class="month">Octobre 2025</span> 1842 <h3 class="name"><span class="ez-toc-section" id="Abonnement_3_mois_%C2%AB_Petit_Curieux_%C2%BB_Le_Petit_Ballon-3"></span>Abonnement 3 mois « Petit Curieux » : Le Petit Ballon<span class="ez-toc-section-end"></span></h3> 1843 <p class="type">Premier tirage : lancement de la newsletter</p> 1844 <a class="gift-link" href="/go/lepetitballon" target="_blank" rel="sponsored noopener">Découvrir la box →</a> 1845 </div> 1846 </article> 1847 </div> 1848 </div> 1849</section> 1850 1851<!-- 5. STATS (chiffres live Brevo + YouTube) --> 1852<section class="stats"> 1853 <div class="wrap"> 1854 1855 1856<div class="grid"><div class="stat"><span class="ic"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="8" width="18" height="4"/><rect x="5" y="12" width="14" height="9"/><line x1="12" y1="8" x2="12" y2="21"/><path d="M12 8c-2.5-3-6-2-5 .5"/><path d="M12 8c2.5-3 6-2 5 .5"/></svg></span><span class="num" data-count="10">10</span><p class="lbl">cadeaux distribués depuis octobre 2025</p></div><div class="stat"><span class="ic"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg></span><span class="num" data-count="247">247</span><p class="lbl">abonnés à la newsletter Vinabox</p></div><div class="stat"><span class="ic"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2.5" y="5" width="19" height="14" rx="4"/><path d="M10 9.5v5l4.5-2.5z"/></svg></span><span class="num" data-count="1140">1 140</span><p class="lbl">abonnés à la chaîne YouTube</p></div></div> 1857 1858 1859 1860 </div> 1861</section> 1862 1863<!-- 6. COMMENT CA MARCHE --> 1864<section class="howto"> 1865 <div class="wrap"> 1866 <div class="section-head"> 1867 <p class="eyebrow">Comment ça marche</p> 1868 <h2><span class="ez-toc-section" id="Trois_etapes_zero_paperasse"></span>Trois étapes, <em>zéro paperasse</em><span class="ez-toc-section-end"></span></h2> 1869 <p>Tu remplis le formulaire, tu reçois la newsletter, tu participes automatiquement au tirage. C’est tout.</p> 1870 </div> 1871 <div class="grid"> 1872 <div class="step"> 1873 <div class="num">1</div> 1874 <h3><span class="ez-toc-section" id="Inscris-toi"></span>Inscris-toi<span class="ez-toc-section-end"></span></h3> 1875 <p>Remplis le formulaire en 30 secondes. 100% gratuit, sans engagement.</p> 1876 </div> 1877 <div class="step"> 1878 <div class="num">2</div> 1879 <h3><span class="ez-toc-section" id="Recois_la_newsletter"></span>Reçois la newsletter<span class="ez-toc-section-end"></span></h3> 1880 <p>Chaque semaine : sélections vin, bons plans, codes promo exclusifs.</p> 1881 </div> 1882 <div class="step"> 1883 <div class="num">3</div> 1884 <h3><span class="ez-toc-section" id="Participe_automatiquement"></span>Participe automatiquement<span class="ez-toc-section-end"></span></h3> 1885 <p>Tu es inscrit = tu es dans le tirage mensuel. Rien d’autre à faire.</p> 1886 </div> 1887 </div> 1888 </div> 1889</section> 1890 1891<!-- 7. CTA SECONDAIRE --> 1892<section class="cta-band"> 1893 <div class="wrap"> 1894 <div> 1895 <h2><span class="ez-toc-section" id="Convaincue_Rejoins_les_abonnes_Vinabox"></span>Convaincu(e) ? <em>Rejoins les abonnés Vinabox.</em><span class="ez-toc-section-end"></span></h2> 1896 <p>Une newsletter par semaine, des cadeaux chaque mois. Pas de spam, pas de revente, pas de blabla.</p> 1897 </div> 1898 <form class="cta-band-form" id="vb-nl-cta2" onsubmit="var em=this.email.value.trim();var t=document.querySelector('.vb-nl .hero-form input[name="email"]');if(t&&em)t.value=em;window.scrollTo({top:0,behavior:'smooth'});if(t)setTimeout(function(){t.focus({preventScroll:true});},700);return false;"> 1899 <input type="email" name="email" placeholder="Ton email" required autocomplete="email"> 1900 <button type="submit">Je m’inscris</button> 1901 </form> 1902 </div> 1903</section> 1904 1905<!-- 8. FAQ --> 1906<section class="faq"> 1907 <div class="wrap"> 1908 <div class="section-head"> 1909 <p class="eyebrow">FAQ</p> 1910 <h2><span class="ez-toc-section" id="Les_questions_quon_me_pose"></span>Les questions <em>qu’on me pose</em><span class="ez-toc-section-end"></span></h2> 1911 </div> 1912 <div class="list"> 1913 <details open> 1914 <summary>C’est vraiment gratuit ?</summary> 1915 <div class="answer"><p>Oui, 100% gratuit, pour toujours. Pas de piège, pas d’upsell, pas de carte bancaire demandée.</p></div> 1916 </details> 1917 <details> 1918 <summary>à quelle fréquence je reçois la newsletter ?</summary> 1919 <div class="answer"><p>Une fois par semaine. Pas plus, et jamais de mails commerciaux entre les éditions.</p></div> 1920 </details> 1921 <details> 1922 <summary>Comment je participe au concours newsletter ?</summary> 1923 <div class="answer"><p>Il suffit d’être inscrit. Le tirage est automatique chaque mois, parmi tous les abonnés actifs. Tu n’as rien d’autre à faire.</p></div> 1924 </details> 1925 <details> 1926 <summary>C’est quoi la différence avec le concours YouTube ?</summary> 1927 <div class="answer"> 1928 <p>Ce sont deux concours <strong>distincts</strong> avec des lots différents.</p> 1929 <p>Concours newsletter = tirage mensuel automatique parmi les inscrits.<br>Concours YouTube = tirages liés aux vidéos + tirage premium réservé aux membres Tier 3.</p> 1930 </div> 1931 </details> 1932 <details> 1933 <summary>
1933Je peux participer aux deux ?</summary> 1934 <div class="answer"><p>Oui ! Inscris-toi à la newsletter <strong>et</strong> abonne-toi sur YouTube pour doubler tes chances chaque mois.</p></div> 1935 </details> 1936 <details> 1937 <summary>Je peux me désinscrire ?</summary> 1938 <div class="answer"><p>Oui, en un clic via le lien en bas de chaque email. Tes données ne sont ni revendues, ni partagées.</p></div> 1939 </details> 1940 </div> 1941 </div> 1942</section> 1943 1944</div> 1945
1946<script> 1947(function() { 1948 var els = document.querySelectorAll('.vb-nl .stat .num'); 1949 var animate = function(el) { 1950 var target = parseInt(el.dataset.count, 10); 1951 var dur = 1400; 1952 var t0 = performance.now(); 1953 var step = function(t) { 1954 var p = Math.min(1, (t - t0) / dur); 1955 var eased = 1 - Math.pow(1 - p, 3); 1956 var v = Math.round(target * eased); 1957 el.firstChild.nodeValue = v.toLocaleString('fr-FR'); 1958 if (p < 1) requestAnimationFrame(step); 1959 }; 1960 requestAnimationFrame(step); 1961 }; 1962 var io = new IntersectionObserver(function(entries) { 1963 entries.forEach(function(e) { 1964 if (e.isIntersecting) { animate(e.target); io.unobserve(e.target); } 1965 }); 1966 }, { threshold: 0.4 }); 1967 els.forEach(function(el) { io.observe(el); }); 1968 1969 // CTA secondaire : reporte l'email dans le formulaire du haut et le focus 1970 var cta = document.getElementById('vb-nl-cta2'); 1971 if (cta) cta.addEventListener('submit', function(e) { 1972 e.preventDefault(); 1973 var email = cta.email.value.trim(); 1974 var top = document.querySelector('.vb-nl .hero-form input[name="email"]'); 1975 if (top && email) top.value = email; 1976 window.scrollTo({top: 0, behavior: 'smooth'}); 1977 if (top) setTimeout(function() { top.focus({preventScroll: true}); }, 700); 1978 }); 1979})(); 1980</script>
1980 1981 1982 </div> 1983 </div> 1984 </article> 1985 1986 </main> 1987 </div> 1988 1989 1990 </div> 1991</div> 1992 1993 1994<!-- Social bar --> 1995<div class="vb-footer-social-bar"> 1996 <div class="social-container"> 1997 <a href="https://www.youtube.com/@VinaboxFr" target="_blank" rel="noopener" aria-label="YouTube"> 1998 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.4.6A3 3 0 0 0 .5 6.2C0 8.1 0 12 0 12s0 3.9.5 5.8a3 3 0 0 0 2.1 2.1c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2.1c.5-1.9.5-5.8.5-5.8s0-3.9-.5-5.8zM9.6 15.6V8.4l6.2 3.6-6.2 3.6z"/></svg> 1999 </a> 2000 <a href="https://www.tiktok.com/@vinaboxfr" target="_blank" rel="noopener" aria-label="TikTok"> 2001 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M19.6 6.3c-1.6-.3-3-1.3-3.8-2.7V3h-3.4v13.6c0 1.5-1.2 2.7-2.7 2.7S7 18.1 7 16.6s1.2-2.7 2.7-2.7c.3 0 .5 0 .8.1v-3.4c-.3 0-.5-.1-.8-.1-3.4 0-6.2 2.8-6.2 6.2S6.3 23 9.7 23s6.2-2.8 6.2-6.2V9.4c1.3.9 2.9 1.5 4.6 1.5V7.5c-.3 0-.6-.1-.9-.2z"/></svg> 2002 </a> 2003 <a href="https://www.instagram.com/vinaboxfr/" target="_blank" rel="noopener" aria-label="Instagram"> 2004 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"></rect><circle cx="12" cy="12" r="4"></circle><circle cx="17.5" cy="6.5" r="1" fill="currentColor"></circle></svg> 2005 </a> 2006 <a href="https://www.facebook.com/vinabox" target="_blank" rel="noopener" aria-label="Facebook"> 2007 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M22 12a10 10 0 1 0-11.6 9.9v-7H8v-2.9h2.4V9.8c0-2.4 1.4-3.7 3.6-3.7 1 0 2.1.2 2.1.2v2.3h-1.2c-1.2 0-1.5.7-1.5 1.5v1.9h2.6l-.4 2.9h-2.2v7A10 10 0 0 0 22 12z"/></svg> 2008 </a> 2009 <a href="https://twitter.com/vinabox" target="_blank" rel="noopener" aria-label="X / Twitter"> 2010 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M18.2 3h3.3l-7.2 8.2L23 21h-6.6l-5.2-6.8L5.3 21H2l7.7-8.8L1.6 3h6.8l4.7 6.2L18.2 3zm-1.2 16h1.8L7.1 4.9H5.2L17 19z"/></svg> 2011 </a> 2012 <a href="https://www.linkedin.com/company/vinabox/" target="_blank" rel="noopener" aria-label="LinkedIn"> 2013 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM8.3 18.3h-2.7V9.8h2.7v8.5zM7 8.6a1.6 1.6 0 1 1 0-3.1 1.6 1.6 0 0 1 0 3.1zm11.3 9.7h-2.7v-4.1c0-1 0-2.2-1.4-2.2s-1.6 1-1.6 2.1v4.2H10V9.8h2.6v1.2c.4-.7 1.2-1.4 2.6-1.4 2.8 0 3.3 1.8 3.3 4.2v4.5z"/></svg> 2014 </a> 2015 <a href="https://fr.pinterest.com/VinaboxFr/" target="_blank" rel="noopener" aria-label="Pinterest"> 2016 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.08 3.25 9.4 7.78 10.97-.11-.83-.2-2.13.04-3.05.22-.82 1.41-5.96 1.41-5.96s-.36-.72-.36-1.78c0-1.67.97-2.92 2.17-2.92 1.02 0 1.52.77 1.52 1.69 0 1.03-.66 2.57-.99 3.99-.28 1.19.6 2.17 1.77 2.17 2.13 0 3.77-2.25 3.77-5.49 0-2.87-2.06-4.88-5.01-4.88-3.41 0-5.42 2.56-5.42 5.21 0 1.03.4 2.14.89 2.74.1.12.11.22.08.34l-.33 1.36c-.05.22-.18.27-.4.16-1.5-.7-2.44-2.9-2.44-4.65 0-3.79 2.75-7.27 7.93-7.27 4.17 0 7.4 2.97 7.4 6.93 0 4.14-2.6 7.46-6.22 7.46-1.22 0-2.36-.63-2.75-1.38l-.75 2.85c-.27 1.04-1 2.35-1.49 3.15C9.57 23.81 10.76 24 12 24c6.63 0 12-5.37 12-12S18.63 0 12 0z"/></svg> 2017 </a> 2018 </div> 2019</div> 2020 2021<!-- Footer --> 2022<footer class="vb-footer"> 2023 <div class="vb-footer-container"> 2024 <div class="vb-footer-widgets"> 2025 <div class="vb-footer-brand"> 2026 <a href="https://www.vinabox.fr/" class="logo-footer"> 2027 <img src="https://www.vinabox.fr/wp-content/uploads/2026/05/vinabox-logo-final.svg" alt="Vinabox"> 2028 </a> 2029 <p>Le média indépendant du vin pour celles et ceux qui veulent comprendre ce qu'ils boivent — sans chichi, sans placement, sans prise de tête.</p> 2030 <span class="tag">🍷 Indépendant depuis 2021</span> 2031 </div> 2032 <div> 2033 <h4 class="vb-footer-col-title">Les box</h4> 2034 <ul class="vb-footer-link-list"> 2035 <li><a href="https://www.vinabox.fr/box-vin/">Toutes les box</a></li> 2036 <li><a href="https://www.vinabox.fr/box-vin-bio/">Box bio & nature</a></li> 2037 <li><a href="https://www.vinabox.fr/box-vin-pas-cher/">Petit budget</a></li> 2038 <li><a href="https://www.vinabox.fr/box-vin-cadeau/">Box cadeau</a></li> 2039 <li><a href="https://www.vinabox.fr/box-vin-nature/">Vin nature</a></li> 2040 <li><a href="https://www.vinabox.fr/comparateur-box-vin/">Comparatif complet</a></li> 2041 </ul> 2042 </div> 2043 <div> 2044 <h4 class="vb-footer-col-title">Apprendre</h4> 2045 <ul class="vb-footer-link-list"> 2046 <li><a href="https://www.vinabox.fr/cepage-vin/">Cépages</a></li> 2047 <li><a href="https://www.vinabox.fr/appellation-vin/">Appellations</a></li> 2048 <li><a href="https://www.vinabox.fr/millesime-vin/">Millésimes</a></li> 2049 <li>
2049<a href="https://www.vinabox.fr/accords-mets-vins/">Accords mets-vins</a></li> 2050 <li><a href="https://www.vinabox.fr/quiz/">Quiz vin</a></li> 2051 </ul> 2052 </div> 2053 <div> 2054 <h4 class="vb-footer-col-title">Vinabox</h4> 2055 <ul class="vb-footer-link-list"> 2056 <li><a href="https://www.vinabox.fr/a-propos/">Qui sommes-nous</a></li> 2057 <li><a href="https://www.vinabox.fr/nos-partenaires/">Nos partenaires</a></li> 2058 <li><a href="https://www.vinabox.fr/auteur/jeremy-degryse/">L’auteur</a></li> 2059 <li><a href="https://www.vinabox.fr/charte-editoriale/">Charte éditoriale</a></li> 2060 <li><a href="https://www.youtube.com/@VinaboxFr" target="_blank" rel="noopener">Chaîne YouTube</a></li> 2061 <li><a href="https://www.vinabox.fr/newsletter/">Newsletter</a></li> 2062 <li><a href="https://www.vinabox.fr/concours/">Concours</a></li> 2063 <li><a href="https://www.vinabox.fr/contact/">Nous contacter</a></li> 2064 </ul> 2065 </div> 2066 </div> 2067 <div class="vb-footer-bottom"> 2068 <div class="vb-footer-copy">© 2026 Vinabox · Tous droits réservés</div> 2069 <div class="vb-footer-legal"> 2070 <a href="https://www.vinabox.fr/mentions-legales/">Mentions légales</a> 2071 <a href="https://www.vinabox.fr/cgu/">CGU</a> 2072 <a href="https://www.vinabox.fr/politique-de-confidentialite/">Politique de confidentialité</a> 2073 <a href="https://www.vinabox.fr/cookies/">Cookies</a> 2074 </div> 2075 </div> 2076 </div> 2077</footer> 2078 2079<div class="vb-disclaimer"> 2080 L'abus d'alcool est dangereux pour la santé. À consommer avec modération. Vente interdite aux mineurs. 2081</div> 2082 2083
2083<script id="vbx-popup-governor"> 2084 (function () { 2085 'use strict'; 2086 function lsGet(k){ try { return localStorage.getItem(k); } catch(e){ return null; } } 2087 function lsSet(k,v){ try { localStorage.setItem(k,v); } catch(e){} } 2088 function ssGet(k){ try { return sessionStorage.getItem(k); } catch(e){ return null; } } 2089 function ssSet(k,v){ try { sessionStorage.setItem(k,v); } catch(e){} } 2090 2091 /* Compteur de pages vues (session) */ 2092 var pv = parseInt( ssGet('vbx_gov_pv') || '0', 10 ) + 1; 2093 ssSet('vbx_gov_pv', String(pv)); 2094 2095 window.vbxPromptGate = { 2096 /* true si un popup business AUTO a le droit de s'afficher maintenant */ 2097 canShow: function () { 2098 if ( pv < 2 ) { return false; } /* jamais sur la 1re page vue */ 2099 if ( ssGet('vbx_gov_shown') ) { return false; } /* max 1 / session */ 2100 var last = parseInt( lsGet('vbx_gov_last_ts') || '0', 10 ); 2101 if ( Date.now() - last < 120000 ) { return false; } /* 120 s mini entre 2 */ 2102 if ( window.VBX_POPUP_LOCK ) { return false; } /* un popup est déjà ouvert */ 2103 /* age gate encore visible â priorité au légal */ 2104 var gate = document.getElementById('vbx-age-gate'); 2105 if ( gate && gate.style.display !== 'none' ) { return false; } 2106 return true; 2107 }, 2108 markShown: function (name) { 2109 ssSet('vbx_gov_shown', name || '1'); 2110 lsSet('vbx_gov_last_ts', String(Date.now())); 2111 } 2112 }; 2113 }()); 2114 </script>
2114 2115
2115<script id="vbx-pivot-b-config"> 2116 window.VBX_PIVOT_B = { 2117 ajaxurl: 'https://www.vinabox.fr/wp-admin/admin-ajax.php', 2118 nonce: '7e8fd74f3d', 2119 isLogged: false }; 2120 </script>
2120 2121 <style id="vinabox-millesimes-table-css"> 2122 .vmtable-wrap { overflow-x: auto; margin: 24px 0; } 2123 .vmtable-loading { padding: 20px; text-align: center; color: #7a5b4a; font-style: italic; } 2124 .vmtable-error { padding: 16px; background: #fff3cd; border-left: 4px solid #ffc107; border-radius: 4px; margin: 16px 0; } 2125 .vmtable-enrichissement { padding: 16px; background: #f8f1e7; border-left: 4px solid #61262a; border-radius: 4px; margin: 16px 0; } 2126 .vmtable-enrichissement a { color: #61262a; font-weight: 600; } 2127 2128 table.vmtable { width: 100%; border-collapse: collapse; font-size: 13px; } 2129 table.vmtable th, 2130 table.vmtable td { padding: 8px 12px; border-bottom: 1px solid rgba(97,38,42,.1); text-align: left; } 2131 table.vmtable thead th { background: #61262a; color: #fff; font-weight: 600; white-space: nowrap; } 2132 table.vmtable tbody tr:nth-child(even) { background: #faf6f0; } 2133 table.vmtable tbody tr:hover { background: #f3e9df; } 2134 2135 /* Note colorée /100 */ 2136 .vmtable-note { display: inline-block; font-weight: 700; padding: 2px 7px; border-radius: 12px; font-size: 12px; } 2137 .vmtable-note.n-excellent { background: #2e7d32; color: #fff; } 2138 .vmtable-note.n-good { background: #558b2f; color: #fff; } 2139 .vmtable-note.n-average { background: #f9a825; color: #fff; } 2140 .vmtable-note.n-below { background: #e64a19; color: #fff; } 2141 .vmtable-note.n-unknown { background: #9e9e9e; color: #fff; } 2142 2143 /* Ligne provisoire (< 2 sources) */ 2144 .vmtable-provisional td { opacity: .6; } 2145 .vmtable-badge-provisional { 2146 display: inline-block; font-size: 10px; font-weight: 600; 2147 background: #ff9800; color: #fff; border-radius: 3px; 2148 padding: 1px 5px; margin-left: 6px; vertical-align: middle; 2149 } 2150 2151 /* Tooltip sources */ 2152 .vmtable-sources-btn { 2153 background: none; border: 1px solid #ccc; border-radius: 4px; 2154 font-size: 11px; padding: 2px 6px; cursor: pointer; color: #61262a; 2155 } 2156 .vmtable-sources-btn:hover { background: #f8f1e7; } 2157 .vmtable-tooltip { 2158 display: none; position: absolute; z-index: 200; 2159 background: #fff; border: 1px solid #ccc; border-radius: 6px; 2160 box-shadow: 0 4px 12px rgba(0,0,0,.15); 2161 padding: 10px 14px; min-width: 220px; font-size: 12px; line-height: 1.5; 2162 } 2163 .vmtable-tooltip.is-open { display: block; } 2164 .vmtable-tooltip-row { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; border-bottom: 1px solid #f0e8df; } 2165 .vmtable-tooltip-row:last-child { border-bottom: none; } 2166 .vmtable-tooltip-source { font-weight: 600; color: #61262a; } 2167 .vmtable-tooltip a { color: #61262a; text-decoration: underline; font-size: 11px; } 2168 .vmtable-cell-rel { position: relative; } 2169 2170 /* Responsive */ 2171 @media (max-width: 640px) { 2172 table.vmtable th, table.vmtable td { padding: 6px 8px; font-size: 12px; } 2173 .vmtable-note { font-size: 11px; } 2174 } 2175 </style> 2176
2176<script type="speculationrules"> 2177{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/generatepress-child/*","/wp-content/themes/generatepress/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 2178</script>
2178 2179 2180<!-- Consent Management powered by Complianz | GDPR/CCPA Cookie Consent https://wordpress.org/plugins/complianz-gdpr --> 2181<div id="cmplz-cookiebanner-container"><div id="cmplz-cookiebanner-1-optin" class="cmplz-cookiebanner cmplz-hidden banner-1 banniere-a optin cmplz-bottom-right cmplz-categories-type-view-preferences" aria-modal="true" data-nosnippet="true" role="dialog" aria-live="polite" aria-labelledby="cmplz-header-1-optin" aria-describedby="cmplz-message-1-optin"> 2182 <div class="cmplz-header"> 2183 <div class="cmplz-logo"><a href="https://www.vinabox.fr/" class="custom-logo-link" rel="home"><img width="464" height="106" src="https://www.vinabox.fr/wp-content/uploads/2026/05/vinabox-logo-final.svg" class="custom-logo" alt="Vinabox" decoding="async" /></a></div> 2184 <div class="cmplz-title" id="cmplz-header-1-optin">La carte des cookies</div> 2185 <div class="cmplz-close" tabindex="0" role="button" aria-label="Fermer la boîte de dialogue"> 2186 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="currentColor" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg> 2187 </div> 2188 </div> 2189 2190 <div class="cmplz-divider cmplz-divider-header"></div> 2191 <div class="cmplz-body"> 2192 <div class="cmplz-message" id="cmplz-message-1-optin"><p>Sur Vinabox, on ne vous sert pas que du bon vin, on vous sert aussi des cookies (pas comestibles, hélas). En les acceptant, vous laissez fermenter une belle expérience utilisateur. Sans eux, le site perd un peu de corps.</p></div> 2193 <!-- categories start --> 2194 <div class="cmplz-categories"> 2195 <div class="cmplz-category cmplz-functional"> 2196 <div class="cmplz-category-header"> 2197 <span class="cmplz-category-title" id="cmplz-title-functional-1-optin">Fonctionnel</span> 2198 <span class='cmplz-always-active'> 2199 <span class="cmplz-banner-checkbox"> 2200 <input type="checkbox" 2201 id="cmplz-functional-optin" 2202 data-category="cmplz_functional" 2203 class="cmplz-consent-checkbox cmplz-functional" 2204 size="40" 2205 value="1"/> 2206 <label class="cmplz-label" for="cmplz-functional-optin"><span class="screen-reader-text">Fonctionnel</span></label> 2207 </span> 2208 Toujours activé </span> 2209 <button class="cmplz-category-toggle" 2210 aria-expanded="false" 2211 aria-controls="cmplz-desc-functional-1-optin" 2212 aria-labelledby="cmplz-title-functional-1-optin"> 2213 <span class="cmplz-icon cmplz-open"> 2214 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 2215 </span> 2216 </button> 2217 </div> 2218 <div class="cmplz-description" id="cmplz-desc-functional-1-optin" hidden> 2219 <span class="cmplz-description-functional">Lâaccès ou le stockage technique est strictement nécessaire dans la finalité dâintérêt légitime de permettre lâutilisation dâun service spécifique explicitement demandé par lâabonné ou lâutilisateur, ou dans le seul but dâeffectuer la transmission dâune communication sur un réseau de communications électroniques.</span> 2220 </div> 2221 </div> 2222 2223 <div class="cmplz-category cmplz-preferences"> 2224 <div class="cmplz-category-header"> 2225 <span class="cmplz-category-title" id="cmplz-title-preferences-1-optin">Préférences</span> 2226 <span class="cmplz-banner-checkbox"> 2227 <input type="checkbox" 2228 id="cmplz-preferences-optin" 2229 data-category="cmplz_preferences" 2230 class="cmplz-consent-checkbox cmplz-preferences" 2231 size="40" 2232 value="1"/> 2233 <label class="cmplz-label" for="cmplz-preferences-optin"><span class="screen-reader-text">Préférences</span></label> 2234 </span> 2235 <button class="cmplz-category-toggle" 2236 aria-expanded="false" 2237 aria-controls="cmplz-desc-preferences-1-optin" 2238 aria-labelledby="cmplz-title-preferences-1-optin"> 2239 <span class="cmplz-icon cmplz-open"> 2240 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18">
2240<path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 2241 </span> 2242 </button> 2243 </div> 2244 <div class="cmplz-description" id="cmplz-desc-preferences-1-optin" hidden> 2245 <span class="cmplz-description-preferences">Lâaccès ou le stockage technique est nécessaire dans la finalité dâintérêt légitime de stocker des préférences qui ne sont pas demandées par lâabonné ou lâinternaute.</span> 2246 </div> 2247 </div> 2248 2249 <div class="cmplz-category cmplz-statistics"> 2250 <div class="cmplz-category-header"> 2251 <span class="cmplz-category-title" id="cmplz-title-statistics-1-optin">Statistiques</span> 2252 <span class="cmplz-banner-checkbox"> 2253 <input type="checkbox" 2254 id="cmplz-statistics-optin" 2255 data-category="cmplz_statistics" 2256 class="cmplz-consent-checkbox cmplz-statistics" 2257 size="40" 2258 value="1"/> 2259 <label class="cmplz-label" for="cmplz-statistics-optin"><span class="screen-reader-text">Statistiques</span></label> 2260 </span> 2261 <button class="cmplz-category-toggle" 2262 aria-expanded="false" 2263 aria-controls="cmplz-desc-statistics-1-optin" 2264 aria-labelledby="cmplz-title-statistics-1-optin"> 2265 <span class="cmplz-icon cmplz-open"> 2266 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 2267 </span> 2268 </button> 2269 </div> 2270 <div class="cmplz-description" id="cmplz-desc-statistics-1-optin" hidden> 2271 <span class="cmplz-description-statistics">Le stockage ou lâaccès technique qui est utilisé exclusivement à des fins statistiques.</span> 2272 <span class="cmplz-description-statistics-anonymous">Le stockage ou lâaccès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En lâabsence dâune assignation à comparaître, dâune conformité volontaire de la part de votre fournisseur dâaccès à internet ou dâenregistrements supplémentaires provenant dâune tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.</span> 2273 </div> 2274 </div> 2275 2276 <div class="cmplz-category cmplz-marketing"> 2277 <div class="cmplz-category-header"> 2278 <span class="cmplz-category-title" id="cmplz-title-marketing-1-optin">Marketing</span> 2279 <span class="cmplz-banner-checkbox"> 2280 <input type="checkbox" 2281 id="cmplz-marketing-optin" 2282 data-category="cmplz_marketing" 2283 class="cmplz-consent-checkbox cmplz-marketing" 2284 size="40" 2285 value="1"/> 2286 <label class="cmplz-label" for="cmplz-marketing-optin"><span class="screen-reader-text">Marketing</span></label> 2287 </span> 2288 <button class="cmplz-category-toggle" 2289 aria-expanded="false" 2290 aria-controls="cmplz-desc-marketing-1-optin" 2291 aria-labelledby="cmplz-title-marketing-1-optin"> 2292 <span class="cmplz-icon cmplz-open"> 2293 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg> 2294 </span> 2295 </button> 2296 </div> 2297 <div class="cmplz-description" id="cmplz-desc-marketing-1-optin" hidden> 2298 <span class="cmplz-description-marketing">Lâaccès ou le stockage technique est nécessaire pour créer des profils dâinternautes afin dâenvoyer des publicités, ou pour suivre lâutilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.</span> 2299 </div> 2300 </div> 2301 </div><!-- categories end --> 2302 </div> 2303 2304 <div class="cmplz-links cmplz-information"> 2305 <ul> 2306 <li><a class="cmplz-link cmplz-manage-options cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">Gérer les options</a></li> 2307 <li><a class="cmplz-link cmplz-manage-third-parties cookie-statement" href="#" data-relative_url="#cmplz-cookie
2307s-overview">Gérer les services</a></li> 2308 <li><a class="cmplz-link cmplz-manage-vendors tcf cookie-statement" href="#" data-relative_url="#cmplz-tcf-wrapper">Gérer {vendor_count} fournisseurs</a></li> 2309 <li><a class="cmplz-link cmplz-external cmplz-read-more-purposes tcf" target="_blank" rel="noopener noreferrer nofollow" href="https://cookiedatabase.org/tcf/purposes/" aria-label="En savoir plus sur les finalités de TCF de la base de données de cookies">En savoir plus sur ces finalités</a></li> 2310 </ul> 2311 </div> 2312 2313 <div class="cmplz-divider cmplz-footer"></div> 2314 2315 <div class="cmplz-buttons"> 2316 <button class="cmplz-btn cmplz-accept">Accepter</button> 2317 <button class="cmplz-btn cmplz-deny">Refuser</button> 2318 <button class="cmplz-btn cmplz-view-preferences">Voir les préférences</button> 2319 <button class="cmplz-btn cmplz-save-preferences">Enregistrer les préférences</button> 2320 <a class="cmplz-btn cmplz-manage-options tcf cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">Voir les préférences</a> 2321 </div> 2322 2323 2324 <div class="cmplz-documents cmplz-links"> 2325 <ul> 2326 <li><a class="cmplz-link cookie-statement" href="#" data-relative_url="">{title}</a></li> 2327 <li><a class="cmplz-link privacy-statement" href="#" data-relative_url="">{title}</a></li> 2328 <li><a class="cmplz-link impressum" href="#" data-relative_url="">{title}</a></li> 2329 </ul> 2330 </div> 2331</div> 2332</div> 2333 <div id="cmplz-manage-consent" data-nosnippet="true"><button class="cmplz-btn cmplz-hidden cmplz-manage-consent manage-consent-1" aria-haspopup="dialog" aria-controls="cmplz-cookiebanner-1-optin">La carte des cookies</button> 2334 2335</div>
2335<script>function loadScript(a){var b=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.src="https://tracker.metricool.com/resources/be.js",c.onreadystatechange=a,c.onload=a,b.appendChild(c)}loadScript(function(){beTracker.t({hash:"d8fde25e22c718a6b7bf5fbe2fe41788"})});</script>
2335<style> 2336.wine-slider-wrap{position:relative;max-width:720px;margin:0 auto;padding:0 40px} 2337.wine-slider-viewport{overflow:hidden} 2338.wine-slider-track{display:flex;gap:14px;transition:transform 0.35s ease} 2339.wine-slider-track>div{flex:0 0 calc((100% - 28px)/3);min-width:0} 2340.wine-arrow{position:absolute;top:45%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#61262A;color:#fff;border:none;font-size:16px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:opacity 0.2s} 2341.wine-arrow:hover{background:#4a1d20} 2342.wine-arrow.hide{opacity:0.3;cursor:default} 2343.wine-arrow-left{left:0} 2344.wine-arrow-right{right:0} 2345.wine-dots{display:flex;justify-content:center;gap:8px;margin-top:14px} 2346.wine-dot{width:8px;height:8px;border-radius:50%;background:#ddd;cursor:pointer;border:none;padding:0;transition:background 0.2s} 2347.wine-dot.active{background:#61262A;transform:scale(1.2)} 2348@media(max-width:768px){.wine-slider-wrap{padding:0 30px}.wine-slider-track>div{flex:0 0 calc((100% - 14px)/2)}} 2349@media(max-width:480px){.wine-slider-wrap{padding:0 30px}.wine-slider-track>div{flex:0 0 100%}} 2350</style>
2351<script> 2352document.addEventListener('DOMContentLoaded',function(){ 2353 document.querySelectorAll('.wine-slider-wrap').forEach(function(wrap){ 2354 var track=wrap.querySelector('.wine-slider-track'); 2355 if(!track)return; 2356 var cards=Array.from(track.children); 2357 var total=cards.length; 2358 var pos=0; 2359 var arrowL=wrap.querySelector('.wine-arrow-left'); 2360 var arrowR=wrap.querySelector('.wine-arrow-right'); 2361 // Detect visible count based on screen 2362 function getVisible(){ 2363 if(window.innerWidth<=480)return 1; 2364 if(window.innerWidth<=768)return 2; 2365 return 3; 2366 } 2367 // Build dots dynamically (positions = total - visible + 1) 2368 var dotsWrap=wrap.querySelector('.wine-dots'); 2369 function buildDots(){ 2370 var v=getVisible(); 2371 var positions=Math.max(total-v+1,1); 2372 dotsWrap.innerHTML=''; 2373 for(var i=0;i<positions;i++){ 2374 var dot=document.createElement('button'); 2375 dot.className='wine-dot'+(i===pos?' active':''); 2376 dot.setAttribute('aria-label','Slide '+(i+1)); 2377 (function(idx){dot.addEventListener('click',function(){pos=idx;update()})})(i); 2378 dotsWrap.appendChild(dot); 2379 } 2380 } 2381 function update(){ 2382 var v=getVisible(); 2383 var maxPos=Math.max(total-v,0); 2384 if(pos>maxPos)pos=maxPos; 2385 if(pos<0)pos=0; 2386 var gap=14; 2387 var cardW=(track.offsetWidth-(v-1)*gap)/v; 2388 track.style.transform='translateX(-'+pos*(cardW+gap)+'px)'; 2389 // Update dots 2390 var dots=dotsWrap.querySelectorAll('.wine-dot'); 2391 dots.forEach(function(d,i){d.classList.toggle('active',i===pos)}); 2392 // Update arrows 2393 arrowL.classList.toggle('hide',pos===0); 2394 arrowR.classList.toggle('hide',pos>=maxPos); 2395 } 2396 arrowR.addEventListener('click',function(){pos++;update()}); 2397 arrowL.addEventListener('click',function(){if(pos>0){pos--;update()}}); 2398 buildDots(); 2399 update(); 2400 window.addEventListener('resize',function(){buildDots();update()}); 2401 }); 2402}); 2403</script>
vendor: 1 bytes, line 2403
2403
2404<script id="generate-a11y"> 2405!function(){"use strict";if("querySelector"in document&&"addEventListener"in window){var e=document.body;e.addEventListener("pointerdown",(function(){e.classList.add("using-mouse")}),{passive:!0}),e.addEventListener("keydown",(function(){e.classList.remove("using-mouse")}),{passive:!0})}}(); 2406</script>
2406 2407
2407<script> 2408 (function () { 2409 var c = document.body.className; 2410 c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); 2411 document.body.className = c; 2412 })(); 2413 </script>
2413 2414
2414<script id="wp-hooks-js" src="https://www.vinabox.fr/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 2414
2414
2415<script id="wp-i18n-js" src="https://www.vinabox.fr/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 2415
2415
2416<script id="wp-i18n-js-after"> 2417wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 2418//# sourceURL=wp-i18n-js-after 2419</script>
vendor: 1 bytes, line 2419
2419
2420<script id="swv-js" src="https://www.vinabox.fr/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 2420
2420
2421<script id="contact-form-7-js-translations"> 2422( function( domain, translations ) { 2423 var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; 2424 localeData[""].domain = domain; 2425 wp.i18n.setLocaleData( localeData, domain ); 2426} )( "contact-form-7", {"translation-revision-date":"2026-09-29 08:22:41+0000","generator":"GlotPress\/4.1.0","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n > 1;","lang":"fr"},"This contact form is placed in the wrong place.":["Ce formulaire de contact est plac\u00e9 dans un mauvais endroit."],"Error:":["Erreur\u00a0:"]}},"comment":{"reference":"includes\/js\/index.js"}} ); 2427//# sourceURL=contact-form-7-js-translations 2428</script>
vendor: 1 bytes, line 2428
2428
2429<script id="contact-form-7-js-before"> 2430var wpcf7 = { 2431 "api": { 2432 "root": "https:\/\/www.vinabox.fr\/wp-json\/", 2433 "namespace": "contact-form-7\/v1" 2434 }, 2435 "cached": 1 2436}; 2437//# sourceURL=contact-form-7-js-before 2438</script>
vendor: 1 bytes, line 2438
2438
2439<script id="contact-form-7-js" src="https://www.vinabox.fr/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 2439
2439
2440<script id="eztoc-scroll-scriptjs-js-extra"> 2441var eztoc_smooth_local = {"scroll_offset":"30","add_request_uri":"","add_self_reference_link":""}; 2442//# sourceURL=eztoc-scroll-scriptjs-js-extra 2443</script>
vendor: 1 bytes, line 2443
2443
2444<script id="eztoc-scroll-scriptjs-js" src="https://www.vinabox.fr/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js?ver=2.0.88"></script>
vendor: 1 bytes, line 2444
2444
2445<script id="eztoc-js-cookie-js" src="https://www.vinabox.fr/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js?ver=2.2.1"></script>
vendor: 1 bytes, line 2445
2445
2446<script id="eztoc-jquery-sticky-kit-js" src="https://www.vinabox.fr/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js?ver=1.9.2"></script>
vendor: 1 bytes, line 2446
2446
2447<script id="eztoc-js-js-extra"> 2448var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"1","scroll_offset":"30","fallbackIcon":"\u003Cspan class=\"\"\u003E\u003Cspan class=\"eztoc-hide\" style=\"display:none;\"\u003EToggle\u003C/span\u003E\u003Cspan class=\"ez-toc-icon-toggle-span\"\u003E\u003Csvg style=\"fill: #999;color:#999\" xmlns=\"http://www.w3.org/2000/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"\u003E\u003Cpath d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003Csvg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"\u003E\u003Cpath d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"/\u003E\u003C/svg\u003E\u003C/span\u003E\u003C/span\u003E","visibility_hide_by_device":"1","chamomile_theme_is_on":""}; 2449//# sourceURL=eztoc-js-js-extra 2450</script>
vendor: 1 bytes, line 2450
2450
2451<script id="eztoc-js-js" src="https://www.vinabox.fr/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js?ver=2.0.88-1789611653"></script>
vendor: 1 bytes, line 2451
2451
2452<script id="vinabox-youtube-slider-js" src="https://www.vinabox.fr/wp-content/themes/generatepress-child/js/vinabox-youtube-slider.js?ver=1.0"></script>
vendor: 1 bytes, line 2452
2452
2453<script id="vinabox-youtube-slider-box-vin-js" src="https://www.vinabox.fr/wp-content/themes/generatepress-child/js/vinabox-youtube-slider-box-vin.js?ver=1.0"></script>
vendor: 1 bytes, line 2453
2453
2454<script id="vbx-age-gate-js" src="https://www.vinabox.fr/wp-content/themes/generatepress-child/js/vinabox-age-gate.js?ver=1.0.0"></script>
vendor: 1 bytes, line 2454
2454
2455<script id="vinabox-nav-js" src="https://www.vinabox.fr/wp-content/themes/generatepress-child/js/vinabox-nav.js?ver=1780997771"></script>
vendor: 1 bytes, line 2455
2455
2456<script id="generate-menu-js-before"> 2457var generatepressMenu = {"toggleOpenedSubMenus":true,"openSubMenuLabel":"Ouvrir le sous-menu","closeSubMenuLabel":"Fermer le sous-menu"}; 2458//# sourceURL=generate-menu-js-before 2459</script>
vendor: 1 bytes, line 2459
2459
2460<script id="generate-menu-js" src="https://www.vinabox.fr/wp-content/themes/generatepress/assets/js/menu.min.js?ver=3.6.1"></script>
vendor: 1 bytes, line 2460
2460
2461<script id="sourcebuster-js-js" src="https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=11.1.2"></script>
vendor: 1 bytes, line 2461
2461
2462<script id="wc-order-attribution-js-extra"> 2463var wc_order_attribution = {"params":{"lifetime":1.0000000000000000818030539140313095458623138256371021270751953125e-5,"session":30,"base64":false,"ajaxurl":"https://www.vinabox.fr/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; 2464//# sourceURL=wc-order-attribution-js-extra 2465</script>
vendor: 1 bytes, line 2465
2465
2466<script id="wc-order-attribution-js" src="https://www.vinabox.fr/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=11.1.2"></script>
vendor: 1 bytes, line 2466
2466
2467<script id="vinabox-affiliate-tracking-js-before"> 2468window.vbxAffiliateConfig={"pageId":7548,"version":"2.1.0"}; 2469//# sourceURL=vinabox-affiliate-tracking-js-before 2470</script>
vendor: 1 bytes, line 2470
2470
2471<script id="vinabox-affiliate-tracking-js" src="https://www.vinabox.fr/wp-content/mu-plugins/vinabox-affiliate-tracking.js?ver=2.1.0"></script>
vendor: 1 bytes, line 2471
2471
2472<script id="vinabox-ez-toc-clickable-js" src="https://www.vinabox.fr/wp-content/themes/generatepress-child/js/ez-toc-clickable-header.js?ver=1778438721"></script>
vendor: 1 bytes, line 2472
2472
2473<script id="vinabox-search-overlay-js-after"> 2474(function () { 2475 function onReady(fn) { 2476 if (document.readyState !== 'loading') { fn(); } 2477 else { document.addEventListener('DOMContentLoaded', fn); } 2478 } 2479 onReady(function () { 2480 var overlay = document.getElementById('vinabox-search-overlay'); 2481 if (!overlay) return; 2482 var input = overlay.querySelector('#vinabox-search-input'); 2483 var lastFocus = null; 2484 2485 function open(e) { 2486 if (e) e.preventDefault(); 2487 lastFocus = document.activeElement; 2488 overlay.hidden = false; 2489 document.body.classList.add('vinabox-search-open'); 2490 document.querySelectorAll('[data-vinabox-search-toggle="open"]').forEach(function (btn) { 2491 btn.setAttribute('aria-expanded', 'true'); 2492 }); 2493 setTimeout(function () { if (input) input.focus(); }, 30); 2494 } 2495 function close(e) { 2496 if (e) e.preventDefault(); 2497 overlay.hidden = true; 2498 document.body.classList.remove('vinabox-search-open'); 2499 document.querySelectorAll('[data-vinabox-search-toggle="open"]').forEach(function (btn) { 2500 btn.setAttribute('aria-expanded', 'false'); 2501 }); 2502 if (lastFocus && typeof lastFocus.focus === 'function') lastFocus.focus(); 2503 } 2504 document.addEventListener('click', function (e) { 2505 var t = e.target.closest('[data-vinabox-search-toggle]'); 2506 if (!t) return; 2507 var action = t.getAttribute('data-vinabox-search-toggle'); 2508 if (action === 'open') open(e); 2509 else if (action === 'close') close(e); 2510 }); 2511 document.addEventListener('keydown', function (e) { 2512 if (e.key === 'Escape' && !overlay.hidden) { close(e); return; } 2513 // Shortcut : touche "/" ouvre la recherche (hors champs de saisie et si overlay fermé) 2514 if (e.key === '/' && overlay.hidden) { 2515 var tag = (e.target && e.target.tagName) || ''; 2516 var editable = e.target && e.target.isContentEditable; 2517 if (!/^(INPUT|TEXTAREA|SELECT)$/.test(tag) && !editable) { 2518 open(e); 2519 } 2520 } 2521 }); 2522 }); 2523 })(); 2524//# sourceURL=vinabox-search-overlay-js-after 2525</script>
vendor: 1 bytes, line 2525
2525
2526<script id="cmplz-cookiebanner-js-extra"> 2527var complianz = {"prefix":"cmplz_","debug":"","user_banner_id":"1","set_cookies":[],"block_ajax_content":"","banner_version":"24","version":"7.5.5","store_consent":"","do_not_track_enabled":"","consenttype":"optin","region":"eu","geoip":"","dismiss_timeout":"","disable_cookiebanner":"","soft_cookiewall":"","dismiss_on_scroll":"","cookie_expiry":"365","url":"https://www.vinabox.fr/wp-json/complianz/v1/","locale":"lang=fr&locale=fr_FR","set_cookies_on_root":"","cookie_domain":"","current_policy_id":"34","cookie_path":"/","categories":{"statistics":"statistiques","marketing":"marketing"},"tcf_active":"","placeholdertext":"Cliquez pour accepter les cookies {category} et activer ce contenu","css_file":"https://www.vinabox.fr/wp-content/uploads/complianz/css/banner-{banner_id}-{type}.css?v=24","page_links":{"eu":{"cookie-statement":{"title":"Politique de cookies ","url":"https://www.vinabox.fr/politique-de-cookies-ue/"},"privacy-statement":{"title":"Politique de confidentialit\u00e9","url":"https://www.vinabox.fr/politique-de-confidentialite/"}}},"tm_categories":"","forceEnableStats":"","preview":"","clean_cookies":"","aria_label":"Cliquez pour accepter les cookies {category} et activer ce contenu","iapi_nav":"fallback"}; 2528//# sourceURL=cmplz-cookiebanner-js-extra 2529</script>
vendor: 1 bytes, line 2529
2529
2530<script defer id="cmplz-cookiebanner-js" src="https://www.vinabox.fr/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1788920446"></script>
vendor: 1 bytes, line 2530
2530
2531<script type="text/javascript">(function (undefined) {let scriptOptions={"_localizedStrings":{"redirect_overlay_title":"Hold On","redirect_overlay_text":"You are being redirected to another page,<br>it may take a few seconds.","webview_notification_text":"The selected provider doesn't support embedded browsers!"},"_targetWindow":"prefer-popup","_redirectOverlay":"overlay-with-spinner-and-message","_unsupportedWebviewBehavior":""}; 2532/** 2533 * Used when Cross-Origin-Opener-Policy blocked the access to the opener. We can't have a reference of the opened windows, so we should attempt to refresh only the windows that has opened popups. 2534 */ 2535window._nslHasOpenedPopup = false; 2536window._nslWebViewNoticeElement = null; 2537 2538window.NSLPopup = function (url, title, w, h) { 2539 2540 /** 2541 * Cross-Origin-Opener-Policy blocked the access to the opener 2542 */ 2543 if (typeof BroadcastChannel === "function") { 2544 const _nslLoginBroadCastChannel = new BroadcastChannel('nsl_login_broadcast_channel'); 2545 _nslLoginBroadCastChannel.onmessage = (event) => { 2546 if (window?._nslHasOpenedPopup && event.data?.action === 'redirect') { 2547 window._nslHasOpenedPopup = false; 2548 2549 const url = event.data?.href; 2550 _nslLoginBroadCastChannel.close(); 2551 if (typeof window.nslRedirect === 'function') { 2552 window.nslRedirect(url); 2553 } else { 2554 window.opener.location = url; 2555 } 2556 } 2557 }; 2558 } 2559 2560 const userAgent = navigator.userAgent, 2561 mobile = function () { 2562 return /\b(iPhone|iP[ao]d)/.test(userAgent) || 2563 /\b(iP[ao]d)/.test(userAgent) || 2564 /Android/i.test(userAgent) || 2565 /Mobile/i.test(userAgent); 2566 }, 2567 screenX = window.screenX !== undefined ? window.screenX : window.screenLeft, 2568 screenY = window.screenY !== undefined ? window.screenY : window.screenTop, 2569 outerWidth = window.outerWidth !== undefined ? window.outerWidth : document.documentElement.clientWidth, 2570 outerHeight = window.outerHeight !== undefined ? window.outerHeight : document.documentElement.clientHeight - 22, 2571 targetWidth = mobile() ? null : w, 2572 targetHeight = mobile() ? null : h, 2573 left = parseInt(screenX + (outerWidth - targetWidth) / 2, 10), 2574 right = parseInt(screenY + (outerHeight - targetHeight) / 2.5, 10), 2575 features = []; 2576 if (targetWidth !== null) { 2577 features.push('width=' + targetWidth); 2578 } 2579 if (targetHeight !== null) { 2580 features.push('height=' + targetHeight); 2581 } 2582 features.push('left=' + left); 2583 features.push('top=' + right); 2584 features.push('scrollbars=1'); 2585 2586 const newWindow = window.open(url, title, features.join(',')); 2587 2588 if (window.focus) { 2589 newWindow.focus(); 2590 } 2591 2592 window._nslHasOpenedPopup = true; 2593 2594 return newWindow; 2595}; 2596 2597let isWebView = null; 2598 2599function checkWebView() { 2600 if (isWebView === null) { 2601 function _detectOS(ua) { 2602 if (/Android/.test(ua)) { 2603 return "Android"; 2604 } else if (/iPhone|iPad|iPod/.test(ua)) { 2605 return "iOS"; 2606 } else if (/Windows/.test(ua)) { 2607 return "Windows"; 2608 } else if (/Mac OS X/.test(ua)) { 2609 return "Mac"; 2610 } else if (/CrOS/.test(ua)) { 2611 return "Chrome OS"; 2612 } else if (/Firefox/.test(ua)) { 2613 return "Firefox OS"; 2614 } 2615 return ""; 2616 } 2617 2618 function _detectBrowser(ua) { 2619 let android = /Android/.test(ua); 2620 2621 if (/Opera Mini/.test(ua) || / OPR/.test(ua) || / OPT/.test(ua)) { 2622 return "Opera"; 2623 } else if (/CriOS/.test(ua)) { 2624 return "Chrome for iOS"; 2625 } else if (/Edge/.test(ua)) { 2626 return "Edge"; 2627 } else if (android && /Silk\//.test(ua)) { 2628 return "Silk"; 2629 } else if (/Chrome/.test(ua)) { 2630 return "Chrome"; 2631 } else if (/Firefox/.test(ua)) { 2632 return "Firefox"; 2633 } else if (android) { 2634 return "AOSP"; 2635 } else if (/MSIE|Trident/.test(ua)) { 2636 return "IE"; 2637 } else if (/Safari\//.test(ua)) { 2638 return "Safari"; 2639 }
2639 else if (/AppleWebKit/.test(ua)) { 2640 return "WebKit"; 2641 } 2642 return ""; 2643 } 2644 2645 function _detectBrowserVersion(ua, browser) { 2646 if (browser === "Opera") { 2647 return /Opera Mini/.test(ua) ? _getVersion(ua, "Opera Mini/") : 2648 / OPR/.test(ua) ? _getVersion(ua, " OPR/") : 2649 _getVersion(ua, " OPT/"); 2650 } else if (browser === "Chrome for iOS") { 2651 return _getVersion(ua, "CriOS/"); 2652 } else if (browser === "Edge") { 2653 return _getVersion(ua, "Edge/"); 2654 } else if (browser === "Chrome") { 2655 return _getVersion(ua, "Chrome/"); 2656 } else if (browser === "Firefox") { 2657 return _getVersion(ua, "Firefox/"); 2658 } else if (browser === "Silk") { 2659 return _getVersion(ua, "Silk/"); 2660 } else if (browser === "AOSP") { 2661 return _getVersion(ua, "Version/"); 2662 } else if (browser === "IE") { 2663 return /IEMobile/.test(ua) ? _getVersion(ua, "IEMobile/") : 2664 /MSIE/.test(ua) ? _getVersion(ua, "MSIE ") 2665 : 2666 _getVersion(ua, "rv:"); 2667 } else if (browser === "Safari") { 2668 return _getVersion(ua, "Version/"); 2669 } else if (browser === "WebKit") { 2670 return _getVersion(ua, "WebKit/"); 2671 } 2672 return "0.0.0"; 2673 } 2674 2675 function _getVersion(ua, token) { 2676 try { 2677 return _normalizeSemverString(ua.split(token)[1].trim().split(/[^\w\.]/)[0]); 2678 } catch (o_O) { 2679 } 2680 return "0.0.0"; 2681 } 2682 2683 function _normalizeSemverString(version) { 2684 const ary = version.split(/[\._]/); 2685 return (parseInt(ary[0], 10) || 0) + "." + 2686 (parseInt(ary[1], 10) || 0) + "." + 2687 (parseInt(ary[2], 10) || 0); 2688 } 2689 2690 function _isWebView(ua, os, browser, version, options) { 2691 switch (os + browser) { 2692 case "iOSSafari": 2693 return false; 2694 case "iOSWebKit": 2695 return _isWebView_iOS(options); 2696 case "AndroidAOSP": 2697 return false; 2698 case "AndroidChrome": 2699 return parseFloat(version) >= 42 ? /; wv/.test(ua) : /\d{2}\.0\.0/.test(version) ? true : _isWebView_Android(options); 2700 } 2701 return false; 2702 } 2703 2704 function _isWebView_iOS(options) { 2705 const document = (window["document"] || {}); 2706 2707 if ("WEB_VIEW" in options) { 2708 return options["WEB_VIEW"]; 2709 } 2710 return !("fullscreenEnabled" in document || "webkitFullscreenEnabled" in document || false); 2711 } 2712 2713 function _isWebView_Android(options) { 2714 if ("WEB_VIEW" in options) { 2715 return options["WEB_VIEW"]; 2716 } 2717 return !("requestFileSystem" in window || "webkitRequestFileSystem" in window || false); 2718 } 2719 2720 const options = {}, 2721 nav = window.navigator || {}, 2722 ua = nav.userAgent || "", 2723 os = _detectOS(ua), 2724 browser = _detectBrowser(ua), 2725 browserVersion = _detectBrowserVersion(ua, browser); 2726 2727 isWebView = _isWebView(ua, os, browser, browserVersion, options); 2728 } 2729 2730 return isWebView; 2731} 2732 2733function isAllowedWebViewForUserAgent(provider) { 2734 const facebookAllowedWebViews = [ 2735 'Instagram', 2736 'FBAV', 2737 'FBAN' 2738 ]; 2739 let whitelist = []; 2740 2741 if (provider && provider === 'facebook') { 2742 whitelist = facebookAllowedWebViews; 2743 } 2744 2745 const nav = window.navigator || {}, 2746 ua = nav.userAgent || ""; 2747 2748 if (whitelist.length && ua.match(new RegExp(whitelist.join('|')))) { 2749 return true; 2750 } 2751 2752 return false; 2753} 2754 2755function disableButtonInWebView(providerButtonElement) { 2756 if (providerButtonElement) { 2757 providerButtonElement.classList.add('nsl-disabled-provider'); 2758 providerButtonElement.setAttribute('href', '#'); 2759 2760 providerButtonElement.addEventListener('pointerdown', (e) => { 2761 const closeNotice = function () { 2762 if (window._nslWebViewNoticeElement) { 2763 window._nslWebViewNoticeElement.remove(); 2764 window._nslWebViewNoticeElement = null; 2765 } 2766 }; 2767 2768 closeNotice(); 2769 2770 window._nslWebViewNoticeElement = document.createElement('div'); 2771 window._nslWebViewNoticeElement.id = "nsl-notices-fallback"; 2772 window._nslWebViewNoticeElement.role = 'alert'; 2773 window._nslWebViewNoticeElement.ariaLive = 'assertive'; 2774 window._nslWebViewNoticeElement.ariaAtomic = 'true'; 2775 2776 window._nslWebViewNoticeElement.addEventListener('pointerdown', closeNotice); 2777 2778 window._nslWebViewNoticeElement.addEventListener('keydown', function (e) { 2779 if (e.key === 'Enter') { 2780 e.preventDefault(); 2781 closeNotice(); 2782 } 2783 }); 2784 const webviewNoticeHTML = '<div class="error"><p>' + scriptOptions._localizedStrings.webview_notification_text + '</p></div>'; 2785 2786 window._nslWebViewNoticeElement.insertAdjacentHTML("afterbegin", webviewNoticeHTML); 2787 document.body.appendChild(window._nslWebViewNoticeElement); 2788 }); 2789 } 2790 2791} 2792 2793window._nslDOMReady(function () { 2794 2795 window.nslRedirect = function (url) { 2796 if (scriptOptions._redirectOverlay) {
2797 const overlay = document.createElement('div'); 2798 overlay.id = "nsl-redirect-overlay"; 2799 let overlayHTML = ''; 2800 const overlayContainer = "<div id='nsl-redirect-overlay-container'>", 2801 overlayContainerClose = "</div>", 2802 overlaySpinner = "<div id='nsl-redirect-overlay-spinner'></div>", 2803 overlayTitle = "<p id='nsl-redirect-overlay-title'>" + scriptOptions._localizedStrings.redirect_overlay_title + "</p>", 2804 overlayText = "<p id='nsl-redirect-overlay-text'>" + scriptOptions._localizedStrings.redirect_overlay_text + "</p>"; 2805 2806 switch (scriptOptions._redirectOverlay) { 2807 case "overlay-only": 2808 break; 2809 case "overlay-with-spinner": 2810 overlayHTML = overlayContainer + overlaySpinner + overlayContainerClose; 2811 break; 2812 default: 2813 overlayHTML = overlayContainer + overlaySpinner + overlayTitle + overlayText + overlayContainerClose; 2814 break; 2815 } 2816 2817 overlay.insertAdjacentHTML("afterbegin", overlayHTML); 2818 document.body.appendChild(overlay); 2819 } 2820 2821 window.location = url; 2822 }; 2823 2824 let targetWindow = scriptOptions._targetWindow || 'prefer-popup', 2825 lastPopup = false; 2826 2827 2828 document.addEventListener('click', function (e) { 2829 if (e.target) { 2830 const buttonLinkElement = e.target.closest('a[data-plugin="nsl"][data-action="connect"]') || e.target.closest('a[data-plugin="nsl"][data-action="link"]'); 2831 if (buttonLinkElement) { 2832 if (lastPopup && !lastPopup.closed) { 2833 e.preventDefault(); 2834 lastPopup.focus(); 2835 } else { 2836 2837 let href = buttonLinkElement.href, 2838 success = false; 2839 if (href.indexOf('?') !== -1) { 2840 href += '&'; 2841 } else { 2842 href += '?'; 2843 } 2844 2845 const redirectTo = buttonLinkElement.dataset.redirect; 2846 if (redirectTo === 'current') { 2847 href += 'redirect=' + encodeURIComponent(window.location.href) + '&'; 2848 } else if (redirectTo && redirectTo !== '') { 2849 href += 'redirect=' + encodeURIComponent(redirectTo) + '&'; 2850 } 2851 2852 if (targetWindow !== 'prefer-same-window' && checkWebView()) { 2853 targetWindow = 'prefer-same-window'; 2854 } 2855 2856 if (targetWindow === 'prefer-popup') { 2857 lastPopup = NSLPopup(href + 'display=popup', 'nsl-social-connect', buttonLinkElement.dataset.popupwidth, buttonLinkElement.dataset.popupheight); 2858 if (lastPopup) { 2859 success = true; 2860 e.preventDefault(); 2861 } 2862 } else if (targetWindow === 'prefer-new-tab') { 2863 const newTab = window.open(href + 'display=popup', '_blank'); 2864 if (newTab) { 2865 if (window.focus) { 2866 newTab.focus(); 2867 } 2868 success = true; 2869 window._nslHasOpenedPopup = true; 2870 e.preventDefault(); 2871 } 2872 } 2873 2874 if (!success) { 2875 window.location = href; 2876 e.preventDefault(); 2877 } 2878 } 2879 } 2880 } 2881 }); 2882 2883 let buttonCountChanged = false; 2884 2885 const googleLoginButtons = document.querySelectorAll(' a[data-plugin="nsl"][data-provider="google"]'); 2886 if (googleLoginButtons.length && checkWebView()) { 2887 googleLoginButtons.forEach(function (googleLoginButton) { 2888 if (scriptOptions._unsupportedWebviewBehavior === 'disable-button') { 2889 disableButtonInWebView(googleLoginButton); 2890 } else { 2891 googleLoginButton.remove(); 2892 buttonCountChanged = true; 2893 } 2894 }); 2895 } 2896 2897 const facebookLoginButtons = document.querySelectorAll(' a[data-plugin="nsl"][data-provider="facebook"]'); 2898 if (facebookLoginButtons.length && checkWebView() && /Android/.test(window.navigator.userAgent) && !isAllowedWebViewForUserAgent('facebook')) { 2899 facebookLoginButtons.forEach(function (facebookLoginButton) { 2900 if (scriptOptions._unsupportedWebviewBehavior === 'disable-button') { 2901 disableButtonInWebView(facebookLoginButton); 2902 } else { 2903 facebookLoginButton.remove(); 2904 buttonCountChanged = true; 2905 } 2906 }); 2907 } 2908 2909 const separators = document.querySelectorAll('div.nsl-separator'); 2910 if (buttonCountChanged && separators.length) {
2911 separators.forEach(function (separator) { 2912 const separatorParentNode = separator.parentNode; 2913 if (separatorParentNode) { 2914 const separatorButtonContainer = separatorParentNode.querySelector('div.nsl-container-buttons'); 2915 if (separatorButtonContainer && !separatorButtonContainer.hasChildNodes()) { 2916 separator.remove(); 2917 } 2918 } 2919 }) 2920 } 2921});})();</script>
2921 <!-- VBX ONBOARDING TEASER v1.3.0 â Inline wine preference --> 2922 <style> 2923 #vbx-onboarding-modal .vbx-wine-radios { display:flex; flex-direction:column; gap:7px; margin:0; } 2924 #vbx-onboarding-modal .vbx-wine-radios label { 2925 display:flex; align-items:center; gap:9px; cursor:pointer; 2926 font-size:0.9em; color:#444; padding:9px 12px; 2927 border:2px solid #e8ddd8; border-radius:9px; transition:border-color .15s; 2928 box-sizing:border-box; 2929 } 2930 #vbx-onboarding-modal .vbx-wine-radios label:hover { border-color:#61262A; } 2931 #vbx-onboarding-modal .vbx-wine-radios input[type=radio] { 2932 accent-color:#61262A; width:16px; height:16px; flex-shrink:0; cursor:pointer; 2933 } 2934 #vbx-onboarding-modal .vbx-wine-radios input[type=radio]:checked + span { color:#61262A; font-weight:700; } 2935 #vbx-onboarding-modal .vbx-wine-radios label:has(input:checked) { border-color:#61262A; background:#fdf8f8; } 2936 #vbx-ob-section-wine { margin-top:4px; } 2937 #vbx-ob-section-wine legend { 2938 font-size:0.88em; font-weight:700; color:#61262A; margin-bottom:8px; 2939 display:block; padding:0; 2940 } 2941 @media (max-width:375px) { 2942 #vbx-onboarding-modal > div { padding:22px 16px !important; } 2943 #vbx-onboarding-modal .vbx-wine-radios label { font-size:0.85em; padding:8px 10px; } 2944 } 2945 </style> 2946 <div id="vbx-onboarding-modal" style="display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.55);z-index:999999;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow-y:auto;" role="dialog" aria-modal="true" aria-labelledby="vbx-ob-title"> 2947 <div style="background:#fff;border-radius:20px;padding:28px 24px;max-width:420px;width:100%;position:relative;box-shadow:0 12px 48px rgba(0,0,0,0.28);box-sizing:border-box;margin:auto;"> 2948 <button onclick="vbxCloseOnboardingTeaser()" aria-label="Fermer" style="position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.6em;cursor:pointer;color:#bbb;line-height:1;padding:0 4px;">×</button> 2949 <div style="text-align:center;margin-bottom:18px;"> 2950 <div style="font-size:2.2em;margin-bottom:8px;">ð·</div> 2951 <h2 id="vbx-ob-title" style="font-size:1.2em;font-weight:800;color:#61262A;margin:0 0 8px;font-family:inherit;">Ton partenaire du vin</h2> 2952 <p style="font-size:0.88em;color:#555;line-height:1.6;margin:0;">Rejoins nos explorateurs â bons plans mensuels<br>+ tirage cadeau ð</p> 2953 <p style="font-size:0.8em;color:#d39c44;font-weight:700;margin:8px 0 0;">⨠+100 XP · Coffret Le Petit Ballon à gagner</p> 2954 </div> 2955 <form id="vbx-onboarding-form" onsubmit="vbxSubmitOnboarding(event)" style="display:flex;flex-direction:column;gap:10px;"> 2956 <input type="hidden" id="vbx-onboarding-source" name="onboarding_source" value=""> 2957 2958 <!-- Section 1 : Identifiants --> 2959 <input id="vbx-ob-email" type="email" name="email" placeholder="Ton adresse email" required autocomplete="email" 2960 style="padding:11px 14px;border:2px solid #e8ddd8;border-radius:10px;font-size:0.93em;width:100%;box-sizing:border-box;outline:none;" 2961 onfocus="this.style.borderColor='#61262A'" onblur="this.style.borderColor='#e8ddd8'"> 2962 <input id="vbx-ob-password" type="password" name="password" placeholder="Mot de passe (6 car. min.)" required minlength="6" autocomplete="new-password" 2963 style="padding:11px 14px;border:2px solid #e8ddd8;border-radius:10px;font-size:0.93em;width:100%;box-sizing:border-box;outline:none;" 2964 onfocus="this.style.borderColor='#61262A'" onblur="this.style.borderColor='#e8ddd8'"> 2965 <input id="vbx-ob-pseudo" type="text" name="pseudo" placeholder="Pseudo (optionnel)" minlength="3" maxlength="30" autocomplete="username" 2966 style="padding:11px 14px;border:2px solid #e8ddd8;border-radius:10px;font-size:0.93em;width:100%;box-sizing:border-box;outline:none;" 2967 onfocus="this.style.borderColor='#61262A'" onblur="this.style.borderColor='#e8ddd8'"> 2968 2969 <!-- Section 2 : Préférence vin (v1.3.0 inline) --> 2970 <fieldset id="vbx-ob-section-wine" style="border:none;padding:0;margin:0;"> 2971 <legend>Quel type de vin aimes-tu ?</legend> 2972 <div class="vbx-wine-radios" role="radiogroup" aria-label="Préférence vin"> 2973 <label> 2974 <input type="radio" name="wine_preference" value="rouge" checked>
2975 <span>ð· Rouge</span> 2976 </label> 2977 <label> 2978 <input type="radio" name="wine_preference" value="blanc"> 2979 <span>ð¥ Blanc</span> 2980 </label> 2981 <label> 2982 <input type="radio" name="wine_preference" value="rose"> 2983 <span>ð¸ Rosé / Effervescent</span> 2984 </label> 2985 <label> 2986 <input type="radio" name="wine_preference" value="indecis"> 2987 <span>ð¤ Je découvre, indécis</span> 2988 </label> 2989 </div> 2990 </fieldset> 2991 2992 <!-- Section 3 : Newsletter (obligatoire - l'inscription vaut abonnement, modele bundle 2026-06-25) --> 2993 <p style="font-size:0.8em;line-height:1.45;color:#555;margin:4px 0 0;"> 2994 En créant ton compte, tu rejoins la <strong>newsletter Vinabox</strong> (bons plans vins < 20 ⬠+ sélections) et tu participes au <strong>tirage mensuel</strong> ð.<br> 2995 <span style="color:#888;">Désinscription en 1 clic à tout moment, dans chaque email.</span> 2996 </p> 2997 2998 <p id="vbx-ob-error" style="color:#e74c3c;font-size:0.85em;margin:0;display:none;text-align:center;"></p> 2999 <button type="submit" id="vbx-ob-submit" 3000 style="background:#61262A;color:#fff;border:none;border-radius:10px;padding:13px;font-weight:800;font-size:1em;cursor:pointer;width:100%;margin-top:2px;"> 3001 Créer mon compte 3002 </button> 3003 <a href="/guide-vin/conserver-vin-maison/" id="vbx-ob-quiz-cta" 3004 style="display:block;text-align:center;background:#F5EDE0;border:2px solid #C9A96E;border-radius:10px;padding:11px;font-size:0.9em;font-weight:700;color:#61262A;text-decoration:none;width:100%;box-sizing:border-box;margin-top:2px;cursor:pointer;" 3005 onclick="if(typeof gtag!=='undefined'){try{gtag('event','badge_quiz_cta_clicked',{source:'onboarding_teaser'});}catch(e){}}"> 3006 Teste ton niveau vin 3007 </a> 3008 <button type="button" onclick="vbxCloseOnboardingTeaser()" 3009 style="background:none;border:none;color:#aaa;font-size:0.85em;cursor:pointer;padding:4px;width:100%;"> 3010 Plus tard 3011 </button> 3012 </form> 3013 <p style="font-size:0.74em;color:#ccc;text-align:center;margin:12px 0 0;">En créant un compte, tu acceptes les <a href="/cgu/" style="color:#aaa;">CGU</a>. Tirage réservé aux majeurs résidant en France. <a href="/reglement-du-jeu/" style="color:#aaa;">Règlement</a>.</p> 3014 </div> 3015 </div> 3016
3016<script> 3017 (function(){ 3018 function _gcOB(name){ var v=document.cookie.match('(^|;) ?'+name+'=([^;]*)(;|$)'); return v?decodeURIComponent(v[2]):null; } 3019 function _scOB(name,val,days){ var d=new Date(); d.setDate(d.getDate()+(days||1)); document.cookie=name+'='+encodeURIComponent(val)+';path=/;expires='+d.toUTCString()+';SameSite=Lax'; } 3020 3021 window.vbxShowOnboardingTeaser = function(source){ 3022 var cfg = window.VBX_PIVOT_B || {}; 3023 if(cfg.isLogged) return; 3024 if(sessionStorage.getItem('vbx_onboarding_teaser_shown')) return; 3025 3026 var modal = document.getElementById('vbx-onboarding-modal'); 3027 if(!modal) return; 3028 3029 var srcField = document.getElementById('vbx-onboarding-source'); 3030 if(srcField) srcField.value = source || ''; 3031 3032 modal.style.display = 'flex'; 3033 document.body.style.overflow = 'hidden'; 3034 sessionStorage.setItem('vbx_onboarding_teaser_shown','1'); 3035 3036 if(typeof gtag!=='undefined'){ try{ gtag('event','onboarding_teaser_shown',{source:source}); }catch(e){} } 3037 }; 3038 3039 window.vbxCloseOnboardingTeaser = function(){ 3040 var modal = document.getElementById('vbx-onboarding-modal'); 3041 if(modal){ modal.style.display='none'; } 3042 document.body.style.overflow = ''; 3043 _scOB('vbx_onboarding_later','1',30); 3044 }; 3045 3046 window.vbxSubmitOnboarding = function(ev){ 3047 ev.preventDefault(); 3048 var btn = document.getElementById('vbx-ob-submit'); 3049 var errEl = document.getElementById('vbx-ob-error'); 3050 if(errEl){ errEl.style.display='none'; errEl.textContent=''; } 3051 if(btn){ btn.disabled=true; btn.textContent='Création en cours...'; } 3052 3053 /* Estimation XP guest */ 3054 var aromaFavs=0; 3055 try{ aromaFavs=Object.keys(JSON.parse(localStorage.getItem('vbx_aroma_favs_v1')||'{}')).length; }catch(er){} 3056 var guestSaves=parseInt(_gcOB('vbx_saves_today')||'0'); 3057 var guestXP=Math.min(aromaFavs*5+guestSaves*20, 200); 3058 3059 /* v1.3.0 â lire le radio wine_preference sélectionné */ 3060 var wineRadio = document.querySelector('#vbx-onboarding-form input[name="wine_preference"]:checked'); 3061 var winePref = wineRadio ? wineRadio.value : 'indecis'; 3062 3063 var cfg = window.VBX_PIVOT_B || {}; 3064 var fd = new FormData(); 3065 fd.append('action','vbx_onboarding_register'); 3066 fd.append('nonce', cfg.nonce||''); 3067 fd.append('email', (document.getElementById('vbx-ob-email')||{}).value||''); 3068 fd.append('pseudo', (document.getElementById('vbx-ob-pseudo')||{}).value||''); 3069 fd.append('password', (document.getElementById('vbx-ob-password')||{}).value||''); 3070 fd.append('guest_xp', guestXP); 3071 fd.append('onboarding_source', (document.getElementById('vbx-onboarding-source')||{}).value||''); 3072 fd.append('wine_preference', winePref); // v1.3.0 â valeur inline, jamais vide 3073 var _nl=document.getElementById('vbx-ob-newsletter'); fd.append('vbx_ob_newsletter', (_nl&&_nl.checked)?'1':''); 3074 3075 /* P0 (02/08/2026) â Option B : injecter le score quiz pending depuis sessionStorage. 3076 * quiz-engine.js stocke vbx_pending_quiz_score + vbx_pending_quiz_ts dans sessionStorage 3077 * quand un guest termine un quiz et voit le CTA. PHP credit_pending_quiz_score() crédite 3078 * les pts si inscription < 5 min. */ 3079 try { 3080 var _qs = sessionStorage.getItem('vbx_pending_quiz_score'); 3081 var _qt = sessionStorage.getItem('vbx_pending_quiz_ts'); 3082 if (_qs) { fd.append('vbx_quiz_score_pending', _qs); fd.append('vbx_quiz_score_ts', _qt||''); } 3083 } catch(e) {} 3084 3085 fetch(cfg.ajaxurl||'/wp-admin/admin-ajax.php',{method:'POST',body:fd,credentials:'same-origin'}) 3086 .then(function(r){ return r.json(); }) 3087 .then(function(data){ 3088 if(data.success){ 3089 var formEl=document.getElementById('vbx-onboarding-form'); 3090 var raffleMsg = data.data.raffle_entered ? '<p style="color:#d39c44;font-size:0.85em;margin:4px 0 12px;">ð Tu es inscrit(e) au tirage mensuel !</p>' : ''; 3091 if(formEl){ formEl.innerHTML='<div style="text-align:center;padding:20px 0;"><div style="font-size:2.2em;margin-bottom:12px;">ð</div><p style="font-weight:800;color:#27ae60;font-size:1.15em;margin:0 0 8px;">Bienvenue !</p>'+raffleMsg+'<p style="color:#555;font-size:0.92em;margin:0 0 12px;">+'+data.data.xp_total+' XP débloqués !</p></div>'; } 3092 /* GA4 v1.3.0 â signup + wine_preference_captured */ 3093 var _src = (document.getElementById('vbx-onboarding-source')||{}).value||''; 3094 if(typeof gtag!=='undefined'){ 3095 try{ gtag('event','signup_from_teaser',{signup_source:_src}); }catch(e){} 3096 try{ gtag('event','signup_account_created',{form_location:'badge_teaser_modal_v1.3.0',signup_source:_src,raffle_entered:!!(data.data.raffle_entered),wine_preference:winePref}); }catch(e){} 3097 try{ gtag('event','wine_preference_captured',{value:winePref,form_location:'badge_teaser_modal_v1.3.0'}); }catch(e){} 3098 } 3099 setTimeout(function(){ window.location.href=data.data.redirect||'/mon-compte/'; },2000); 3100 } else { 3101 if(errEl){ errEl.textContent=(data.data&&data.data.message)?data.data.message:'Une erreur est survenue. Réessaie.'; errEl.style.display='block'; } 3102 if(btn){ btn.disabled=false; btn.textContent='Créer mon compte'; } 3103 } 3104 }) 3105 .catch(function(){ 3106 if(errEl){ errEl.textContent='Erreur réseau. Vérifie ta connexion.'; errEl.style.display='block'; } 3107 if(btn){ btn.disabled=false; btn.textContent='Créer mon compte'; } 3108 }); 3109 }; 3110 3111 /* Fermer en cliquant l'overlay */ 3112 document.addEventListener('click', function(e){ 3113 var modal=document.getElementById('vbx-onboarding-modal'); 3114 if(!modal || modal.style.display==='none') return; 3115 if(e.target===modal) vbxCloseOnboardingTeaser(); 3116 }); 3117 3118 /* Fermer au Escape */ 3119 document.addEventListener('keydown', function(e){ 3120 if(e.key==='Escape'){ 3121 var modal=document.getElementById('vbx-onboarding-modal'); 3122 if(modal && modal.style.display!=='none') vbxCloseOnboardingTeaser(); 3123 } 3124 }); 3125 3126 /* ââ Auto-trigger modal ââââââââââââââââââââââââââââââââââââââââââ */ 3127 (function(){ 3128 var _triggered = false;
3129 3130 /* Un bandeau de consentement ou l'age gate occupe-t-il l'ecran ? */ 3131 function _consentOrGateOpen(){ 3132 try { 3133 var sels = [ 3134 '.fc-consent-root', /* Google Funding Choices */ 3135 '.fc-dialog-container', 3136 '#cmplz-cookiebanner-container', 3137 '.cmplz-cookiebanner', /* Complianz */ 3138 '#axeptio_overlay', 3139 '.axeptio_widget', /* Axeptio */ 3140 '#cookiescript_injected', 3141 '#onetrust-banner-sdk' 3142 ]; 3143 for (var i=0;i<sels.length;i++){ 3144 var el = document.querySelector(sels[i]); 3145 if (el && el.offsetParent !== null) { return true; } 3146 } 3147 var gate = document.getElementById('vbx-age-gate'); 3148 if (gate && gate.style.display !== 'none' && gate.offsetParent !== null) { return true; } 3149 } catch(e){} 3150 return false; 3151 } 3152 3153 function _shouldShow(){ 3154 var cfg = window.VBX_PIVOT_B || {}; 3155 if(cfg.isLogged) return false; 3156 if(sessionStorage.getItem('vbx_onboarding_teaser_shown')) return false; 3157 if(_gcOB('vbx_onboarding_later')) return false; 3158 if(window.VBX_POPUP_LOCK) return false; 3159 /* Fix QA visuel 11/09 : ne jamais s'empiler sur le bandeau de consentement 3160 (CMP Google Funding Choices / Complianz / Axeptio) ni sur l'age gate. 3161 Constate le 11/09 sur 3 pages : teaser ouvert DERRIERE la fenetre CMP. */ 3162 if(_consentOrGateOpen()) return false; 3163 /* Popup Governor (fix 19/07 v1.0.8) : onboarding teaser exempt du pv<2 gate */ 3164 /* (auto-trigger apres delai/scroll = contextualise, pas un popup froid). */ 3165 /* Conserve max 1/session + cooldown 120s cross-session. */ 3166 if(window.vbxPromptGate) { 3167 try { if(sessionStorage.getItem('vbx_gov_shown')) return false; } catch(e){} 3168 try { 3169 var _govLast=parseInt(localStorage.getItem('vbx_gov_last_ts')||'0',10); 3170 if(Date.now()-_govLast<120000) return false; 3171 } catch(e){} 3172 } 3173 if(/\/mon-compte|checkout|onboarding/.test(window.location.pathname)) return false; 3174 return true; 3175 } 3176 3177 function _trigger(source){ 3178 if(_triggered) return; 3179 if(!_shouldShow()) return; 3180 _triggered = true; 3181 if(window.vbxPromptGate) window.vbxPromptGate.markShown('onboarding'); 3182 vbxShowOnboardingTeaser(source || 'auto_time'); 3183 } 3184 3185 /* Trigger 1 : délai 8s, puis re-essais toutes les 3s pendant 60s 3186 tant que seul le bandeau de consentement bloque (fix 11/09). */ 3187 setTimeout(function(){ 3188 _trigger('auto_8s'); 3189 if (_triggered) { return; } 3190 var _tries = 0; 3191 var _iv = setInterval(function(){ 3192 _tries++; 3193 if (_triggered || _tries > 20) { clearInterval(_iv); return; } 3194 _trigger('auto_8s_retry'); 3195 if (_triggered) { clearInterval(_iv); } 3196 }, 3000); 3197 }, 8000); 3198 3199 /* Trigger 2 : scroll 50% */ 3200 function _onScroll(){ 3201 var scrolled = window.scrollY || document.documentElement.scrollTop; 3202 var docH = document.documentElement.scrollHeight - window.innerHeight; 3203 if(docH > 0 && scrolled / docH >= 0.50){ 3204 _trigger('auto_scroll50'); 3205 window.removeEventListener('scroll', _onScroll); 3206 } 3207 } 3208 window.addEventListener('scroll', _onScroll, {passive: true}); 3209 })(); 3210 /* ââ /Auto-trigger âââââââââââââââââââââââââââââââââââââââââââââââ */ 3211 3212 })(); 3213 </script>
3213 3214 <div id="vinabox-search-overlay" class="vinabox-search-overlay" role="dialog" aria-modal="true" aria-labelledby="vinabox-search-title" hidden> 3215 <div class="vinabox-search-overlay__backdrop" data-vinabox-search-toggle="close" aria-hidden="true"></div> 3216 <div class="vinabox-search-overlay__panel"> 3217 <button type="button" class="vinabox-search-overlay__close" aria-label="Fermer la recherche" data-vinabox-search-toggle="close"> 3218 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 3219 </button> 3220 <h2 id="vinabox-search-title" class="vinabox-search-overlay__title">Que cherchez-vous ?</h2> 3221 <form role="search" method="get" class="vinabox-search-overlay__form" action="https://www.vinabox.fr/"> 3222 <label for="vinabox-search-input" class="screen-reader-text">Rechercher sur Vinabox</label> 3223 <div class="vinabox-search-overlay__field"> 3224 <svg class="vinabox-search-overlay__field-icon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg> 3225 <input type="search" id="vinabox-search-input" name="s" placeholder="Cépage, région, accord mets-vin..." autocomplete="off" required> 3226 <button type="submit" class="vinabox-search-overlay__submit">Rechercher</button> 3227 </div> 3228 </form> 3229 <p class="vinabox-search-overlay__hint">Essayez : <a href="https://www.vinabox.fr/?s=cabernet">cabernet</a>, <a href="https://www.vinabox.fr/?s=bordeaux">bordeaux</a>, <a href="https://www.vinabox.fr/?s=accords+fromage">accords fromage</a></p> 3230 </div> 3231 </div> 3232 <!-- ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 3233 <!-- â VBX FUNNEL UNIFIà v1.0 â newsletter + compte + lead magnet â --> 3234 <!-- â Affichage visiteur GATà par option vbx_funnel_unified_enabled â --> 3235 <!-- ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 3236 <div id="vbx-funnel-modal" 3237 style="display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000000;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;" 3238 role="dialog" aria-modal="true" aria-labelledby="vbx-fn-title"> 3239 <div style="background:#fff;border-radius:22px;max-width:440px;width:100%;position:relative;box-shadow:0 16px 56px rgba(0,0,0,.32);box-sizing:border-box;overflow:hidden;"> 3240 3241 <!-- Bandeau hook --> 3242 <div style="background:linear-gradient(135deg,#61262A 0%,#7d2f35 100%);color:#fff;padding:26px 28px 22px;text-align:center;position:relative;"> 3243 <button onclick="vbxFunnelClose()" aria-label="Fermer" 3244 style="position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.7em;cursor:pointer;color:rgba(255,255,255,.7);line-height:1;padding:0 4px;">×</button> 3245 <div style="font-size:2.2em;line-height:1;margin-bottom:8px;" aria-hidden="true">ðð·</div> 3246 <h2 id="vbx-fn-title" style="font-size:1.28em;font-weight:800;margin:0 0 8px;font-family:inherit;color:#fff;line-height:1.3;"> 3247 Reçois mes <em>10 pépites</em> de vins secs à < 20 ⬠3248 </h2> 3249 <p style="font-size:.92em;line-height:1.6;margin:0;color:rgba(255,255,255,.92);"> 3250 Le PDF offert + un <strong style="color:#d39c44;">cadeau à gagner chaque mois</strong> par tirage au sort. 3251 </p> 3252 </div> 3253 3254 <!-- Corps --> 3255 <div style="padding:24px 28px 28px;"> 3256 <form id="vbx-funnel-form" onsubmit="vbxFunnelSubmit(event)" style="display:flex;flex-direction:column;gap:13px;"> 3257 3258 <input id="vbx-fn-email" type="email" name="email" placeholder="Ton adresse email" required autocomplete="email" 3259 style="padding:12px 15px;border:2px solid #e8ddd8;border-radius:11px;font-size:.96em;width:100%;box-sizing:border-box;outline:none;"
3260 onfocus="this.style.borderColor='#61262A'" onblur="this.style.borderColor='#e8ddd8'"> 3261 3262 <!-- Case (a) newsletter + PDF (cochée par défaut) --> 3263 <label style="display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.9em;color:#444;line-height:1.45;"> 3264 <input type="checkbox" id="vbx-fn-nl" name="want_newsletter" checked 3265 style="margin-top:2px;width:18px;height:18px;accent-color:#61262A;flex-shrink:0;cursor:pointer;"> 3266 <span>Je reçois le <strong>PDF « 10 pépites »</strong> + la newsletter (1 mail/sem, désabo 1 clic) et je participe au <strong>tirage mensuel</strong>.</span> 3267 </label> 3268 3269 <!-- Case (b) créer un compte (décochée par défaut â révèle les champs) --> 3270 <label style="display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.9em;color:#444;line-height:1.45;"> 3271 <input type="checkbox" id="vbx-fn-acct" name="want_account" onchange="vbxFunnelToggleAccount(this.checked)" 3272 style="margin-top:2px;width:18px;height:18px;accent-color:#61262A;flex-shrink:0;cursor:pointer;"> 3273 <span>Je crée mon <strong>compte gratuit</strong> et je récupère <strong style="color:#d39c44;">+50 XP de bienvenue</strong> (profil de dégustateur).</span> 3274 </label> 3275 3276 <!-- Champs compte (révélés si case b) --> 3277 <div id="vbx-fn-acct-fields" style="display:none;flex-direction:column;gap:11px;border-left:3px solid #d39c44;padding-left:12px;margin:2px 0;"> 3278 <input id="vbx-fn-pseudo" type="text" name="pseudo" placeholder="Ton pseudo (ex: VinophileParis)" minlength="3" maxlength="30" autocomplete="username" 3279 style="padding:11px 14px;border:2px solid #e8ddd8;border-radius:10px;font-size:.92em;width:100%;box-sizing:border-box;outline:none;" 3280 onfocus="this.style.borderColor='#61262A'" onblur="this.style.borderColor='#e8ddd8'"> 3281 <input id="vbx-fn-password" type="password" name="password" placeholder="Mot de passe (6 car. min.)" minlength="6" autocomplete="new-password" 3282 style="padding:11px 14px;border:2px solid #e8ddd8;border-radius:10px;font-size:.92em;width:100%;box-sizing:border-box;outline:none;" 3283 onfocus="this.style.borderColor='#61262A'" onblur="this.style.borderColor='#e8ddd8'"> 3284 </div> 3285 3286 <!-- Wine preference radios (v1.3.0 fix) --> 3287 <div style="flex-direction:column;gap:9px;padding:0;"> 3288 <p style="font-size:.88em;color:#555;margin:0 0 8px;font-weight:600;">ð· Tes préférences de vin</p> 3289 <label style="display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9em;color:#444;"> 3290 <input type="radio" name="wine_preference" value="rouge" checked 3291 style="width:16px;height:16px;accent-color:#61262A;cursor:pointer;"> 3292 <span>Vin rouge</span> 3293 </label> 3294 <label style="display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9em;color:#444;"> 3295 <input type="radio" name="wine_preference" value="blanc" 3296 style="width:16px;height:16px;accent-color:#61262A;cursor:pointer;"> 3297 <span>Vin blanc</span> 3298 </label> 3299 <label style="display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9em;color:#444;"> 3300 <input type="radio" name="wine_preference" value="rose" 3301 style="width:16px;height:16px;accent-color:#61262A;cursor:pointer;"> 3302 <span>Vin rosé</span> 3303 </label> 3304 <label style="display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9em;color:#444;"> 3305 <input type="radio" name="wine_preference" value="indecis" 3306 style="width:16px;height:16px;accent-color:#61262A;cursor:pointer;"> 3307 <span>Je sais pas encore</span> 3308 </label> 3309 </div> 3310 3311 <p id="vbx-fn-error" style="color:#e74c3c;font-size:.85em;margin:0;display:none;text-align:center;"></p> 3312 3313 <button type="submit" id="vbx-fn-submit" 3314 style="background:#61262A;color:#fff;border:none;border-radius:12px;padding:14px;font-weight:800;font-size:1.02em;cursor:pointer;width:100%;margin-top:2px;"> 3315 Je reçois mes 10 pépites ð· 3316 </button> 3317 <button type="button" onclick="vbxFunnelClose()" 3318 style="background:none;border:none;color:#aaa;font-size:.85em;cursor:pointer;padding:4px;width:100%;"> 3319 Non merci, plus tard 3320 </button> 3321 </form> 3322 <p style="font-size:.72em;color:#bbb;text-align:center;margin:14px 0 0;line-height:1.5;"> 3323 Réservé aux +18 ans. En t'inscrivant tu acceptes notre 3324 <a href="/politique-de-confidentialite/" style="color:#aaa;">politique de confidentialité</a>. 3325 </p> 3326 </div> 3327 </div> 3328 </div> 3329 3330
3330<script id="vbx-funnel-js"> 3331 (function () { 3332 'use strict'; 3333 3334 var CFG = { 3335 AUTOSHOW: false, /* gaté serveur : flag OU preview admin */ 3336 DELAY: 6000, /* 6 s avant affichage */ 3337 SS_SHOWN: 'vbx_funnel_shown_session', /* 1Ã/session */ 3338 LS_DONE: 'vbx_funnel_done_v1', /* converti â ne plus jamais montrer */ 3339 LS_LATER: 'vbx_funnel_later_v1', /* "plus tard" â cooldown 14 j */ 3340 LATER_DAYS: 14, 3341 PDF_URL: '/wp-content/uploads/lead-magnet/10-pepites-vins-secs-moins-20e.pdf', 3342 ACCT_REDIRECT: 'https://www.vinabox.fr/mon-compte/' 3343 }; 3344 3345 var pivot = window.VBX_PIVOT_B || {}; 3346 if ( pivot.isLogged ) { return; } 3347 3348 function lsGet(k){ try{ return localStorage.getItem(k); }catch(e){ return null; } } 3349 function lsSet(k,v){ try{ localStorage.setItem(k,v); }catch(e){} } 3350 function ssGet(k){ try{ return sessionStorage.getItem(k); }catch(e){ return null; } } 3351 function ssSet(k,v){ try{ sessionStorage.setItem(k,v); }catch(e){} } 3352 3353 function ga4(ev,p){ try{ if(typeof window.gtag==='function'){ window.gtag('event',ev,p||{}); } }catch(e){} } 3354 3355 /* âââ ANTI-DOUBLON CENTRAL ââââââââââââââââââââââââââââââââââââââââââââ 3356 * Empêche d'afficher ce pop-up en même temps que le pop-up natif Brevo (A). 3357 * Le pop-up Brevo natif (form id 1, plugin mailin) pose en général un cookie 3358 * `sib_popup_*` / `sc_*`. On expose aussi un verrou commun `window.VBX_POPUP_LOCK` 3359 * pour que tout futur pop-up vérifie/pose ce verrou avant de s'afficher. 3360 * --------------------------------------------------------------------- */ 3361 function anotherPopupOpen() { 3362 if ( window.VBX_POPUP_LOCK ) { return true; } 3363 /* heuristique : un node Brevo popup visible dans le DOM */ 3364 var sib = document.querySelector('.sib-form-modal, #sib-form, .entry__error, [id^="sib-container"]'); 3365 if ( sib && sib.offsetParent !== null ) { return true; } 3366 /* cookies posés par le pop-up Brevo natif */ 3367 if ( /(?:^|;)\s*(?:sib_|scq_|sib-)/.test(document.cookie) ) { return true; } 3368 return false; 3369 } 3370 3371 function laterCooldownActive() { 3372 var ts = parseInt( lsGet(CFG.LS_LATER) || '0', 10 ); 3373 if ( !ts ) { return false; } 3374 return ( Date.now() - ts ) < CFG.LATER_DAYS * 86400000; 3375 } 3376 3377 var modal = document.getElementById('vbx-funnel-modal'); 3378 var acctFields = document.getElementById('vbx-fn-acct-fields'); 3379 3380 window.vbxFunnelToggleAccount = function (checked) { 3381 if ( !acctFields ) { return; } 3382 acctFields.style.display = checked ? 'flex' : 'none'; 3383 var p = document.getElementById('vbx-fn-pseudo'); 3384 var pw = document.getElementById('vbx-fn-password'); 3385 if ( p ) { p.required = !!checked; } 3386 if ( pw ) { pw.required = !!checked; } 3387 }; 3388 3389 window.vbxFunnelShow = function (force) { 3390 if ( !modal ) { return; } 3391 if ( !force ) { 3392 if ( !CFG.AUTOSHOW ) { return; } /* GATE serveur */ 3393 if ( lsGet(CFG.LS_DONE) ) { return; } /* déjà converti */ 3394 if ( ssGet(CFG.SS_SHOWN) ) { return; } /* déjà vu cette session */ 3395 if ( laterCooldownActive() ) { return; } /* cooldown "plus tard" */ 3396 if ( anotherPopupOpen() ) { return; } /* anti-doublon Brevo natif */ 3397 /* ne pas doubler avec les anciens teasers (ladder / pivot-b) */ 3398 if ( ssGet('vbx_badge_teaser_v1_shown') ) { return; } 3399 if ( ssGet('vbx_onboarding_teaser_shown') ) { return; } 3400 /* Popup Governor : 1 popup business max / session, jamais sur la 1re page vue */ 3401 if ( window.vbxPromptGate && ! window.vbxPromptGate.canShow() ) { return; } 3402 } 3403 if ( ! force && window.vbxPromptGate ) { window.vbxPromptGate.markShown('funnel'); } 3404 window.VBX_POPUP_LOCK = true; 3405 modal.style.display = 'flex'; 3406 document.body.style.overflow = 'hidden'; 3407 ssSet(CFG.SS_SHOWN, '1'); 3408 ga4('funnel_popup_shown', {}); 3409 }; 3410 3411 window.vbxFunnelClose = function () { 3412 if ( modal ) { modal.style.display = 'none'; } 3413 document.body.style.overflow = ''; 3414 window.VBX_POPUP_LOCK = false;
3415 lsSet(CFG.LS_LATER, String(Date.now())); 3416 ga4('funnel_popup_dismissed', {}); 3417 }; 3418 3419 window.vbxFunnelSubmit = function (ev) { 3420 ev.preventDefault(); 3421 var btn = document.getElementById('vbx-fn-submit'); 3422 var errEl = document.getElementById('vbx-fn-error'); 3423 var wantNl = document.getElementById('vbx-fn-nl').checked; 3424 var wantAcct = document.getElementById('vbx-fn-acct').checked; 3425 if ( errEl ) { errEl.style.display='none'; errEl.textContent=''; } 3426 3427 if ( !wantNl && !wantAcct ) { 3428 if ( errEl ) { errEl.textContent='Coche au moins une option.'; errEl.style.display='block'; } 3429 return; 3430 } 3431 if ( btn ) { btn.disabled=true; btn.textContent='En coursâ¦'; } 3432 3433 /* Estimation XP guest (arômes + calculs) â même logique que pivot-b */ 3434 var aromaFavs = 0; 3435 try { aromaFavs = Object.keys(JSON.parse(localStorage.getItem('vbx_aroma_favs_v1')||'{}')).length; } catch(e){} 3436 function gc(n){ var v=document.cookie.match('(^|;) ?'+n+'=([^;]*)(;|$)'); return v?decodeURIComponent(v[2]):null; } 3437 var guestSaves = parseInt(gc('vbx_saves_today')||'0', 10); 3438 var guestXP = Math.min(aromaFavs*5 + guestSaves*20, 200); 3439 3440 var cfg = window.VBX_PIVOT_B || {}; 3441 var fd = new FormData(); 3442 fd.append('action','vbx_funnel_submit'); 3443 fd.append('nonce', cfg.nonce||''); 3444 fd.append('email', (document.getElementById('vbx-fn-email')||{}).value||''); 3445 fd.append('want_newsletter', wantNl ? '1' : ''); 3446 fd.append('want_account', wantAcct ? '1' : ''); 3447 fd.append('pseudo', (document.getElementById('vbx-fn-pseudo')||{}).value||''); 3448 fd.append('password', (document.getElementById('vbx-fn-password')||{}).value||''); 3449 fd.append('guest_xp', guestXP); 3450 fd.append('source', 'popup-unified'); 3451 fd.append('wine_preference', (document.querySelector('input[name="wine_preference"]:checked')||{}).value||'indecis'); 3452 3453 fetch(cfg.ajaxurl||'/wp-admin/admin-ajax.php', { method:'POST', body:fd, credentials:'same-origin' }) 3454 .then(function(r){ return r.json(); }) 3455 .then(function(resp){ 3456 if ( !resp || !resp.success ) { 3457 var m = (resp && resp.data && resp.data.message) ? resp.data.message : 'Une erreur est survenue. Réessaie.'; 3458 if ( errEl ) { errEl.textContent=m; errEl.style.display='block'; } 3459 if ( btn ) { btn.disabled=false; btn.textContent='Je reçois mes 10 pépites ð·'; } 3460 return; 3461 } 3462 var d = resp.data || {}; 3463 lsSet(CFG.LS_DONE, '1'); 3464 ga4('funnel_conversion', { newsletter: wantNl?1:0, account: wantAcct?1:0 }); 3465 3466 /* Construire l'écran de succès */ 3467 var html = '<div style="text-align:center;padding:8px 0;">'; 3468 html += '<div style="font-size:2.4em;margin-bottom:10px;">ð</div>'; 3469 html += '<p style="font-weight:800;color:#27ae60;font-size:1.15em;margin:0 0 12px;">C\'est tout bon !</p>'; 3470 3471 var nlState = d.newsletter; 3472 if ( wantNl && nlState ) { 3473 if ( nlState.doi && nlState.ok ) { 3474 html += '<p style="color:#555;font-size:.92em;margin:0 0 10px;line-height:1.6;">ð© Vérifie ta boîte mail (et les spams) pour <strong>confirmer</strong> ton inscription â ton PDF t\'attend juste après !</p>'; 3475 } else if ( nlState.ok || nlState.already ) { 3476 html += '<p style="color:#555;font-size:.92em;margin:0 0 10px;line-height:1.6;">Tu es inscrit(e) à la newsletter ! Voici ton cadeau :</p>'; 3477 html += '<a href="'+CFG.PDF_URL+'" target="_blank" rel="noopener" style="display:inline-block;background:#d39c44;color:#fff;border-radius:10px;padding:11px 18px;font-weight:800;text-decoration:none;margin:4px 0 12px;">ð Télécharger mes 10 pépites</a>'; 3478 } else { 3479 html += '<p style="color:#e67e22;font-size:.88em;margin:0 0 10px;">'+(nlState.message||'Newsletter : réessaie plus tard.')+'</p>'; 3480 } 3481 } 3482 3483 var acct = d.account; 3484 if ( wantAcct && acct && acct.ok ) { 3485 html += '<p style="color:#d39c44;font-weight:700;font-size:.92em;margin:0 0 8px;">⨠Compte créé · +'+(acct.xp_total||50)+' XP débloqués !</p>'; 3486 html += '<p style="color:#bbb;font-size:.8em;">Redirection vers ton profilâ¦</p>'; 3487 setTimeout(function(){ window.location.href = acct.redirect || CFG.ACCT_REDIRECT; }, 2600); 3488 } else if ( wantAcct && acct && !acct.ok ) { 3489 html += '<p style="color:#e67e22;font-size:.85em;margin:0;">Compte : '+(acct.message||'non créé')+'</p>'; 3490 } 3491 3492 html += '</div>'; 3493 var formEl = document.getElementById('vbx-funnel-form'); 3494 if ( formEl ) { formEl.innerHTML = html; } 3495 }) 3496 .catch(function(){ 3497 if ( errEl ) { errEl.textContent='Erreur réseau. Vérifie ta connexion.'; errEl.style.display='block'; } 3498 if ( btn ) { btn.disabled=false; btn.textContent='Je reçois mes 10 pépites ð·'; } 3499 }); 3500 }; 3501 3502 /* Fermer overlay au clic extérieur + Escape */ 3503 document.addEventListener('click', function(e){ 3504 if ( modal && modal.style.display!=='none' && e.target===modal ) { vbxFunnelClose(); } 3505 }); 3506 document.addEventListener('keydown', function(e){ 3507 if ( e.key==='Escape' && modal && modal.style.display!=='none' ) { vbxFunnelClose(); } 3508 }); 3509 3510 /* âââ AUTO-DÃCLENCHEUR (gaté) ââââââââââââââââââââââââââââââââââââââââ */ 3511 if ( CFG.AUTOSHOW ) { 3512 setTimeout(function(){ vbxFunnelShow(false); }, CFG.DELAY); 3513 } 3514 /* Sans le flag, vbxFunnelShow(true) reste appelable manuellement (boutons CTA). */ 3515 }()); 3516 </script>
3516 3517 <style id="vbx-newsletter-modal-css"> 3518/* CTA newsletter badge teaser + modal â D2 (02/08/2026) fix-r1-css-global (05/08/2026) */ 3519/* Ces styles sont injectés inline car quiz-dashboard.css est conditionnel (quiz/account uniquement) */ 3520.vbx-badge-teaser-newsletter { margin-top: 10px; text-align: center; } 3521.vbx-badge-teaser-newsletter__sep { color: #999; font-size: 0.8rem; display: block; margin-bottom: 6px; } 3522.vbx-badge-teaser-newsletter__btn { 3523 background: none; border: 1px solid #c8860a; color: #c8860a; 3524 border-radius: 6px; padding: 8px 16px; font-size: 0.85rem; cursor: pointer; 3525 min-height: 44px; 3526} 3527.vbx-badge-teaser-newsletter__btn:hover { background: #fff8ec; } 3528/* A3 (10/08/2026) â CTA quiz badge teaser (brief quiz-exposition-10-08) */ 3529.vbx-badge-teaser-quiz { margin-top: 8px; text-align: center; } 3530.vbx-badge-teaser-quiz__btn { 3531 display: inline-block; border: 1.5px solid #61262A; color: #fff; 3532 border-radius: 6px; padding: 8px 20px; font-size: 0.82rem; cursor: pointer; 3533 text-decoration: none; background: #61262A; min-height: 44px; line-height: 28px; 3534 box-sizing: border-box; font-weight: 600; 3535} 3536.vbx-badge-teaser-quiz__btn:hover { background: #4e1e21; border-color: #4e1e21; color: #fff; } 3537.vbx-newsletter-modal { 3538 position: fixed; inset: 0; z-index: 9999; 3539 display: flex; align-items: center; justify-content: center; 3540} 3541.vbx-newsletter-modal__overlay { 3542 position: absolute; inset: 0; background: rgba(0,0,0,0.5); 3543} 3544.vbx-newsletter-modal__box { 3545 position: relative; background: #fff; border-radius: 12px; 3546 padding: 28px; max-width: 380px; width: 90%; z-index: 1; 3547} 3548.vbx-newsletter-modal__close { 3549 position: absolute; top: 12px; right: 16px; 3550 background: none; border: none; font-size: 1.2rem; cursor: pointer; color: #666; 3551} 3552.vbx-newsletter-modal__title { font-size: 1.1rem; font-weight: 700; margin-bottom: 6px; } 3553.vbx-newsletter-modal__sub { font-size: 0.9rem; color: #555; margin-bottom: 14px; } 3554.vbx-newsletter-modal__input { 3555 width: 100%; padding: 10px 12px; border: 1px solid #ccc; 3556 border-radius: 6px; font-size: 0.95rem; margin-bottom: 10px; box-sizing: border-box; 3557 min-height: 44px; 3558} 3559.vbx-newsletter-modal__rgpd { 3560 font-size: 0.8rem; color: #666; 3561 display: flex; gap: 8px; align-items: flex-start; margin-bottom: 14px; 3562} 3563.vbx-newsletter-modal__submit { 3564 width: 100%; background: #c8860a; color: #fff; border: none; 3565 border-radius: 8px; padding: 12px; font-size: 1rem; font-weight: 600; 3566 cursor: pointer; min-height: 44px; 3567} 3568.vbx-newsletter-modal__submit:hover { background: #a06f08; } 3569.vbx-newsletter-modal__confirm { color: #2e7d32; font-weight: 600; text-align: center; padding: 16px 0; } 3570</style> 3571 <!-- âââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 3572 <!-- â VBX GAMIFICATION LADDER v1.0 â badge + teaser + bar â --> 3573 <!-- âââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 3574 3575 <!-- â Toast badge "Explorateur" (bottom-left, auto-hide 6s) --> 3576 <div id="vbx-badge-toast" 3577 style="display:none;position:fixed;bottom:24px;left:20px;z-index:99998;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 4px 24px rgba(0,0,0,.18);border-left:5px solid #d39c44;max-width:270px;font-family:inherit;cursor:default;" 3578 role="alert" aria-live="polite"> 3579 <div style="display:flex;align-items:center;gap:12px;"> 3580 <span style="font-size:2em;line-height:1;" aria-hidden="true">ð </span> 3581 <div> 3582 <p style="margin:0;font-weight:800;color:#61262A;font-size:.95em;line-height:1.3;">Badge débloqué !</p> 3583 <p style="margin:4px 0 0;color:#666;font-size:.82em;line-height:1.45;">Explorateur du Vin<br> 3584 <span style="color:#d39c44;font-weight:700;">+50 XP si tu crées un compte</span></p> 3585 </div> 3586 </div> 3587 </div> 3588 3589 <!-- â¡ Modal teaser simplifié â CTA ouvre le form inline d'inscription (pivot-B). Fallback /mon-compte/. --> 3590 <div id="vbx-badge-teaser" 3591 style="display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:99999;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;" 3592 role="dialog" aria-modal="true" aria-labelledby="vbx-bt-title"> 3593 <div style="background:#fff;border-radius:20px;padding:32px 28px;max-width:380px;width:100%;text-align:center;position:relative;box-shadow:0 12px 48px rgba(0,0,0,.28);box-sizing:border-box;"> 3594 <button onclick="vbxCloseBadgeTeaser()" aria-label="Fermer" 3595 style="position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.6em;cursor:pointer;color:#bbb;line-height:1;padding:0 4px;">×</button> 3596 <div style="font-size:3em;margin-bottom:12px;" aria-hidden="true">ð </div> 3597 <h2 id="vbx-bt-title" style="font-size:1.2em;font-weight:800;color:#61262A;margin:0 0 10px;font-family:inherit;"> 3598 Tu as débloqué le badge<br><em>Explorateur du Vin</em> ! 3599 </h2> 3600 <p style="font-size:.9em;color:#555;line-height:1.65;margin:0 0 16px;"> 3601 Crée ton compte gratuit pour sauvegarder ta progression<br>et débloquer ton profil de dégustateur. 3602 </p> 3603 <p style="font-size:.85em;color:#d39c44;font-weight:700;margin:0 0 22px;">⨠+50 XP de bienvenue offerts !</p> 3604 <a href="https://www.vinabox.fr/mon-compte/" onclick="return vbxBadgeTeaserCTA(this, event);" 3605 style="display:block;background:#61262A;color:#fff;border-radius:12px;padding:14px;font-weight:800;font-size:1em;text-decoration:none;margin-bottom:10px;box-sizing:border-box;"> 3606 Créer mon compte gratuit 3607 </a> 3608 <!-- D2 (02/08/2026) â CTA secondaire newsletter --> 3609 <div class="vbx-badge-teaser-newsletter"> 3610 <span class="vbx-badge-teaser-newsletter__sep">â ou â</span>
3611 <button class="vbx-badge-teaser-newsletter__btn" onclick="vbxOpenNewsletterModal(); return false;"> 3612 Recevoir nos sélections par email 3613 </button> 3614 </div> 3615 <!-- A3 (10/08/2026) â CTA quiz (brief quiz-exposition-10-08 · action 3) --> 3616 <div class="vbx-badge-teaser-quiz"> 3617 <a href="https://www.vinabox.fr/guide-vin/conserver-vin-maison/" 3618 class="vbx-badge-teaser-quiz__btn" 3619 onclick="return vbxBadgeQuizCTA(this, event);">Jouer un quiz</a> 3620 </div> 3621 <button onclick="vbxCloseBadgeTeaser()" 3622 style="background:none;border:none;color:#aaa;font-size:.85em;cursor:pointer;padding:6px;width:100%;"> 3623 Plus tard 3624 </button> 3625 </div> 3626 </div> 3627 3628 <!-- ⣠Modal newsletter â D2 (02/08/2026) --> 3629 <div id="vbx-newsletter-modal" style="display:none;" class="vbx-newsletter-modal"> 3630 <div class="vbx-newsletter-modal__overlay" onclick="vbxCloseNewsletterModal()"></div> 3631 <div class="vbx-newsletter-modal__box"> 3632 <button class="vbx-newsletter-modal__close" onclick="vbxCloseNewsletterModal()" aria-label="Fermer">â</button> 3633 <p class="vbx-newsletter-modal__title">ð· Nos sélections dans ta boîte</p> 3634 <p class="vbx-newsletter-modal__sub">Reçois nos recommandations vin, accords mets-vins et quiz exclusifs.</p> 3635 <form id="vbx-newsletter-form" onsubmit="vbxSubmitNewsletter(event)"> 3636 <input type="email" name="email" placeholder="[email protected]" required class="vbx-newsletter-modal__input"> 3637 <label class="vbx-newsletter-modal__rgpd"> 3638 <input type="checkbox" required> 3639 J'accepte de recevoir les sélections Vinabox (désinscription facile) 3640 </label> 3641 <button type="submit" class="vbx-newsletter-modal__submit">M'abonner gratuitement</button> 3642 </form> 3643 <div id="vbx-newsletter-confirm" style="display:none;" class="vbx-newsletter-modal__confirm"> 3644 â Tu es inscrit(e) ! Première sélection à venir. 3645 </div> 3646 </div> 3647 </div> 3648 3649 <!-- ⢠Barre XP quiz guests (bottom, visible si xp_pending > 0) --> 3650 <div id="vbx-xp-bar" 3651 style="display:none;position:fixed;bottom:0;left:0;right:0;z-index:9997;background:#61262A;color:#fff;padding:10px 16px;font-size:.85em;align-items:center;justify-content:space-between;box-sizing:border-box;gap:8px;" 3652 role="status" aria-live="polite"> 3653 <span id="vbx-xpb-label" style="flex:1;min-width:0;">ð· <strong>0 XP</strong> gagnés â sauvegarde ta progression</span> 3654 <a href="https://www.vinabox.fr/mon-compte/" onclick="return vbxXPBarCTA(event);" 3655 style="color:#d39c44;font-weight:700;text-decoration:none;white-space:nowrap;flex-shrink:0;"> 3656 Créer mon compte â 3657 </a> 3658 <button onclick="vbxCloseXPBar();" 3659 aria-label="Fermer la barre XP" 3660 style="background:none;border:none;color:rgba(255,255,255,.5);font-size:1.3em;cursor:pointer;padding:0 0 0 10px;line-height:1;flex-shrink:0;">Ã</button> 3661 </div> 3662 3663
3663<script id="vbx-ladder-js"> 3664 (function () { 3665 'use strict'; 3666 3667 /* âââ Config âââââââââââââââââââââââââââââââââââââââââââââââââ */ 3668 var CFG = { 3669 BADGE_LS_KEY: 'vbx_badge_explorateur_v1', // localStorage 3670 TEASER_SS_KEY: 'vbx_badge_teaser_v1_shown', // sessionStorage (1x/session) 3671 QUIZ_XP_LS_KEY: 'vinabox_guest_xp_pending', // écrit par quiz-engine.js 3672 BADGE_DELAY: 60000, // 1 min 3673 TEASER_DELAY: 10000, // 10s après badge 3674 BADGE_RESHOW_DAYS: 30, // re-show teaser après 30 j 3675 }; 3676 3677 /* Ne tourne pas pour les users connectés */ 3678 var pivot = window.VBX_PIVOT_B || {}; 3679 if ( pivot.isLogged ) { return; } 3680 3681 /* âââ Helpers LS / SS (safe) âââââââââââââââââââââââââââââââââ */ 3682 function lsGet(k) { try { return localStorage.getItem(k); } catch(e) { return null; } } 3683 function lsSet(k, v) { try { localStorage.setItem(k, v); } catch(e) {} } 3684 function ssGet(k) { try { return sessionStorage.getItem(k); } catch(e) { return null; } } 3685 function ssSet(k, v) { try { sessionStorage.setItem(k, v); } catch(e) {} } 3686 function ssRm(k) { try { sessionStorage.removeItem(k); } catch(e) {} } 3687 3688 /* âââ GA4 (fix v1.0.2) âââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3689 /* Le snippet gtag.js est injecte par vbx_gamification_inject_gtag_snippet() */ 3690 /* dans wp_head (priority 1) => window.gtag est toujours disponible. */ 3691 function ga4(event, params) { 3692 try { 3693 if ( typeof window.gtag === 'function' ) { 3694 window.gtag('event', event, params || {}); 3695 } else if ( window.dataLayer && typeof window.dataLayer.push === 'function' ) { 3696 var payload = { event: event }; 3697 if ( params ) { 3698 var keys = Object.keys(params); 3699 for (var i = 0; i < keys.length; i++) { payload[keys[i]] = params[keys[i]]; } 3700 } 3701 window.dataLayer.push(payload); 3702 } 3703 } catch(e) {} 3704 } 3705 3706 /* âââ Badge Explorateur ââââââââââââââââââââââââââââââââââââââ */ 3707 function hasBadge() { 3708 return !! lsGet( CFG.BADGE_LS_KEY ); 3709 } 3710 3711 function showBadgeToast() { 3712 var toast = document.getElementById('vbx-badge-toast'); 3713 if ( ! toast ) { return; } 3714 toast.style.display = 'block'; 3715 toast.style.opacity = '1'; 3716 /* Auto-hide après 6s */ 3717 setTimeout(function () { 3718 toast.style.transition = 'opacity .5s ease'; 3719 toast.style.opacity = '0'; 3720 setTimeout(function () { 3721 toast.style.display = 'none'; 3722 toast.style.opacity = '1'; 3723 }, 520); 3724 }, 6000); 3725 } 3726 3727 function unlockBadge() { 3728 if ( hasBadge() ) { 3729 /* Déjà débloqué â vérifier si teaser à re-montrer */ 3730 var ts = parseInt( lsGet( CFG.BADGE_LS_KEY ) || '0', 10 ); 3731 var daysSince = ( Date.now() - ts ) / 86400000; 3732 if ( daysSince > CFG.BADGE_RESHOW_DAYS ) { 3733 /* Retour après 30j â reset session flag pour re-montrer teaser */ 3734 ssRm( CFG.TEASER_SS_KEY ); 3735 } 3736 scheduleTeaser(); 3737 return; 3738 } 3739 3740 /* Premier unlock */ 3741 lsSet( CFG.BADGE_LS_KEY, String( Date.now() ) ); 3742 showBadgeToast(); 3743 ga4( 'badge_unlocked', { badge_name: 'explorateur', trigger: 'time_on_site_60s', is_guest: true } ); 3744 scheduleTeaser(); 3745 } 3746 3747 /* âââ Teaser modal âââââââââââââââââââââââââââââââââââââââââââ */ 3748 function scheduleTeaser() { 3749 // Desactive a la demande de Jeremy le 15/09/2026 : aucun pop-up badge automatique. 3750 } 3751 3752 function maybeShowTeaser() { 3753 // Le pop-up Explorateur du Vin reste desactive, y compris pour les anciens visiteurs. 3754 } 3755 3756 window.vbxCloseBadgeTeaser = function () { 3757 var modal = document.getElementById('vbx-badge-teaser'); 3758 if ( modal ) { modal.style.display = 'none'; } 3759 document.body.style.overflow = ''; 3760 ga4( 'badge_teaser_dismissed', { badge_name: 'explorateur', is_guest: true } ); 3761 }; 3762 3763 window.vbxBadgeTeaserCTA = function ( el, ev ) { 3764 /* Hotfix v1.1.0 (26/07) : double tracking badge_cta_click â root cause = event perdu 3765 * sur navigation (return true fallback) car transport_type comme param event n'active 3766 * pas le beacon réel. Fix : beacon configu au niveau gtag config (wp_head) + canal MP 3767 * direct via navigator.sendBeacon (bypass total gtag/GTM/Complianz, garanti pré-nav). */ 3768 3769 /* Canal 1 : gtag standard (beacon configuré au config level) */ 3770 try { 3771 if ( typeof window.gtag === 'function' ) { 3772 window.gtag('event', 'badge_cta_click', { 3773 badge_name: 'explorateur', 3774 is_guest: true 3775 }); 3776 } else { 3777 ga4( 'badge_cta_click', { badge_name: 'explorateur', is_guest: true } ); 3778 } 3779 } catch(e) {} 3780 3781 /* Canal 2 : Measurement Protocol direct via sendBeacon (garantit réception même nav) */ 3782 try {
3783 if ( navigator.sendBeacon ) { 3784 var _gaCk = document.cookie.match(/_ga=GA\d+\.\d+\.([\d.]+)/); 3785 var _cid = _gaCk ? _gaCk[1] : (Math.random().toString(36).substr(2,9) + '.' + Date.now()); 3786 navigator.sendBeacon( 3787 'https://www.google-analytics.com/mp/collect?measurement_id=G-V9RNS5NBTS&api_secret=5RENd_uPQDiQxttr0LIY2Q', 3788 JSON.stringify({ 3789 client_id: _cid, 3790 events: [{ name: 'badge_cta_click', params: { badge_name: 'explorateur', is_guest: 1, source: 'mp_beacon' } }] 3791 }) 3792 ); 3793 } 3794 } catch(e) {} 3795 3796 /* Fix v1.0.3 (R1) : ouvrir le formulaire inline d'inscription (pivot-B) */ 3797 /* au lieu d'envoyer sur /mon-compte/ nu (0 conversion / 104 exposés J+5). */ 3798 var ob = document.getElementById('vbx-onboarding-modal'); 3799 if ( typeof window.vbxShowOnboardingTeaser === 'function' && ob ) { 3800 var bt = document.getElementById('vbx-badge-teaser'); 3801 if ( bt ) { bt.style.display = 'none'; } 3802 /* Fix v1.0.4 : reset la clé sessionStorage pour permettre à vbxShowOnboardingTeaser 3803 * de s'exécuter même si pivot-b l'a déjà posée (auto_8s). Sans ce reset, 3804 * vbxShowOnboardingTeaser retourne immédiatement et ob.style.display reste 'none'. */ 3805 try { sessionStorage.removeItem('vbx_onboarding_teaser_shown'); } catch(e) {} 3806 window.vbxShowOnboardingTeaser('badge_explorateur'); 3807 if ( ob.style.display === 'flex' ) { 3808 /* Step 2 funnel : modal effectivement ouvert */ 3809 ga4( 'badge_cta_modal_open', { badge_name: 'explorateur', is_guest: true } ); 3810 if ( ev && ev.preventDefault ) { ev.preventDefault(); } 3811 return false; 3812 } 3813 } 3814 /* Fallback : navigation normale vers /mon-compte/ â badge_cta_click déjà émis en beacon */ 3815 return true; 3816 }; 3817 3818 /* Fermer l'overlay en cliquant en dehors */ 3819 document.addEventListener('click', function (e) { 3820 var modal = document.getElementById('vbx-badge-teaser'); 3821 if ( modal && modal.style.display !== 'none' && e.target === modal ) { 3822 vbxCloseBadgeTeaser(); 3823 } 3824 }); 3825 3826 document.addEventListener('keydown', function (e) { 3827 if ( e.key === 'Escape' ) { 3828 var modal = document.getElementById('vbx-badge-teaser'); 3829 if ( modal && modal.style.display !== 'none' ) { 3830 vbxCloseBadgeTeaser(); 3831 } 3832 } 3833 }); 3834 3835 /* âââ Barre XP quiz ââââââââââââââââââââââââââââââââââââââââââ */ 3836 /* 22/08/2026 : la fermeture est memorisee 30 jours (avant, la barre 3837 revenait a chaque page vue, ce qui la rendait insupportable). */ 3838 var XPBAR_DISMISS_KEY = 'vbx_xpbar_dismissed_until'; 3839 var XPBAR_DISMISS_DAYS = 30; 3840 3841 window.vbxCloseXPBar = function () { 3842 var bar = document.getElementById('vbx-xp-bar'); 3843 if ( bar ) { bar.style.display = 'none'; } 3844 lsSet( XPBAR_DISMISS_KEY, String( Date.now() + XPBAR_DISMISS_DAYS * 86400000 ) ); 3845 ga4( 'xp_bar_dismissed', { is_guest: true } ); 3846 }; 3847 3848 function initXPBar() { 3849 var until = parseInt( lsGet( XPBAR_DISMISS_KEY ) || '0', 10 ); 3850 if ( until && Date.now() < until ) { return; } 3851 3852 var raw = lsGet( CFG.QUIZ_XP_LS_KEY ); 3853 if ( ! raw ) { return; } 3854 3855 var xpPending = 0; 3856 try { 3857 var data = JSON.parse( raw ); 3858 xpPending = parseInt( data.xp_pending || 0, 10 ); 3859 } catch(e) { return; } 3860 3861 if ( xpPending <= 0 ) { return; } 3862 3863 var bar = document.getElementById('vbx-xp-bar'); 3864 var label = document.getElementById('vbx-xpb-label'); 3865 if ( ! bar ) { return; } 3866 3867 if ( label ) { 3868 label.innerHTML = 'ð· <strong>' + xpPending + ' XP</strong> gagnés â sauvegarde ta progression'; 3869 } 3870 bar.style.display = 'flex';
3871 ga4( 'xp_bar_shown', { xp_pending: xpPending, is_guest: true } ); 3872 } 3873 3874 window.vbxXPBarCTA = function ( ev ) { 3875 var raw = lsGet( CFG.QUIZ_XP_LS_KEY ); 3876 var xp = 0; 3877 try { xp = JSON.parse( raw || '{}' ).xp_pending || 0; } catch(e) {} 3878 /* Fix v1.0.3 (R1) : ouvrir le form inline d'inscription au lieu de /mon-compte/ nu */ 3879 var ob = document.getElementById('vbx-onboarding-modal'); 3880 if ( typeof window.vbxShowOnboardingTeaser === 'function' && ob ) { 3881 window.vbxShowOnboardingTeaser('xp_bar'); 3882 if ( ob.style.display === 'flex' ) { 3883 ga4( 'xp_bar_cta_click', { xp_pending: xp, destination: 'inline_onboarding', is_guest: true } ); 3884 if ( ev && ev.preventDefault ) { ev.preventDefault(); } 3885 return false; 3886 } 3887 } 3888 ga4( 'xp_bar_cta_click', { xp_pending: xp, is_guest: true } ); 3889 return true; 3890 }; 3891 3892 /* âââ Init âââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3893 if ( hasBadge() ) { 3894 /* Badge déjà obtenu : check re-show teaser */ 3895 var ts2 = parseInt( lsGet( CFG.BADGE_LS_KEY ) || '0', 10 ); 3896 var days2 = ( Date.now() - ts2 ) / 86400000; 3897 if ( days2 > CFG.BADGE_RESHOW_DAYS ) { 3898 ssRm( CFG.TEASER_SS_KEY ); 3899 } 3900 scheduleTeaser(); 3901 } else { 3902 /* Lancer le timer badge (60s) */ 3903 setTimeout( unlockBadge, CFG.BADGE_DELAY ); 3904 } 3905 3906 /* XP bar au chargement du DOM */ 3907 if ( document.readyState !== 'loading' ) { 3908 initXPBar(); 3909 } else { 3910 document.addEventListener('DOMContentLoaded', initXPBar); 3911 } 3912 3913 /* âââ A3 (10/08/2026) : Quiz CTA badge teaser âââââââââââââââ */ 3914 window.vbxBadgeQuizCTA = function ( el, ev ) { 3915 /* Canal 1 : gtag standard (beacon configuré au config level) */ 3916 try { 3917 if ( typeof window.gtag === 'function' ) { 3918 window.gtag('event', 'badge_quiz_cta_clicked', { quiz_name: 'conservation-vin', source: 'badge_teaser' }); 3919 } 3920 } catch(e) {} 3921 3922 /* Canal 2 : Measurement Protocol direct via sendBeacon (garantit réception même nav) 3923 * Fix v1.1.1 (19/08/2026) : même root cause que badge_cta_click (v1.1.0 26/07) â 3924 * event perdu sur navigation car gtag seul sans beacon ne survit pas au unload. 3925 * vbxBadgeTeaserCTA avait déjà ce fix ; pas propagé au quiz CTA ajouté le 10/08. */ 3926 try { 3927 if ( navigator.sendBeacon ) { 3928 var _gaCk = document.cookie.match(/_ga=GA\d+\.\d+\.([\d.]+)/); 3929 var _cid = _gaCk ? _gaCk[1] : (Math.random().toString(36).substr(2,9) + '.' + Date.now()); 3930 navigator.sendBeacon( 3931 'https://www.google-analytics.com/mp/collect?measurement_id=G-V9RNS5NBTS&api_secret=5RENd_uPQDiQxttr0LIY2Q', 3932 JSON.stringify({ 3933 client_id: _cid, 3934 events: [{ name: 'badge_quiz_cta_clicked', params: { quiz_name: 'conservation-vin', source: 'badge_teaser_beacon' } }] 3935 }) 3936 ); 3937 } 3938 } catch(e) {} 3939 3940 /* Fermer le teaser avant navigation */ 3941 var bt = document.getElementById('vbx-badge-teaser'); 3942 if (bt) { bt.style.display = 'none'; } 3943 return true; 3944 }; 3945 3946 /* âââ D2 (02/08/2026) : Modal newsletter ââââââââââââââââââââ */ 3947 window.vbxOpenNewsletterModal = function () { 3948 var modal = document.getElementById('vbx-newsletter-modal'); 3949 if (!modal) { return; } 3950 /* Fermer le badge teaser si ouvert */ 3951 var bt = document.getElementById('vbx-badge-teaser'); 3952 if (bt && bt.style.display !== 'none') { bt.style.display = 'none'; } 3953 modal.style.display = 'flex'; 3954 document.body.style.overflow = 'hidden'; 3955 ga4('newsletter_cta_shown', { source: 'badge_teaser' }); 3956 }; 3957 3958 window.vbxCloseNewsletterModal = function () { 3959 var modal = document.getElementById('vbx-newsletter-modal'); 3960 if (modal) { modal.style.display = 'none'; } 3961 document.body.style.overflow = ''; 3962 }; 3963 3964 window.vbxSubmitNewsletter = function (e) { 3965 e.preventDefault(); 3966 var form = document.getElementById('vbx-newsletter-form'); 3967 var emailEl = form ? form.querySelector('[name="email"]') : null; 3968 var email = emailEl ? emailEl.value : ''; 3969 var submitBtn = form ? form.querySelector('[type="submit"]') : null; 3970 if (submitBtn) { submitBtn.disabled = true; submitBtn.textContent = 'Inscription...'; } 3971 3972 /* Récupérer le nonce WP REST */ 3973 var nonce = (window.vbxData && window.vbxData.nonce) || (window.VBX_PIVOT_B && window.VBX_PIVOT_B.nonce) || ''; 3974 3975 fetch('/wp-json/vinabox/v1/newsletter/subscribe', { 3976 method: 'POST', 3977 headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': nonce }, 3978 body: JSON.stringify({ email: email }) 3979 }) 3980 .then(function (r) { return r.json(); }) 3981 .then(function (data) { 3982 if (form) { form.style.display = 'none'; } 3983 var confirm = document.getElementById('vbx-newsletter-confirm'); 3984 if (confirm) { confirm.style.display = 'block'; } 3985 ga4('newsletter_cta_submitted', { 3986 source: 'badge_teaser', 3987 email_domain: email.split('@')[1] || '' 3988 }); 3989 setTimeout(window.vbxCloseNewsletterModal, 3000); 3990 }) 3991 .catch(function () { 3992 if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = "M'abonner gratuitement"; } 3993 alert('Erreur â réessaie dans un moment.'); 3994 }); 3995 }; 3996 3997 /* Fermer le modal newsletter avec Escape */ 3998 document.addEventListener('keydown', function (e) { 3999 if (e.key === 'Escape') { 4000 var nl = document.getElementById('vbx-newsletter-modal'); 4001 if (nl && nl.style.display !== 'none') { window.vbxCloseNewsletterModal(); } 4002 } 4003 }); 4004 4005 }()); 4006 </script>
4006 4007 <!-- ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 4008 <!-- â VBX NEWSLETTER GAMIFICATION v1.0 â modal email basse-friction â --> 4009 <!-- ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 4010 4011 <!-- Modal email-only --> 4012 <div id="vbx-nl-modal" 4013 style="display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:100000;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;" 4014 role="dialog" aria-modal="true" aria-labelledby="vbx-nl-modal-title"> 4015 <div style="background:#fff;border-radius:20px;padding:32px 28px;max-width:380px;width:100%;text-align:center;position:relative;box-shadow:0 12px 48px rgba(0,0,0,.28);box-sizing:border-box;"> 4016 <button id="vbx-nl-close" aria-label="Fermer la fenêtre newsletter" 4017 style="position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.6em;cursor:pointer;color:#bbb;line-height:1;padding:0 4px;">×</button> 4018 4019 <!-- Ãtat initial : formulaire --> 4020 <div id="vbx-nl-form-wrap"> 4021 <div style="font-size:3em;margin-bottom:10px;" aria-hidden="true">ð·</div> 4022 <h2 id="vbx-nl-modal-title" style="font-size:1.15em;font-weight:800;color:#61262A;margin:0 0 8px;font-family:inherit;line-height:1.3;"> 4023 Rejoins le défi vin !<br><span style="color:#d39c44;font-size:.88em;">+50 XP offerts</span> 4024 </h2> 4025 <p style="font-size:.875em;color:#555;line-height:1.6;margin:0 0 18px;"> 4026 Email seulement â pas de mot de passe.<br>Progression sauvegardée, défis et bons plans directs dans ta boîte. 4027 </p> 4028 4029 <form id="vbx-nl-form" novalidate> 4030 <!-- Honeypot (doit rester vide) --> 4031 <div style="display:none;" aria-hidden="true"> 4032 <input type="text" name="vbx_hp" id="vbx-nl-hp" tabindex="-1" autocomplete="off" value=""> 4033 </div> 4034 4035 <label for="vbx-nl-email" style="display:block;text-align:left;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:5px;"> 4036 Ton email <span style="color:#d39c44;" aria-hidden="true">*</span> 4037 </label> 4038 <input type="email" id="vbx-nl-email" name="email" required 4039 autocomplete="email" 4040 placeholder="[email protected]" 4041 style="width:100%;padding:13px 14px;border:1.5px solid #ddd;border-radius:10px;font-size:15px;font-family:inherit;box-sizing:border-box;margin-bottom:14px;transition:border-color .2s;" 4042 aria-required="true" aria-describedby="vbx-nl-err"> 4043 4044 <div id="vbx-nl-err" role="alert" aria-live="polite" 4045 style="display:none;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:8px 12px;font-size:.82em;color:#b91c1c;margin-bottom:10px;text-align:left;"> 4046 </div> 4047 4048 <button type="submit" id="vbx-nl-submit" 4049 style="display:block;width:100%;background:#61262A;color:#fff;border:none;border-radius:12px;padding:14px;font-weight:800;font-size:1em;cursor:pointer;font-family:inherit;transition:background .2s;" 4050 aria-label="S'inscrire à la newsletter Vinabox"> 4051 S'inscrire à la newsletter 4052 </button> 4053 </form> 4054 4055 <p style="font-size:.72em;color:#bbb;margin:12px 0 0;line-height:1.5;"> 4056 Aucun spam. Désinscription en 1 clic à tout moment. 4057 </p> 4058 </div> 4059 4060 <!-- Ãtat succès --> 4061 <div id="vbx-nl-success" style="display:none;"> 4062 <div style="font-size:3em;margin-bottom:12px;" aria-hidden="true">â </div> 4063 <h2 style="font-size:1.15em;font-weight:800;color:#61262A;margin:0 0 10px;font-family:inherit;"> 4064 Bienvenue ! 4065 </h2> 4066 <p id="vbx-nl-success-msg" style="font-size:.9em;color:#555;line-height:1.6;margin:0 0 16px;"></p> 4067 <div id="vbx-nl-xp-badge" style="display:none;background:#fef9f0;border:1.5px solid #d39c44;border-radius:12px;padding:10px 16px;font-size:.88em;color:#92610a;font-weight:700;margin-bottom:14px;"> 4068 ð +50 XP débloqués dans ta session ! 4069 </div> 4070 <button onclick="vbxNlCloseModal()" 4071 style="background:#61262A;color:#fff;border:none;border-radius:12px;padding:12px 28px;font-weight:700;font-size:.95em;cursor:pointer;font-family:inherit;"> 4072 Continuer à explorer 4073 </button> 4074 </div> 4075 </div> 4076 </div> 4077 4078
4078<script id="vbx-nl-guest-js"> 4079 (function () { 4080 'use strict'; 4081 4082 /* âââ Config âââââââââââââââââââââââââââââââââââââââââââââââ */ 4083 var NL_CFG = { 4084 AJAX_URL: 'https://www.vinabox.fr/wp-admin/admin-ajax.php', 4085 NONCE: '90f14a3163', 4086 FREQ_KEY: 'vbx_nl_modal_shown', // sessionStorage â frequency cap 4087 FREQ_CAP_MS: 60000, // 60s 4088 DONE_KEY: 'vbx_nl_signed_up', // localStorage â ne plus montrer si déjà inscrit 4089 QUIZ_XP_KEY: 'vinabox_guest_xp_pending', 4090 }; 4091 4092 /* âââ Helpers ââââââââââââââââââââââââââââââââââââââââââââââ */ 4093 function lsGet(k) { try { return localStorage.getItem(k); } catch(e) { return null; } } 4094 function lsSet(k, v) { try { localStorage.setItem(k, v); } catch(e) {} } 4095 function ssGet(k) { try { return sessionStorage.getItem(k); } catch(e) { return null; } } 4096 function ssSet(k, v) { try { sessionStorage.setItem(k, v); } catch(e) {} } 4097 4098 function ga4(event, params) { 4099 try { 4100 if (typeof window.gtag === 'function') { 4101 window.gtag('event', event, params || {}); 4102 } else if (window.dataLayer) { 4103 var p = { event: event }; 4104 if (params) { for (var k in params) { if (params.hasOwnProperty(k)) p[k] = params[k]; } } 4105 window.dataLayer.push(p); 4106 } 4107 } catch(e) {} 4108 } 4109 4110 /* SHA-256 (SubtleCrypto async â fire-and-forget pour GA4) */ 4111 function hashEmail(email, cb) { 4112 if (!window.crypto || !window.crypto.subtle) { cb('unavailable'); return; } 4113 var enc = new TextEncoder(); 4114 window.crypto.subtle.digest('SHA-256', enc.encode(email.toLowerCase().trim())) 4115 .then(function(buf) { 4116 var hex = Array.from(new Uint8Array(buf)).map(function(b){ return ('0' + b.toString(16)).slice(-2); }).join(''); 4117 cb(hex); 4118 }).catch(function() { cb('error'); }); 4119 } 4120 4121 /* âââ Frequency cap ââââââââââââââââââââââââââââââââââââââââ */ 4122 function canShowModal() { 4123 if (lsGet(NL_CFG.DONE_KEY)) { return false; } // déjà inscrit 4124 var last = ssGet(NL_CFG.FREQ_KEY); 4125 if (!last) { return true; } 4126 return (Date.now() - parseInt(last, 10)) > NL_CFG.FREQ_CAP_MS; 4127 } 4128 4129 function markModalShown() { 4130 ssSet(NL_CFG.FREQ_KEY, String(Date.now())); 4131 } 4132 4133 /* âââ Modal open / close âââââââââââââââââââââââââââââââââââ */ 4134 window.vbxNlOpenModal = function (source) { 4135 if (!canShowModal()) { return false; } 4136 var modal = document.getElementById('vbx-nl-modal'); 4137 if (!modal) { return false; } 4138 modal.dataset.source = source || 'unknown'; 4139 modal.style.display = 'flex'; 4140 document.body.style.overflow = 'hidden'; 4141 markModalShown(); 4142 var emailInput = document.getElementById('vbx-nl-email'); 4143 if (emailInput) { setTimeout(function(){ emailInput.focus(); }, 50); } 4144 ga4('nl_modal_open', { source: source || 'unknown', is_guest: true }); 4145 return true; 4146 }; 4147 4148 window.vbxNlCloseModal = function () { 4149 var modal = document.getElementById('vbx-nl-modal'); 4150 if (modal) { modal.style.display = 'none'; } 4151 document.body.style.overflow = ''; 4152 }; 4153 4154 /* âââ XP award (localStorage guest) âââââââââââââââââââââââ */ 4155 function awardGuestXP(amount) { 4156 try { 4157 var raw = localStorage.getItem(NL_CFG.QUIZ_XP_KEY); 4158 var data = raw ? JSON.parse(raw) : {}; 4159 data.xp_pending = (parseInt(data.xp_pending, 10) || 0) + amount; 4160 localStorage.setItem(NL_CFG.QUIZ_XP_KEY, JSON.stringify(data)); 4161 } catch(e) {} 4162 } 4163 4164 /* âââ Form submit ââââââââââââââââââââââââââââââââââââââââââ */ 4165 function initForm() { 4166 var form = document.getElementById('vbx-nl-form'); 4167 var submit = document.getElementById('vbx-nl-submit'); 4168 var errBox = document.getElementById('vbx-nl-err'); 4169 if (!form) { return; } 4170 4171 form.addEventListener('submit', function (e) { 4172 e.preventDefault(); 4173 var email = (document.getElementById('vbx-nl-email').value || '').trim(); 4174 var modal = document.getElementById('vbx-nl-modal'); 4175 var source = (modal && modal.dataset.source) || 'unknown'; 4176 4177 /* Validation frontale */ 4178 if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { 4179 showErr('Merci de saisir un email valide.'); 4180 return; 4181 } 4182 hideErr(); 4183 4184 /* Désactiver bouton pendant requête */ 4185 submit.disabled = true; 4186 submit.textContent = 'Inscriptionâ¦'; 4187 4188 var fd = new FormData(); 4189 fd.append('action', 'vbx_nl_guest_signup'); 4190 fd.append('_nonce', NL_CFG.NONCE); 4191 fd.append('email', email); 4192 fd.append('source', source); 4193 fd.append('vbx_hp', ''); // honeypot toujours vide 4194 4195 fetch(NL_CFG.AJAX_URL, { 4196 method: 'POST', 4197 body: fd, 4198 credentials: 'same-origin', 4199 }) 4200 .then(function(r){ return r.json(); }) 4201 .then(function(data) { 4202 if (data.success) { 4203 var payload = data.data || {}; 4204 /* XP award côté client (localStorage) */ 4205 if (payload.xp && payload.xp > 0) { 4206 awardGuestXP(payload.xp); 4207 lsSet(NL_CFG.DONE_KEY, '1'); 4208 } 4209 /* GA4 client-side */ 4210 hashEmail(email, function(hash) { 4211 ga4('newsletter_signup_guest', { 4212 email_hash: hash, 4213 source: source, 4214 xp_awarded: payload.xp || 0, 4215 is_new: payload.is_new ? true : false, 4216 is_guest: true, 4217 }); 4218 }); 4219 /* Afficher succès */ 4220 showSuccess(payload.message || 'Bienvenue !', payload.xp > 0); 4221 } else { 4222 var errMsg = (data.data && data.data.message) ? data.data.message : 'Erreur. Réessaie dans quelques secondes.'; 4223 showErr(errMsg); 4224 submit.disabled = false;
4225 submit.textContent = 'S\'inscrire à la newsletter'; 4226 } 4227 }) 4228 .catch(function() { 4229 showErr('Connexion impossible. Réessaie dans quelques secondes.'); 4230 submit.disabled = false; 4231 submit.textContent = 'S\'inscrire à la newsletter'; 4232 }); 4233 }); 4234 } 4235 4236 function showErr(msg) { 4237 var errBox = document.getElementById('vbx-nl-err'); 4238 if (!errBox) { return; } 4239 errBox.textContent = msg; 4240 errBox.style.display = 'block'; 4241 } 4242 4243 function hideErr() { 4244 var errBox = document.getElementById('vbx-nl-err'); 4245 if (errBox) { errBox.style.display = 'none'; } 4246 } 4247 4248 function showSuccess(msg, showXpBadge) { 4249 var formWrap = document.getElementById('vbx-nl-form-wrap'); 4250 var successDiv = document.getElementById('vbx-nl-success'); 4251 var msgEl = document.getElementById('vbx-nl-success-msg'); 4252 var xpBadge = document.getElementById('vbx-nl-xp-badge'); 4253 4254 if (formWrap) { formWrap.style.display = 'none'; } 4255 if (successDiv){ successDiv.style.display = 'block'; } 4256 if (msgEl) { msgEl.textContent = msg; } 4257 if (xpBadge) { xpBadge.style.display = showXpBadge ? 'block' : 'none'; } 4258 } 4259 4260 /* âââ Close on backdrop click / Escape ââââââââââââââââââââ */ 4261 document.addEventListener('click', function(e) { 4262 var modal = document.getElementById('vbx-nl-modal'); 4263 if (modal && modal.style.display !== 'none' && e.target === modal) { 4264 vbxNlCloseModal(); 4265 } 4266 }); 4267 document.addEventListener('keydown', function(e) { 4268 if (e.key === 'Escape') { 4269 var modal = document.getElementById('vbx-nl-modal'); 4270 if (modal && modal.style.display !== 'none') { vbxNlCloseModal(); } 4271 } 4272 }); 4273 document.getElementById('vbx-nl-close') && document.getElementById('vbx-nl-close').addEventListener('click', function() { 4274 vbxNlCloseModal(); 4275 }); 4276 4277 /* âââ [OPTION-A 12/07/2026] Override badge teaser CTA DÃSACTIVà â */ 4278 /* Décision Jeremy 03/07 : revenir au CTA natif "Créer mon compte gratuit". */ 4279 /* Le monkey-patch ci-dessous ouvrait la modal newsletter (option B) â désactivé. */ 4280 /* Restaurer en retirant le bloc if(false) pour revenir à l'option newsletter. */ 4281 if (false) { /* OPTION-A-DISABLED-START */ 4282 var _origBadgeCTA = window.vbxBadgeTeaserCTA; 4283 window.vbxBadgeTeaserCTA = function (el, ev) { 4284 var bt = document.getElementById('vbx-badge-teaser'); 4285 if (bt) { bt.style.display = 'none'; } 4286 document.body.style.overflow = ''; 4287 var canNl = canShowModal(); 4288 var dest = canNl ? 'nl_modal' : (typeof _origBadgeCTA === 'function' ? 'inline_onboarding' : 'mon_compte'); 4289 ga4('badge_cta_click', { badge_name: 'explorateur', destination: dest, is_guest: true }); 4290 var opened = window.vbxNlOpenModal('badge_teaser'); 4291 if (opened) { 4292 if (ev && ev.preventDefault) { ev.preventDefault(); } 4293 return false; 4294 } 4295 if (typeof _origBadgeCTA === 'function') { 4296 return _origBadgeCTA(el, ev); 4297 } 4298 return true; 4299 }; 4300 } /* OPTION-A-DISABLED-END */ 4301 4302 /* âââ Override XP bar CTA â ouvre modal newsletter âââââââ */ 4303 var _origXPBarCTA = window.vbxXPBarCTA; 4304 window.vbxXPBarCTA = function (ev) { 4305 var opened = window.vbxNlOpenModal('xp_bar'); 4306 if (opened) { 4307 var raw = null; 4308 try { raw = localStorage.getItem(NL_CFG.QUIZ_XP_KEY); } catch(e) {} 4309 var xp = 0; 4310 try { xp = JSON.parse(raw || '{}').xp_pending || 0; } catch(e) {}
4311 ga4('xp_bar_cta_click', { xp_pending: xp, destination: 'nl_modal', is_guest: true }); 4312 if (ev && ev.preventDefault) { ev.preventDefault(); } 4313 return false; 4314 } 4315 /* Fallback : comportement original */ 4316 if (typeof _origXPBarCTA === 'function') { 4317 return _origXPBarCTA(ev); 4318 } 4319 return true; 4320 }; 4321 4322 /* âââ [OPTION-A 12/07/2026] Override texte CTA DÃSACTIVà ââââ */ 4323 /* Fonction désactivée : le texte natif "Créer mon compte gratuit" est restauré. */ 4324 function patchBadgeTeaserCTAText() { 4325 /* OPTION-A : no-op â texte natif conservé */ 4326 return; 4327 } 4328 4329 /* âââ Init âââââââââââââââââââââââââââââââââââââââââââââââââ */ 4330 if (document.readyState !== 'loading') { 4331 initForm(); 4332 /* patchBadgeTeaserCTAText(); // OPTION-A-DISABLED 12/07/2026 */ 4333 } else { 4334 document.addEventListener('DOMContentLoaded', function() { 4335 initForm(); 4336 /* patchBadgeTeaserCTAText(); // OPTION-A-DISABLED 12/07/2026 */ 4337 }); 4338 } 4339 4340 }()); 4341 </script>
4341 4342
4342<script id="vinabox-dad-cfg">window.VINABOX_DISPLAY_ADS={"enabled":true,"endpoint":"https://www.vinabox.fr/vinabox-ad-event","creatives":{"sidebar-300x250":[{"id":"riedel-extreme-300x250","campaign":"riedel","variant":"extreme","format":"300x250","url":"https://www.vinabox.fr/go/riedel/extreme?vbx_banner=riedel-extreme-300x250","src":"/wp-content/uploads/vinabox-ads/riedel-v2-extreme-300x250.webp","alt":"RIEDEL Extreme Cabernet : le verre fait la différence. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":300,"h":250},{"id":"riedel-amadeo-300x250","campaign":"riedel","variant":"amadeo","format":"300x250","url":"https://www.vinabox.fr/go/riedel/amadeo?vbx_banner=riedel-amadeo-300x250","src":"/wp-content/uploads/vinabox-ads/riedel-v2-amadeo-300x250.webp","alt":"RIEDEL Amadeo : lâart de la décantation. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":300,"h":250},{"id":"riedel-degustation-300x250","campaign":"riedel","variant":"degustation","format":"300x250","url":"https://www.vinabox.fr/go/riedel/degustation?vbx_banner=riedel-degustation-300x250","src":"/wp-content/uploads/vinabox-ads/riedel-v2-degustation-300x250.webp","alt":"RIEDEL à chaque vin son verre. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":300,"h":250},{"id":"coravin-300x250","campaign":"coravin","variant":"","format":"300x250","url":"https://www.vinabox.fr/go/coravin","src":"/wp-content/uploads/vinabox-ads/coravin-300x250.webp","alt":"Coravin : préservez, servez, recommencez. 10 % de réduction.","label":"Coravin","w":300,"h":250},{"id":"oeni-300x250","campaign":"oeni","variant":"","format":"300x250","url":"https://www.vinabox.fr/go/oeni","src":"/wp-content/uploads/vinabox-ads/oeni-300x250.webp","alt":"Oeni : votre cave à vin, enfin sous contrôle. Créer ma cave.","label":"Oeni","w":300,"h":250},{"id":"labellebulle-300x250","campaign":"labellebulle","variant":"","format":"300x250","url":"https://www.vinabox.fr/go/labellebulle","src":"/wp-content/uploads/vinabox-ads/labellebulle-300x250.webp","alt":"La Belle Bulle, box de champagne 100 % vigneron indépendant. Code VINABOX10.","label":"La Belle Bulle","w":300,"h":250},{"id":"lepetitballon-300x250","campaign":"lepetitballon","variant":"","format":"300x250","url":"https://www.vinabox.fr/go/lepetitballon","src":"/wp-content/uploads/vinabox-ads/lepetitballon-300x250.webp","alt":"Le Petit Ballon, la box vin qui fait plaisir. Découvrir.","label":"Le Petit Ballon","w":300,"h":250}],"sidebar-300x600":[{"id":"riedel-extreme-300x600","campaign":"riedel","variant":"extreme","format":"300x600","url":"https://www.vinabox.fr/go/riedel/extreme?vbx_banner=riedel-extreme-300x600","src":"/wp-content/uploads/vinabox-ads/riedel-v2-extreme-300x600.webp","alt":"RIEDEL Extreme Cabernet : le verre fait la différence. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":300,"h":600},{"id":"riedel-amadeo-300x600","campaign":"riedel","variant":"amadeo","format":"300x600","url":"https://www.vinabox.fr/go/riedel/amadeo?vbx_banner=riedel-amadeo-300x600","src":"/wp-content/uploads/vinabox-ads/riedel-v2-amadeo-300x600.webp","alt":"RIEDEL Amadeo : lâart de la décantation. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":300,"h":600},{"id":"riedel-degustation-300x600","campaign":"riedel","variant":"degustation","format":"300x600","url":"https://www.vinabox.fr/go/riedel/degustation?vbx_banner=riedel-degustation-300x600","src":"/wp-content/uploads/vinabox-ads/riedel-v2-degustation-300x600.webp","alt":"RIEDEL à chaque vin son verre. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":300,"h":600},{"id":"coravin-300x600","campaign":"coravin","variant":"","format":"300x600","url":"https://www.vinabox.fr/go/coravin","src":"/wp-content/uploads/vinabox-ads/coravin-300x600.webp","alt":"Coravin : le système qui permet de déguster sans ouvrir. 10 % de réduction.","label":"Coravin","w":300,"h":600},{"id":"oeni-300x600","campaign":"oeni","variant":"","format":"300x600","url":"https://www.vinabox.fr/go/oeni","src":"/wp-content/uploads/vinabox-ads/oeni-300x600.webp","alt":"Oeni, lâapplication de gestion de cave
4342à vin n°1. Créer ma cave.","label":"Oeni","w":300,"h":600},{"id":"labellebulle-300x600","campaign":"labellebulle","variant":"","format":"300x600","url":"https://www.vinabox.fr/go/labellebulle","src":"/wp-content/uploads/vinabox-ads/labellebulle-300x600.webp","alt":"La Belle Bulle, box de champagne 100 % vigneron indépendant. Code VINABOX10.","label":"La Belle Bulle","w":300,"h":600},{"id":"lepetitballon-300x600","campaign":"lepetitballon","variant":"","format":"300x600","url":"https://www.vinabox.fr/go/lepetitballon","src":"/wp-content/uploads/vinabox-ads/lepetitballon-300x600.webp","alt":"Le Petit Ballon, la box vin qui fait plaisir. Découvrir.","label":"Le Petit Ballon","w":300,"h":600}],"mobile-320x100":[{"id":"riedel-extreme-320x100","campaign":"riedel","variant":"extreme","format":"320x100","url":"https://www.vinabox.fr/go/riedel/extreme?vbx_banner=riedel-extreme-320x100","src":"/wp-content/uploads/vinabox-ads/riedel-v2-extreme-320x100.webp","alt":"RIEDEL Extreme Cabernet : le verre fait la différence. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":320,"h":100},{"id":"riedel-amadeo-320x100","campaign":"riedel","variant":"amadeo","format":"320x100","url":"https://www.vinabox.fr/go/riedel/amadeo?vbx_banner=riedel-amadeo-320x100","
4342src":"/wp-content/uploads/vinabox-ads/riedel-v2-amadeo-320x100.webp","alt":"RIEDEL Amadeo : lâart de la décantation. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":320,"h":100},{"id":"riedel-degustation-320x100","campaign":"riedel","variant":"degustation","format":"320x100","url":"https://www.vinabox.fr/go/riedel/degustation?vbx_banner=riedel-degustation-320x100","src":"/wp-content/uploads/vinabox-ads/riedel-v2-degustation-320x100.webp","alt":"RIEDEL à chaque vin son verre. 10 % de réduction avec le code VINABOX10.","label":"Riedel","w":320,"h":100},{"id":"coravin-320x100","campaign":"coravin","variant":"","format":"320x100","url":"https://www.vinabox.fr/go/coravin","src":"/wp-content/uploads/vinabox-ads/coravin-320x100.webp","alt":"Coravin : préservez, servez, recommencez. 10 % de réduction.","label":"Coravin","w":320,"h":100},{"id":"oeni-320x100","campaign":"oeni","variant":"","format":"320x100","url":"https://www.vinabox.fr/go/oeni","src":"/wp-content/uploads/vinabox-ads/oeni-320x100.webp","alt":"Oeni : gérez votre cave à vin. Créer ma cave.","label":"Oeni","w":320,"h":100},{"id":"labellebulle-320x100","campaign":"labellebulle","variant":"","format":"320x100","url":"https://www.vinabox.fr/go/labellebulle","src":"/wp-content/uploads/vinabox-ads/labellebulle-320x100.webp","alt":"La Belle Bulle, box de champagne 100 % vigneron indépendant. Code VINABOX10.","label":"La Belle Bulle","w":320,"h":100},{"id":"lepetitballon-320x100","campaign":"lepetitballon","variant":"","format":"320x100","url":"https://www.vinabox.fr/go/lepetitballon","src":"/wp-content/uploads/vinabox-ads/lepetitballon-320x100.webp","alt":"Le Petit Ballon, la box vin qui fait plaisir. Découvrir.","label":"Le Petit Ballon","w":320,"h":100}]}};</script>
vendor: 1 bytes, line 4342
4342
4343<script id="vinabox-dad-js"> 4344(function () { 4345'use strict'; 4346var CFG = window.VINABOX_DISPLAY_ADS; 4347if (!CFG || !CFG.enabled || !CFG.creatives) { return; } 4348 4349// Calendrier des creations, y compris sur les pages en cache. 4350var lpbNow = Date.now() / 1000; 4351Object.keys(CFG.creatives).forEach(function(slot) { CFG.creatives[slot].forEach(function(c) { 4352 if(c.campaign !== 'lepetitballon') return; 4353 if(lpbNow >= 1789898745 && lpbNow < 1791151200) { 4354 c.src = '/wp-content/uploads/vinabox-ads/lepetitballon-fav-malo-202609-' + c.w + 'x' + c.h + '.webp'; 4355 c.url = 'https://www.vinabox.fr/go/lepetitballon/foire-aux-vins-2026'; 4356 c.alt = 'Foire aux vins Le Petit Ballon : 15 ans à dénicher le meilleur, à petits prix. Découvrir la sélection.'; 4357 } else if(lpbNow >= 1791151200 || (lpbNow >= 1789941600 && lpbNow < 1789898745)) { 4358 c.src = '/wp-content/uploads/vinabox-ads/lepetitballon-' + c.w + 'x' + c.h + '.webp'; 4359 c.url = 'https://www.vinabox.fr/go/lepetitballon'; 4360 c.alt = 'Le Petit Ballon, la box vin qui fait plaisir. Découvrir.'; 4361 } 4362}); }); 4363var slots = document.querySelectorAll('[data-vbx-ad-slot]'); 4364if (!slots.length) { return; } 4365 4366var used = {}; 4367var pv = (window.crypto && crypto.randomUUID) ? crypto.randomUUID() : (Date.now() + '-' + Math.random().toString(16).slice(2)); 4368var force = '', forceVariant = ''; 4369try { 4370 var query = new URLSearchParams(location.search); 4371 force = query.get('vbx_ad') || ''; 4372 forceVariant = query.get('vbx_variant') || ''; 4373} catch (e) {} 4374 4375function pick(pool, slotKey) { 4376 if (!pool || !pool.length) { return null; } 4377 // Tirer la marque avant la creation : 3 variantes ne valent pas 3 campagnes. 4378 var groups = Object.create(null); 4379 pool.forEach(function (c) { 4380 if (!groups[c.campaign]) { groups[c.campaign] = []; } 4381 groups[c.campaign].push(c); 4382 }); 4383 var campaigns = Object.keys(groups); 4384 if (force && groups[force]) { 4385 campaigns = [force]; 4386 } else { 4387 var unused = campaigns.filter(function (cid) { return !used[cid]; }); 4388 if (unused.length) { campaigns = unused; } 4389 } 4390 var campaign = campaigns[Math.floor(Math.random() * campaigns.length)]; 4391 var variants = groups[campaign]; 4392 if (force && forceVariant) { 4393 var selected = variants.filter(function (c) { return c.variant === forceVariant; }); 4394 if (selected.length) { variants = selected; } 4395 } 4396 return variants[Math.floor(Math.random() * variants.length)]; 4397} 4398 4399function send(type, pick, slot) { 4400 // Les apercus forces ne polluent ni les statistiques locales ni GA4. 4401 if (force) { return; } 4402 try { 4403 var fd = new FormData(); 4404 fd.append('event', type); 4405 fd.append('banner', pick.id); 4406 fd.append('campaign', pick.campaign); 4407 fd.append('slot', slot); 4408 fd.append('pv', pv); 4409 fd.append('page', (location && location.pathname) ? location.pathname : ''); 4410 if (navigator.sendBeacon) { 4411 navigator.sendBeacon(CFG.endpoint, fd); 4412 } else { 4413 fetch(CFG.endpoint, { method: 'POST', body: fd, credentials: 'omit', keepalive: true }); 4414 } 4415 } catch (e) {} 4416 try { 4417 var evName = type === 'click' ? 'display_ad_click' : 'display_ad_impression'; 4418 var params = { campaign: pick.campaign, banner_id: pick.id, variant: pick.variant || '', slot: slot, transport_type: 'beacon' }; 4419 if (typeof window.gtag === 'function') { 4420 window.gtag('event', evName, params); 4421 } else if (window.dataLayer && typeof window.dataLayer.push === 'function') { 4422 params.event = evName; 4423 window.dataLayer.push(params); 4424 } 4425 } catch (e2) {} 4426} 4427 4428function render(el, creative, slot) { 4429 var a = document.createElement('a'); 4430 a.href = creative.url; 4431 a.rel = 'sponsored noopener noreferrer'; 4432 a.target = '_blank'; 4433 a.className = 'vbx-dad__link'; 4434 a.setAttribute('data-vbx-banner', creative.id); 4435 a.setAttribute('data-vbx-campaign', creative.campaign); 4436 a.setAttribute('data-vbx-slot', slot); 4437 4438 var img = document.createElement('img'); 4439 img.src = creative.src; 4440 img.alt = creative.alt || ''; 4441 img.width = creative.w; 4442 img.height = creative.h; 4443 img.decoding = 'async'; 4444 img.loading = (slot === 'mobile-320x100' || slot === 'sidebar-300x250') ? 'eager' : 'lazy'; 4445 a.appendChild(img); 4446 4447 var box = el.querySelector('.vbx-dad__box'); 4448 if (box) { box.replaceWith(a); } 4449 else { el.appendChild(a); } 4450 4451 if ('IntersectionObserver' in window) { 4452 var io = new IntersectionObserver(function (entries) { 4453 for (var i = 0; i < entries.length; i++) { 4454 if (entries[i].isIntersecting && entries[i].intersectionRatio >= 0.5) { 4455 io.disconnect(); 4456 send('impression', creative, slot); 4457 break; 4458 } 4459 } 4460 }, { threshold: 0.5 }); 4461 io.observe(el); 4462 } else { 4463 send('impression', creative, slot); 4464 } 4465 4466 a.addEventListener('click', function () { 4467 send('click', creative, slot); 4468 }, true); 4469} 4470 4471for (var i = 0; i < slots.length; i++) { 4472 var el = slots[i]; 4473 var slot = el.getAttribute('data-vbx-ad-slot'); 4474 var creative = pick(CFG.creatives[slot] || [], slot); 4475 if (!creative) { continue; } 4476 used[creative.campaign] = true; 4477 render(el, creative, slot); 4478} 4479}
4479)(); 4480</script>
4480 4481
4481<script> 4482(function(){ 4483 var K="373e652b54faf5f9ef43", t0=Date.now(), SEL='#commentform, form.wpcf7-form'; 4484 function field(f,n,v){var i=f.querySelector('input[name="'+n+'"]');if(!i){i=document.createElement('input');i.type='hidden';i.name=n;f.appendChild(i);}i.value=v;} 4485 function arm(e){var f=e.target&&e.target.closest&&e.target.closest(SEL);if(f){field(f,'vbx_ab',K);}} 4486 ['focusin','pointerdown','keydown','touchstart'].forEach(function(ev){document.addEventListener(ev,arm,true);}); 4487 document.addEventListener('submit',function(e){var f=e.target;if(f&&f.matches&&f.matches(SEL)){field(f,'vbx_ab_d',String(Date.now()-t0));}},true); 4488})(); 4489</script>
4489 4490
4490<script> 4491 (function(){var el=document.querySelector(".s-nl-cd");if(!el)return;var nums={d:el.querySelector('[data-cd="d"]'),h:el.querySelector('[data-cd="h"]'),m:el.querySelector('[data-cd="m"]'),s:el.querySelector('[data-cd="s"]')};function target(){var n=new Date();return new Date(n.getFullYear(),n.getMonth()+1,1,0,0,0);}function pad(n){return String(n).padStart(2,'0');}function tick(){var diff=target()-new Date();if(diff<=0)return;nums.d.textContent=pad(Math.floor(diff/86400000));nums.h.textContent=pad(Math.floor((diff%86400000)/3600000));nums.m.textContent=pad(Math.floor((diff%3600000)/60000));nums.s.textContent=pad(Math.floor((diff%60000)/1000));}tick();setInterval(tick,1000);})(); 4492 (function(){var f=document.getElementById('sb-nl-form');if(!f)return;f.addEventListener('submit',function(e){e.preventDefault();var btn=f.querySelector('button[type="submit"]');var msg=document.getElementById('sb-nl-msg');var email=f.querySelector('input[name="email"]').value.trim();if(!email)return;var c18=f.querySelector('input[name="confirm_18"]');if(c18&&!c18.checked){msg.className='nl-msg error';msg.style.display='block';msg.textContent='Merci de confirmer que tu as 18 ans ou plus.';return;}btn.disabled=true;btn.textContent='Inscriptionâ¦';msg.className='nl-msg';msg.style.display='none';fetch('https://www.vinabox.fr/wp-admin/admin-ajax.php',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'action=vinabox_newsletter&email='+encodeURIComponent(email)+'&confirm_18=1&source=sidebar'}).then(function(r){return r.json();}).then(function(data){if(data.success){msg.className='nl-msg success';msg.textContent=data.data;f.reset();}else{msg.className='nl-msg error';msg.textContent=data.data||'Erreur';}btn.disabled=false;btn.textContent="JE M'INSCRIS";}).catch(function(){msg.className='nl-msg error';msg.textContent='Erreur réseau';btn.disabled=false;btn.textContent="JE M'INSCRIS";});});})(); 4493 </script>
4493 4494 <div id="vbx-age-gate" style="display:none;position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,0.88);align-items:center;justify-content:center;padding:24px;box-sizing:border-box;"> 4495 <div style="background:#fff;border-radius:16px;max-width:420px;width:100%;padding:40px 32px;text-align:center;font-family:inherit;box-shadow:0 8px 40px rgba(0,0,0,0.4);"> 4496 <img src="https://www.vinabox.fr/wp-content/uploads/2026/05/vinabox-logo-final.svg" alt="Vinabox" style="height:48px;margin-bottom:24px;" loading="lazy"> 4497 <p style="font-size:1.05em;font-weight:700;color:#61262A;margin:0 0 8px;">Ce site parle de vin ð·</p> 4498 <p style="font-size:0.9em;color:#555;margin:0 0 28px;line-height:1.5;">La loi française réglemente la publicité pour l'alcool. Pour accéder à ce site, confirmez que vous avez <strong>18 ans ou plus</strong>.</p> 4499 <div style="display:flex;gap:12px;justify-content:center;flex-wrap:wrap;"> 4500 <button id="vbx-age-oui" 4501 style="background:#61262A;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:1em;font-weight:700;cursor:pointer;flex:1;min-width:130px;"> 4502 Oui, j'ai 18 ans ou plus 4503 </button> 4504 <button id="vbx-age-non" 4505 style="background:#f5f5f5;color:#777;border:none;border-radius:8px;padding:12px 32px;font-size:0.95em;cursor:pointer;flex:1;min-width:130px;"> 4506 Non, je suis mineur 4507 </button> 4508 </div> 4509 <p style="font-size:0.75em;color:#bbb;margin:20px 0 0;line-height:1.4;"> 4510 L'abus d'alcool est dangereux pour la santé. à consommer avec modération. 4511 </p> 4512 </div> 4513 </div> 4514 4515</body> 4516</html> 4517 4518 4519<!-- Page cached by LiteSpeed Cache 7.9.1 on 2026-10-07 14:01:35 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.