{"product_id":"weed-barrier-landscape-fabric","title":"Tissu paysager anti-mauvaises herbes","description":"\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eTissu anti-mauvaises herbes premium : Le tissu paysager anti-mauvaises herbes est un type de géotextile couramment utilisé en aménagement paysager et en construction. Avec d'excellentes propriétés de contrôle des mauvaises herbes, il offre un paysage propre et soigné. Très solide et durable, le tissu anti-mauvaises herbes professionnel vous offrira une protection premium contre les mauvaises herbes pendant très longtemps.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eDurabilité : Le tissu paysager anti-mauvaises herbes haute résistance est conçu pour être extrêmement durable, avec une haute résistance à la traction et à la déchirure. Il est fabriqué en polypropylène, un matériau durable capable de résister aux conditions météorologiques difficiles. Cela lui permet de supporter un trafic piétonnier intense, le passage de véhicules et d'autres types d'usure.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003ePermet à l'eau et aux nutriments de circuler : Bien que le tissu paysager anti-mauvaises herbes bloque la croissance des mauvaises herbes, il permet à l'eau et aux nutriments de passer vers le sol en dessous. Cela aide à garder les plantes en bonne santé et hydratées, tout en empêchant la croissance des mauvaises herbes indésirables.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eSuper facile à installer et à mettre en place : Vous n'avez pas besoin d'être un expert ni de faire appel à des professionnels coûteux pour installer le tissu anti-mauvaises herbes. Le tissu paysager anti-mauvaises herbes est facile à installer et peut être découpé pour s'adapter à n'importe quelle taille ou forme. Il est généralement posé sur le sol, avec un tissu paysager ou du paillis placé dessus pour un rendu fini.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003ePolyvalent : Le tissu paysager anti-mauvaises herbes haute résistance est un produit polyvalent qui peut être utilisé dans diverses applications. Il peut être utilisé dans les jardins, les espaces paysagers, les applications agricoles, et plus encore, ce qui en fait un outil précieux pour tout jardinier ou paysagiste. Le tissu pour allée est conçu pour stabiliser les allées en fournissant une couche de base solide et durable qui aide à répartir le poids et à prévenir l'érosion. Il peut être utilisé sur les allées en gravier comme sur les allées pavées.\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cstyle\u003e\n\/* 外层：让表格在极窄屏也不会撑爆（兜底：可横向滚动） *\/\n.table-wrap {\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n\/* 表格基础样式 *\/\ntable.product-table {\n  width: 100%;\n  min-width: 520px;\n  border-collapse: separate;\n  border-spacing: 0;\n  background: #fff;\n}\n\n.product-table th,\n.product-table td {\n  border: 1px solid #d9d9d9;\n  padding: 12px 14px;\n  font-size: 14px;\n  text-align: left;\n  vertical-align: middle;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n\/* 表头橙色 *\/\n.product-table thead th {\n  background: #e87700;\n  color: #fff;\n  font-weight: 700;\n}\n\n\/* 表头圆角 *\/\n.product-table thead th:first-child { border-top-left-radius: 4px; }\n.product-table thead th:last-child  { border-top-right-radius: 4px; }\n\n\/* ====== 手机自适应：卡片模式 ====== *\/\n@media (max-width: 600px) {\n  table.product-table {\n    min-width: 0;\n  }\n\n  .product-table thead {\n    display: none; \/* 隐藏表头 *\/\n  }\n\n  .product-table, \n  .product-table tbody, \n  .product-table tr, \n  .product-table td {\n    display: block;\n    width: 100%;\n  }\n\n  .product-table tr {\n    margin: 10px 0;\n    border: 1px solid #d9d9d9;\n    border-radius: 8px;\n    overflow: hidden;\n    background: #fff;\n  }\n\n  .product-table td {\n    border: none;\n    border-bottom: 1px solid #eee;\n    white-space: normal;\n    display: flex;\n    gap: 10px;\n    justify-content: space-between;\n    padding: 10px;\n  }\n\n  .product-table td:last-child {\n    border-bottom: none;\n  }\n\n  \/* 左侧显示字段名 *\/\n  .product-table td::before {\n    content: attr(data-label);\n    font-weight: 700;\n    color: #333;\n    flex: 0 0 45%;\n    max-width: 45%;\n  }\n\n  \/* 右侧内容 *\/\n  .product-table td .cell {\n    flex: 1;\n    text-align: right;\n    color: #111;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"table-wrap\"\u003e\n\u003ctable class=\"product-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eModèle\u003c\/th\u003e\n\u003cth\u003eLongueur\u003c\/th\u003e\n\u003cth\u003eLargeur\u003c\/th\u003e\n\u003cth\u003ePoids\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Model\"\u003e\u003cspan class=\"cell\"\u003e90×9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Length\"\u003e\u003cspan class=\"cell\"\u003e9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Width\"\u003e\u003cspan class=\"cell\"\u003e90 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Weight\"\u003e\u003cspan class=\"cell\"\u003e4 KG\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Model\"\u003e\u003cspan class=\"cell\"\u003e120×9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Length\"\u003e\u003cspan class=\"cell\"\u003e9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Width\"\u003e\u003cspan class=\"cell\"\u003e120 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Weight\"\u003e\u003cspan class=\"cell\"\u003e4 KG\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Model\"\u003e\u003cspan class=\"cell\"\u003e150×9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Length\"\u003e\u003cspan class=\"cell\"\u003e9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Width\"\u003e\u003cspan class=\"cell\"\u003e150 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Weight\"\u003e\u003cspan class=\"cell\"\u003e6 KG\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Model\"\u003e\u003cspan class=\"cell\"\u003e180×9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Length\"\u003e\u003cspan class=\"cell\"\u003e9000 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Width\"\u003e\u003cspan class=\"cell\"\u003e180 CM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd data-label=\"Weight\"\u003e\u003cspan class=\"cell\"\u003e5 KG\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cstyle\u003e\n.video-wrap {\n  display: flex;\n  gap: 24px;\n  flex-wrap: wrap;\n  font-family: Arial, sans-serif;\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n\/* ================= PC ================= *\/\n.video-player {\n  flex: 2;\n  min-width: 320px;\n  background: #000;\n  border-radius: 16px;\n  overflow: hidden;\n  position: relative;\n}\n\n#player {\n  width: 100%;\n  height: 520px;\n}\n\n\/* 控制按钮 *\/\n.controls {\n  position: absolute;\n  bottom: 12px;\n  left: 12px;\n  display: flex;\n  gap: 10px;\n}\n\n.controls button {\n  background: rgba(0,0,0,0.6);\n  color: #fff;\n  border: 1px solid rgba(255,255,255,0.2);\n  padding: 8px 12px;\n  border-radius: 8px;\n  cursor: pointer;\n}\n\n\/* 视频列表 *\/\n.video-list {\n  flex: 1;\n  min-width: 280px;\n  background: #111;\n  border-radius: 16px;\n  padding: 12px;\n}\n\n.video-item {\n  display: flex;\n  gap: 12px;\n  padding: 10px;\n  margin-bottom: 10px;\n  cursor: pointer;\n  border-radius: 12px;\n  background: #1c1c1c;\n  color: #fff;\n  transition: 0.2s;\n}\n\n.video-item:hover {\n  background: #2a2a2a;\n}\n\n.video-item.active {\n  border: 1px solid #ff3b3b;\n}\n\n.video-item img {\n  width: 110px;\n  height: 70px;\n  object-fit: cover;\n}\n\n\/* ================= 📱 手机 ================= *\/\n.mobile-layout {\n  display: none;\n  flex-direction: column;\n  gap: 16px;\n}\n\n\/* 横屏视频 *\/\n.mobile-video.landscape iframe {\n  width: 100%;\n  height: 200px;\n  border-radius: 12px;\n  border: 0;\n}\n\n\/* 竖屏视频 *\/\n.mobile-video.portrait iframe {\n  width: 100%;\n  height: 420px;\n  border-radius: 12px;\n  border: 0;\n}\n\n\/* ================= 响应式 ================= *\/\n@media (max-width: 768px) {\n\n  .video-wrap {\n    flex-direction: column;\n  }\n\n  \/* ❌ 隐藏PC结构 *\/\n  .video-player,\n  .video-list,\n  .controls {\n    display: none;\n  }\n\n  \/* ✅ 启用手机结构 *\/\n  .mobile-layout {\n    display: flex;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"video-wrap\"\u003e\n\u003c!-- ===== PC 播放器 ===== --\u003e\n\u003cdiv class=\"video-player\"\u003e\n\u003cdiv id=\"player\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"controls\"\u003e\n\u003cbutton id=\"prevBtn\"\u003e⟵ Précédent\u003c\/button\u003e \u003cbutton id=\"nextBtn\"\u003eSuivant ⟶\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PC 列表 ===== --\u003e\n\u003cdiv class=\"video-list\"\u003e\n\u003cdiv class=\"video-item active\" data-index=\"0\"\u003e\n\u003cimg src=\"https:\/\/img.youtube.com\/vi\/p557kQZ7YPk\/hqdefault.jpg\"\u003e\n\u003cdiv\u003eVidéo de présentation produit en mode paysage\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"video-item\" data-index=\"1\"\u003e\n\u003cimg src=\"https:\/\/img.youtube.com\/vi\/GTdo3K5UMJ8\/hqdefault.jpg\"\u003e\n\u003cdiv\u003eVidéo verticale courte\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== 📱 手机端（来自第二个代码）===== --\u003e\n\u003cdiv class=\"mobile-layout\"\u003e\n\u003c!-- 横屏 --\u003e\n\u003cdiv class=\"mobile-video landscape\"\u003e\u003ciframe src=\"https:\/\/www.youtube.com\/embed\/p557kQZ7YPk?playsinline=1\u0026amp;mute=1\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003c!-- 竖屏 --\u003e\n\u003cdiv class=\"mobile-video portrait\"\u003e\u003ciframe src=\"https:\/\/www.youtube.com\/embed\/GTdo3K5UMJ8?playsinline=1\u0026amp;mute=1\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cscript src=\"https:\/\/www.youtube.com\/iframe_api\"\u003e\u003c\/script\u003e \u003cscript\u003e\n\nconst videos = [\n  \"p557kQZ7YPk\",\n  \"GTdo3K5UMJ8\"\n];\n\nlet player;\nlet currentIndex = 0;\nlet isReady = false;\n\n\/* 初始化播放器 *\/\nfunction onYouTubeIframeAPIReady() {\n  player = new YT.Player('player', {\n    videoId: videos[0],\n    playerVars: {\n      autoplay: 1,\n      controls: 1,\n      rel: 0\n    },\n    events: {\n      onReady: function () {\n        isReady = true;\n      },\n      onStateChange: function (event) {\n        if (event.data === YT.PlayerState.ENDED) {\n          nextVideo();\n        }\n      }\n    }\n  });\n}\n\n\/* 切换视频 *\/\nfunction playVideo(index) {\n  if (!isReady) return;\n\n  currentIndex = index;\n  player.loadVideoById(videos[index]);\n  updateActive();\n}\n\n\/* 下一个 *\/\nfunction nextVideo() {\n  currentIndex = (currentIndex + 1) % videos.length;\n  playVideo(currentIndex);\n}\n\n\/* 上一个 *\/\nfunction prevVideo() {\n  currentIndex = (currentIndex - 1 + videos.length) % videos.length;\n  playVideo(currentIndex);\n}\n\n\/* 高亮 *\/\nfunction updateActive() {\n  document.querySelectorAll(\".video-item\").forEach((el, i) =\u003e {\n    el.classList.toggle(\"active\", i === currentIndex);\n  });\n}\n\n\/* 绑定事件（防止Shopify失效） *\/\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\n  document.getElementById(\"nextBtn\").onclick = nextVideo;\n  document.getElementById(\"prevBtn\").onclick = prevVideo;\n\n  document.querySelectorAll(\".video-item\").forEach((item) =\u003e {\n    item.onclick = () =\u003e {\n      playVideo(parseInt(item.dataset.index));\n    };\n  });\n\n});\n\u003c\/script\u003e\u003c\/p\u003e","brand":"OranLite","offers":[{"title":"90x9000 CM","offer_id":47474162434242,"sku":"AM-Roll-1-3×300FT","price":38.66,"currency_code":"EUR","in_stock":true},{"title":"120×9000 CM","offer_id":47474162467010,"sku":"AM-Roll-1-4×300FT","price":49.71,"currency_code":"EUR","in_stock":true},{"title":"150×9000 CM","offer_id":47474162499778,"sku":"AM-Roll-1-5×300FT","price":57.04,"currency_code":"EUR","in_stock":true},{"title":"180×9000 CM","offer_id":47474162532546,"sku":"AM-Roll-1-6×300FT","price":61.56,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0714\/4092\/4866\/files\/AM-Roll-1-1_1.jpg?v=1776410193","url":"https:\/\/www.oranlite.eu\/fr-fr\/products\/weed-barrier-landscape-fabric","provider":"Oranlite Europe","version":"1.0","type":"link"}