{"title":"Best-sellers","description":"\u003cp\u003eVos affiches à personnaliser que vous adorez, tous ensemble, dans la même collection ! \u003c\/p\u003e","products":[{"product_id":"affiche-prenom-printemps","title":"Affiche prénom – Printemps","description":"\u003c!-- ANALYSE --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Type : AFFICHE PERSONNALISÉE (prénom + date de naissance personnalisables) --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Palette : Rose bonbon doux #E8A0B4, crème chaud #F2E2C9, rouge cœur profond #8B1A1A, vert feuille #3A6B35 --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Ambiance : Pop, joyeuse, printanière, rayures et fleurs-cœurs, enfantine mais design --\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom – Printemps\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDes rayures douces, des fleurs-cœurs et un prénom qui s'affiche fièrement : le printemps s'invite dans la chambre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eDes rayures roses et crème comme un bonbon acidulé, des petites fleurs dont les pétales sont des cœurs rouge profond, et au centre : le prénom de votre enfant, bien ancré, plein de caractère. Cette affiche capture l'énergie joyeuse du printemps dans un style pop et assumé. Elle est pensée pour donner de la personnalité à un mur, célébrer une naissance ou simplement rappeler chaque jour que la vie est belle — et colorée.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eChoisissez le prénom, la date et le format qui vous conviennent pour créer une affiche unique.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous les envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin sur un papier de qualité, puis expédiée dans un emballage protecteur.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🌷 Un motif pop et printanier\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLes fleurs-cœurs parsemées sur un fond rayé rose et crème donnent à cette affiche une énergie joyeuse et un caractère affirmé. Un design qui ne passe pas inaperçu.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Une déco qui a de la personnalité\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eFacile à encadrer et pensée pour s'intégrer aussi bien dans une chambre d'enfant que dans un salon coloré, elle apporte une touche audacieuse et pleine de bonne humeur.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #E8A0B4;\n  --ap-primary-dark: #8B1A1A;\n  --ap-accent-peps: #C73B3B;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-section-howto {\n  max-width: 700px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-steps {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n.ap-step {\n  display: flex;\n  align-items: flex-start;\n  gap: 1.25rem;\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.5rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-step-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-width: 36px;\n  height: 36px;\n  border-radius: 50%;\n  background: var(--ap-primary);\n  color: var(--ap-white);\n  font-weight: 700;\n  font-size: 15px;\n  flex-shrink: 0;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.35rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n}\n\n@keyframes apFadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63084655346013,"sku":"AFF-PRE-PRIN-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-NAISSANCE-PRINTEMPS-CADRE.webp?v=1768225765"},{"product_id":"affiche-prenom-envolee-poetique","title":"Affiche prénom – Envolée Poétique","description":"\u003c!-- ANALYSE MPV\n- Produit : Affiche prénom personnalisée \"Envolée Poétique\"\n- Catégorie : AFFICHE PERSONNALISÉE → section \"Comment ça marche ?\" obligatoire\n- Palette extraite des visuels : fond pêche\/abricot doux (#F5DCC4), traits brun chocolat (#5C3A2A), bordure terracotta\/ocre doré (#C07A3A), touches rose poudré\n- Ambiance : Poétique, douce, enfantine, illustrations d'oiseaux colombes avec fleurs et cœurs, style line art organique\n- Préfixe : ap (affiche personnalisée)\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom – Envolée poétique\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDes oiseaux tendres qui s'envolent avec le prénom de votre enfant, comme un souffle de douceur sur les murs de sa chambre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eDes colombes esquissées d'un trait libre et joyeux, des fleurs-cœurs qui éclosent entre leurs becs… L'affiche \"Envolée poétique\" célèbre la tendresse avec un line art organique aux accents automnaux. Sur un fond pêche velouté, le prénom de votre enfant s'inscrit en lettres rondes et chaleureuses, accompagné de sa date de naissance. Une illustration pleine de caractère qui habille la chambre avec poésie, sans jamais se prendre trop au sérieux.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un prénom, une histoire\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eChaque affiche est personnalisée avec le prénom et la date de naissance de votre choix, pour créer un souvenir unique qui grandira avec votre enfant et embellira son petit univers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🕊️ Des couleurs douces et chaleureuses\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLa palette pêche et terracotta apporte une atmosphère automnale et enveloppante, parfaite pour réchauffer un coin de chambre, une étagère ou un joli cadre en bois naturel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eIndiquez le prénom et la date de naissance que vous souhaitez voir apparaître sur l'affiche via les champs de personnalisation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin sur un papier de qualité, puis expédiée dans un emballage protecteur pour arriver chez vous en parfait état.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #C07A3A;\n  --ap-primary-dark: #5C3A2A;\n  --ap-accent-peps: #D4894A;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-howto {\n  margin-bottom: 3.5rem;\n}\n\n.ap-steps {\n  max-width: 700px;\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n.ap-step {\n  display: flex;\n  align-items: flex-start;\n  gap: 1.25rem;\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.5rem 1.75rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-3px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-width: 38px;\n  height: 38px;\n  border-radius: 50%;\n  background: var(--ap-primary);\n  color: var(--ap-white);\n  font-size: 16px;\n  font-weight: 700;\n  flex-shrink: 0;\n}\n\n.ap-step-content {\n  flex: 1;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.35rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n  .ap-step { padding: 1.25rem 1.25rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: ap-fadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: ap-fadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(1) { animation-delay: 0.05s; }\n  .ap-step:nth-child(2) { animation-delay: 0.15s; }\n  .ap-step:nth-child(3) { animation-delay: 0.25s; }\n}\n\n@keyframes ap-fadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63087212003677,"sku":"AFF-PRE-ENVO-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-ENVOLEE-ENFANT.webp?v=1775553403"},{"product_id":"affiche-prenom-harmonie","title":"Affiche Prénom - Harmonie","description":"\u003c!-- \n  ANALYSE PRODUIT — Ma Petite Vie\n  ─────────────────────────────────\n  Produit : Affiche Prénom - Harmonie\n  Catégorie détectée : AFFICHE PERSONNALISÉE\n  Palette extraite : Ocre doré chaud (#B8960C), bleu cobalt profond (#1A3EC2), blanc cassé, crème\n  Teintes CSS : primary = ocre doré, primary-dark = ocre foncé terreux, accent-peps = bleu cobalt\n  Ambiance : Poétique, enfantine, graphique, joyeuse, envol \u0026 liberté\n  Prefix : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Harmonie\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDeux oiseaux en plein vol, un prénom inscrit pour toujours, et la date du jour qui a tout changé.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eL'affiche Harmonie capture ce moment suspendu entre le rêve et la réalité — celui où un prénom devient une personne. Deux oiseaux blancs aux ailes déployées glissent sur un fond ocre doré chaleureux, ponctués de petits cœurs bleu cobalt qui battent la mesure d'un bonheur tout neuf. Le prénom de votre enfant s'inscrit au centre, en typographie bold et joyeuse, accompagné de sa date de naissance. Chaque élément a été dessiné pour raconter la légèreté, la douceur et l'élan de l'enfance — une illustration graphique et poétique que l'on encadre, que l'on accroche, et que l'on garde une vie entière.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eIndiquez le prénom à inscrire sur l'affiche ainsi que la date de naissance souhaitée, puis sélectionnez votre format préféré.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin sur un papier de qualité, puis expédiée dans un emballage protecteur pensé pour arriver en parfait état.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un souvenir pour la vie\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003ePlus qu'une décoration, cette affiche personnalisée transforme le prénom de votre enfant en une œuvre que l'on garde précieusement, bien au-delà des premières années.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e💌 Un design graphique et poétique\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eDes formes rondes et rassurantes, une palette ocre et bleu cobalt affirmée mais douce, une typographie joyeuse : une affiche qui s'encadre et s'accroche avec fierté.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #B8960C;\n  --ap-primary-dark: #7A6308;\n  --ap-accent-peps: #1A3EC2;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-section-howto {\n  max-width: 750px;\n  margin: 0 auto 3.5rem auto;\n}\n\n.ap-steps {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n.ap-step {\n  display: flex;\n  align-items: flex-start;\n  gap: 1.25rem;\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.5rem 1.75rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-3px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 38px;\n  height: 38px;\n  min-width: 38px;\n  border-radius: 50%;\n  background: var(--ap-accent-peps);\n  color: var(--ap-white);\n  font-weight: 700;\n  font-size: 16px;\n  flex-shrink: 0;\n}\n\n.ap-step-content {\n  flex: 1;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.35rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n  .ap-step {\n    flex-direction: column;\n    align-items: center;\n    text-align: center;\n    gap: 0.75rem;\n    padding: 1.25rem 1.25rem;\n  }\n  .ap-step-number {\n    margin: 0 auto;\n  }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: ap-fadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: ap-fadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n}\n\n@keyframes ap-fadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63103482921309,"sku":"AFF-PRE-HARM-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-NAISSANCE-HARMONIE-CADRE.webp?v=1768225650"},{"product_id":"affiche-prenom-jolie-rose","title":"Affiche Prénom - Jolie Rose","description":"\u003c!-- ANALYSE :\n  - Type : AFFICHE PERSONNALISÉE (prénom + date de naissance)\n  - Palette : rose vichy doux, bordeaux\/rouge foncé (cœur), vert forêt (feuilles\/typo), crème chaud\n  - Ambiance : rétro-romantique, enfantine, poétique, motif vichy, fleur-cœur graphique\n  - Prefix : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Jolie Rose\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUne fleur-cœur, un prénom, une date : le début d'une jolie histoire accrochée au mur.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eL'affiche Jolie Rose est née d'une envie toute simple : transformer un prénom en un petit tableau plein de douceur. Son motif vichy rose poudré, sa fleur-cœur bordeaux aux feuilles vert forêt et sa typographie ronde et chaleureuse composent un univers rétro-romantique qui s'installe naturellement dans une chambre d'enfant. Personnalisée avec le prénom et la date de naissance de votre choix, elle devient un cadeau de naissance unique — le genre d'attention qu'on accroche le jour J et qu'on retrouve encore des années plus tard, toujours à sa place, toujours aussi jolie.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🌸 Un design rétro-romantique\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe vichy rose doux encadre une fleur-cœur bordeaux et vert forêt, bordée d'un contour ondulé plein de caractère. Une esthétique graphique et tendre qui traverse les années sans jamais se démoder.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un cadeau qui reste\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eOffrir cette affiche personnalisée, c'est ancrer un prénom dans un endroit qui lui appartient. Chambre de bébé, coin lecture ou mur du salon : elle s'adapte à chaque nouvelle déco et grandit avec l'enfant.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRenseignez vos options personnalisées\u003c\/strong\u003e\n\u003cp\u003eIndiquez le prénom de l'enfant, sa date de naissance et sélectionnez le format souhaité. Votre affiche sera créée sur mesure à partir de ces informations.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRelecture avant validation\u003c\/strong\u003e\n\u003cp\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eImpression et livraison soignée\u003c\/strong\u003e\n\u003cp\u003eVotre affiche est imprimée avec soin puis expédiée dans un emballage protecteur pour arriver en parfait état chez vous.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root {\n    --ap-bg-cream: #FDFBF7;\n    --ap-white: #ffffff;\n    --ap-primary: #E8A0B4;\n    --ap-primary-dark: #7A1B2D;\n    --ap-accent-peps: #D4603A;\n    --ap-green: #2D5A3D;\n    --ap-text-main: #2A2A2A;\n    --ap-text-muted: #666666;\n    --ap-border: #EFEBE4;\n    --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --ap-radius: 12px;\n  }\n\n  .ap-mpv-container {\n    max-width: 1000px;\n    margin: 0 auto;\n    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n    background: var(--ap-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--ap-text-main);\n    line-height: 1.6;\n  }\n\n  .ap-hero {\n    background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--ap-radius);\n    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n    margin-bottom: clamp(2.5rem, 5vw, 4rem);\n    text-align: center;\n    border: 1px solid var(--ap-border);\n  }\n\n  .ap-badges-top { margin-bottom: 1rem; }\n\n  .ap-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--ap-text-main);\n    margin: 0 4px;\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-hero-title {\n    display: block;\n    color: var(--ap-primary-dark);\n    font-size: clamp(26px, 5vw, 40px);\n    font-weight: 700;\n    margin: 1rem 0;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n  }\n\n  .ap-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--ap-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .ap-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-intro-text {\n    font-size: 13.5px;\n    color: var(--ap-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .ap-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .ap-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem;\n    margin-bottom: 3.5rem;\n  }\n\n  .ap-card {\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 2rem;\n    box-shadow: var(--ap-shadow-soft);\n    border: 1px solid var(--ap-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .ap-card-desc {\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-howto {\n    max-width: 700px;\n    margin: 0 auto 3.5rem auto;\n  }\n\n  .ap-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  .ap-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 1.25rem;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: var(--ap-radius);\n    padding: 1.5rem;\n    box-shadow: var(--ap-shadow-soft);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-step:hover {\n    transform: translateY(-3px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-step-number {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 38px;\n    height: 38px;\n    min-width: 38px;\n    background: var(--ap-primary-dark);\n    color: var(--ap-white);\n    border-radius: 50%;\n    font-size: 15px;\n    font-weight: 700;\n  }\n\n  .ap-step-content strong {\n    display: block;\n    font-size: 15px;\n    color: var(--ap-primary-dark);\n    margin-bottom: 0.35rem;\n  }\n\n  .ap-step-content p {\n    font-size: 13.5px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--ap-border);\n  }\n\n  .ap-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .ap-grid { grid-template-columns: 1fr; }\n    .ap-mpv-container { padding: 1.5rem 1rem; }\n    .ap-step {\n      flex-direction: column;\n      align-items: center;\n      text-align: center;\n    }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n    .ap-card:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n    .ap-step:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step:nth-child(3) { animation-delay: 0.2s; }\n  }\n\n  @keyframes apFadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63103571198301,"sku":"AFF-PRE-JOLI-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-NAISSANCE-JOLIE_ROSE-CADRE.webp?v=1768225651"},{"product_id":"affiche-prenom-douce-nuit","title":"Affiche Prénom - Douce Nuit","description":"\u003c!-- ANALYSE :\n  - Type : AFFICHE PERSONNALISÉE (prénom + date de naissance, fichier numérique à imprimer)\n  - Palette extraite des visuels : bleu cobalt profond, terracotta\/rouge brique, rose poudré ancien, ocre doré (étoile), fond crème chaud\n  - Couleurs retenues : bleu cobalt (#2A4EC5), terracotta doux (#C14A38), ocre lumineux (#D4912A)\n  - Ambiance : Poétique, enfantine mais moderne, joyeuse, unisexe, intemporelle\n  - Prefix : ap (affiche personnalisée)\n  - Section \"Comment ça marche ?\" obligatoire\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Douce Nuit\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUn oiseau bleu, une étoile dorée et le prénom de votre enfant qui s'envole au cœur de sa chambre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eInspirée de notre illustration iconique Bonne Nuit Mon Amour, l'affiche Douce Nuit célèbre l'arrivée d'un tout-petit avec des couleurs franches et chaleureuses. Un oiseau bleu cobalt traverse le ciel, une étoile dorée veille en silence, et des bordures festonnées rose et terracotta encadrent le tout comme un timbre précieux. Au centre, le prénom et la date de naissance de votre enfant s'inscrivent naturellement dans l'illustration, comme s'ils avaient toujours été là. Unisexe et intemporelle, cette affiche personnalisée illumine aussi bien la chambre d'une petite fille que celle d'un petit garçon — et devient, au fil des années, un repère doux dans le décor de ses premiers souvenirs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e1\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRenseignez vos options personnalisées\u003c\/strong\u003e\n\u003cp\u003eIndiquez le prénom de l'enfant et sa date de naissance dans les champs prévus.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e2\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRelecture avant validation\u003c\/strong\u003e\n\u003cp\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e3\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eImpression et livraison soignée\u003c\/strong\u003e\n\u003cp\u003eVotre affiche est imprimée avec soin sur un papier premium puis expédiée dans un emballage protecteur jusqu'à votre boîte aux lettres.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un prénom qui prend vie\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe prénom et la date de naissance de votre enfant sont intégrés directement dans l'illustration originale, au milieu de l'oiseau et de l'étoile. Ce n'est pas un simple texte posé sur une image : c'est une composition pensée pour que chaque lettre trouve sa place avec harmonie.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e💌 Le cadeau de naissance qui dure\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eBien loin des cadeaux oubliés au fond d'un tiroir, cette affiche accompagne l'enfant au fil des années. On la voit chaque matin en ouvrant les yeux, on la retrouve sur les photos d'enfance — un souvenir coloré qui traverse le temps avec élégance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root {\n    --ap-bg-cream: #FDFBF7;\n    --ap-white: #ffffff;\n    --ap-primary: #2A4EC5;\n    --ap-primary-dark: #1E3A8A;\n    --ap-accent-peps: #C14A38;\n    --ap-accent-gold: #D4912A;\n    --ap-text-main: #2A2A2A;\n    --ap-text-muted: #666666;\n    --ap-border: #EFEBE4;\n    --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --ap-radius: 12px;\n  }\n\n  .ap-mpv-container {\n    max-width: 1000px;\n    margin: 0 auto;\n    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n    background: var(--ap-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--ap-text-main);\n    line-height: 1.6;\n  }\n\n  .ap-hero {\n    background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--ap-radius);\n    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n    margin-bottom: clamp(2.5rem, 5vw, 4rem);\n    text-align: center;\n    border: 1px solid var(--ap-border);\n  }\n\n  .ap-badges-top { margin-bottom: 1rem; }\n\n  .ap-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--ap-text-main);\n    margin: 0 4px;\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-hero-title {\n    display: block;\n    color: var(--ap-primary-dark);\n    font-size: clamp(26px, 5vw, 40px);\n    font-weight: 700;\n    margin: 1rem 0;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n  }\n\n  .ap-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--ap-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .ap-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-intro-text {\n    font-size: 13.5px;\n    color: var(--ap-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .ap-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .ap-section-howto {\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  .ap-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 1.25rem;\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 1.5rem;\n    border: 1px solid var(--ap-border);\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-step-num {\n    flex-shrink: 0;\n    width: 36px;\n    height: 36px;\n    background: var(--ap-accent-peps);\n    color: var(--ap-white);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 700;\n    font-size: 15px;\n    margin-top: 2px;\n  }\n\n  .ap-step-content strong {\n    display: block;\n    font-size: 15px;\n    color: var(--ap-primary-dark);\n    margin-bottom: 0.35rem;\n  }\n\n  .ap-step-content p {\n    font-size: 13.5px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem;\n    margin-bottom: 3.5rem;\n  }\n\n  .ap-card {\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 2rem;\n    box-shadow: var(--ap-shadow-soft);\n    border: 1px solid var(--ap-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .ap-card-desc {\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--ap-border);\n  }\n\n  .ap-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .ap-grid { grid-template-columns: 1fr; }\n    .ap-mpv-container { padding: 1.5rem 1rem; }\n    .ap-badges-top { display: flex; flex-direction: column; align-items: center; gap: 6px; }\n    .ap-badge { margin: 0; }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card { animation: ap-fadeInUp 0.5s ease backwards; }\n    .ap-card:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step { animation: ap-fadeInUp 0.5s ease backwards; }\n    .ap-step:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step:nth-child(3) { animation-delay: 0.2s; }\n  }\n\n  @keyframes ap-fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63104964133213,"sku":"AFF-PRE-DOUC-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-NAISSANCE-DOUCE_NUIT-PHOTO1.webp?v=1768225652"},{"product_id":"affiche-prenom-chien-cool","title":"Affiche Prénom - Chien Cool","description":"\u003c!-- ANALYSE MPV\n  - Produit : Affiche Prénom - Chien Cool\n  - Catégorie : AFFICHE PERSONNALISÉE\n  - Palette : Bleu ciel doux (#A8C8D8), Pêche\/nude (#F2D9C4), Vert casquette (#2D6B4F), Brun chaud (#7A3E1E)\n  - Ambiance : Enfantine, pop, joyeuse, graphique, moderne\n  - Prefix CSS : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Chien Cool\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUne bouille irrésistible, un nœud léopard et le prénom de votre enfant : le trio le plus stylé de sa chambre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eIl y a des affiches qu'on accroche… et d'autres qu'on chérit pour toujours. Avec sa casquette verte vissée sur la tête, son bandana léopard et son sourire espiègle, le Chien Cool est devenu l'un des personnages préférés de l'univers Ma petite vie. On l'a imaginé pour habiller les chambres des tout-petits avec du caractère, du pep's et beaucoup de tendresse. Le fond rayé bleu ciel et nude, les contours festonnés façon timbre-poste géant : chaque détail a été dessiné pour créer une affiche qui sort du lot tout en restant douce et intemporelle. Le prénom et la date de naissance de votre enfant sont intégrés directement dans l'illustration — pas un ajout, mais une vraie pièce unique pensée spécialement pour lui.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un design pop et attachant\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eL'illustration mêle des tons nude, bleu ciel et brun chaud dans un style graphique contemporain qui plaît autant aux parents qu'aux enfants. Un vrai petit tableau de caractère, pensé pour rester tendance au fil des années.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e💌 Le cadeau de naissance idéal\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eOriginale, mémorable et profondément personnelle : cette affiche fait partie des cadeaux qu'on garde bien après les premiers mois. Un souvenir précieux qui grandit avec votre enfant et raconte le début de sa belle histoire.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e1\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eIndiquez le prénom et la date de naissance tels que vous souhaitez les voir apparaître sur l'affiche.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e2\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e3\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin sur un papier de qualité, puis expédiée dans un emballage protecteur pour arriver chez vous en parfait état, prête à être encadrée.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #A8C8D8;\n  --ap-primary-dark: #2D6B4F;\n  --ap-accent-peps: #C46A3B;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-howto {\n  max-width: 700px;\n  margin: 0 auto 3.5rem auto;\n}\n\n.ap-steps {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n.ap-step {\n  display: flex;\n  align-items: flex-start;\n  gap: 1rem;\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.5rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-3px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-num {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 38px;\n  height: 38px;\n  min-width: 38px;\n  border-radius: 50%;\n  background: var(--ap-primary);\n  color: var(--ap-white);\n  font-weight: 700;\n  font-size: 15px;\n}\n\n.ap-step-content {\n  flex: 1;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.35rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n  .ap-step {\n    flex-direction: column;\n    align-items: center;\n    text-align: center;\n  }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n}\n\n@keyframes apFadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63113148825949,"sku":"AFF-PRE-CHIE-02","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-NAISSANCE-COOL-DOG-CADRE.webp?v=1770642499"},{"product_id":"affiche-prenom-happy-lines","title":"Affiche Prénom - Happy Lines","description":"\u003c!-- \n  ANALYSE MPV — Fiche Produit\n  ─────────────────────────────\n  Produit : Affiche Prénom - Happy Lines\n  Catégorie : AFFICHE PERSONNALISÉE\n  Palette extraite : Ocre doré \/ miel (#D4943A), vert forêt profond (#1A6B3C), ivoire doux (#F5EDD6)\n  Ambiance : Solaire, joyeuse, moderne, graphique, chambre d'enfant\n  Prefix CSS : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Happy Lines\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDes rayures soleil, un prénom qui rayonne : l'affiche qui célèbre l'arrivée de votre enfant avec panache et tendresse.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eIl y a des cadeaux qu'on offre, et puis il y a ceux qu'on garde toute une vie. L'affiche Happy Lines fait partie de la deuxième catégorie. Avec ses rayures généreuses en ocre doré et sa typographie ronde et chaleureuse, elle transforme un simple prénom en véritable pièce de décoration — celle qui trône fièrement sur le mur d'une chambre d'enfant et que les parents photographient encore des années plus tard. Le vert forêt du prénom contraste avec justesse sur les bandes dorées, les trois petits cœurs viennent poser une tendresse discrète, et l'ensemble respire la joie sans jamais forcer le trait. Ni trop sage, ni trop criard — juste ce qu'il faut de caractère pour habiller un intérieur avec personnalité.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un design solaire et intemporel\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eDes bandes verticales larges en jaune miel sur fond ivoire, une typographie affirmée en vert profond : chaque détail est pensé pour créer une affiche graphique qui traverse les années sans prendre une ride, de la chambre bébé à la chambre d'enfant.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e💌 Entièrement personnalisable\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe prénom de votre enfant — accents, trémas et caractères spéciaux inclus — ainsi que sa date de naissance sont intégrés sur mesure. Chaque commande est unique, rien n'est préfabriqué.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRenseignez vos options personnalisées\u003c\/strong\u003e\n\u003cp\u003eChoisissez votre format, indiquez le prénom et la date de naissance directement dans les champs prévus lors de votre commande.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRelecture avant validation\u003c\/strong\u003e\n\u003cp\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eImpression et livraison soignée\u003c\/strong\u003e\n\u003cp\u003eVotre affiche est imprimée avec soin sur un papier de qualité puis expédiée directement chez vous, prête à être encadrée et admirée.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #D4943A;\n  --ap-primary-dark: #1A6B3C;\n  --ap-accent-peps: #D4943A;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top {\n  margin-bottom: 1rem;\n}\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-howto {\n  max-width: 700px;\n  margin: 0 auto 3.5rem auto;\n}\n\n.ap-steps {\n  display: flex;\n  flex-direction: column;\n  gap: 1.25rem;\n}\n\n.ap-step {\n  display: flex;\n  align-items: flex-start;\n  gap: 1rem;\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.5rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-3px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-number {\n  min-width: 40px;\n  height: 40px;\n  background-color: var(--ap-accent-peps);\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--ap-white);\n  font-weight: 700;\n  font-size: 18px;\n  flex-shrink: 0;\n}\n\n.ap-step-content strong {\n  display: block;\n  font-size: 15px;\n  color: var(--ap-primary-dark);\n  margin-bottom: 4px;\n}\n\n.ap-step-content p {\n  margin: 0;\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid {\n    grid-template-columns: 1fr;\n  }\n  .ap-mpv-container {\n    padding: 1.5rem 1rem;\n  }\n  .ap-step {\n    flex-direction: column;\n    align-items: center;\n    text-align: center;\n  }\n  .ap-step-number {\n    margin-bottom: 4px;\n  }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card {\n    animation: apFadeInUp 0.5s ease backwards;\n  }\n  .ap-step:nth-child(1) { animation: apFadeInUp 0.5s ease 0.1s backwards; }\n  .ap-step:nth-child(2) { animation: apFadeInUp 0.5s ease 0.2s backwards; }\n  .ap-step:nth-child(3) { animation: apFadeInUp 0.5s ease 0.3s backwards; }\n}\n\n@keyframes apFadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63113225863517,"sku":"AFF-PRE-HAPP-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/Affiche-Rayuresjaunes.webp?v=1770644312"},{"product_id":"affiche-prenom-chat-relax","title":"Affiche Prénom - Chat Relax","description":"\u003c!-- ANALYSE MPV\n  1. Type : AFFICHE PERSONNALISÉE (prénom + date optionnelle)\n  2. Palette extraite des visuels : rose mauve doux (#C4908A), violet\/indigo (#4A3A8A), rose bonbon (#E88CB4), ocre\/doré chaud (#D4B96A), brun chocolat (#6B3A2A)\n  3. Ambiance : Rétro-pop, enfantine mais stylée, yoga humoristique, chambre d'enfant moderne\n  4. Prefix : ap (affiche personnalisée)\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Chat Relax\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUn chat yogi en legging léopard, des lunettes rondes et le prénom de votre enfant : le trio parfait pour une chambre pleine de personnalité.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eIl y a des affiches qu'on accroche et d'autres qu'on chérit. Celle-ci fait clairement partie de la deuxième catégorie. Imaginez un chat en pleine posture de yoga — lunettes rondes vissées sur le nez, justaucorps rose, legging léopard — qui s'étire avec une grâce absolument irrésistible sur un fond rose mauve tout doux. Et juste au-dessus, le prénom de votre enfant, inscrit dans une typographie ronde et chaleureuse qui s'intègre comme une évidence à l'illustration. Ce n'est pas juste une déco, c'est un petit bout de son univers accroché au mur, qui lui sourit chaque matin. L'univers graphique rétro et coloré sort des sentiers battus : loin des affiches prénom interchangeables, ce chat a du caractère, de l'humour et une sacrée dose de style.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e1\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRenseignez vos options personnalisées\u003c\/strong\u003e\n\u003cp\u003eInscrivez le prénom de l'enfant et ajoutez la date de naissance si vous le souhaitez — chaque détail sera intégré avec soin à l'illustration.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e2\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRelecture avant validation\u003c\/strong\u003e\n\u003cp\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-num\"\u003e3\u003c\/span\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eImpression et livraison soignée\u003c\/strong\u003e\n\u003cp\u003eVotre affiche est imprimée à la demande sur un papier de qualité aux couleurs fidèles et durables, puis expédiée avec le plus grand soin pour arriver chez vous en parfait état.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un style rétro-pop unique\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLes teintes rose mauve, violet profond et touches léopard créent un univers graphique singulier qui s'intègre naturellement dans une chambre d'enfant contemporaine. Une illustration pleine de caractère qui vieillit bien et reste tendance sur le long terme.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e💌 Le cadeau qu'on n'oublie pas\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eNaissance, baptême, anniversaire ou simplement pour embellir un espace de vie : cette affiche personnalisée avec le prénom de l'enfant devient instantanément la pièce maîtresse du mur. Un cadeau qui a du sens et qui dure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root {\n    --ap-bg-cream: #FDFBF7;\n    --ap-white: #ffffff;\n    --ap-primary: #C4908A;\n    --ap-primary-dark: #7A4A44;\n    --ap-accent-peps: #D4B96A;\n    --ap-text-main: #2A2A2A;\n    --ap-text-muted: #666666;\n    --ap-border: #EFEBE4;\n    --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --ap-radius: 12px;\n  }\n\n  .ap-mpv-container {\n    max-width: 1000px;\n    margin: 0 auto;\n    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n    background: var(--ap-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--ap-text-main);\n    line-height: 1.6;\n  }\n\n  .ap-hero {\n    background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--ap-radius);\n    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n    margin-bottom: clamp(2.5rem, 5vw, 4rem);\n    text-align: center;\n    border: 1px solid var(--ap-border);\n  }\n\n  .ap-badges-top { margin-bottom: 1rem; }\n\n  .ap-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--ap-text-main);\n    margin: 0 4px;\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-hero-title {\n    display: block;\n    color: var(--ap-primary-dark);\n    font-size: clamp(26px, 5vw, 40px);\n    font-weight: 700;\n    margin: 1rem 0;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n  }\n\n  .ap-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--ap-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .ap-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-intro-text {\n    font-size: 13.5px;\n    color: var(--ap-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .ap-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .ap-section-howto {\n    max-width: 700px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  .ap-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 1rem;\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 1.5rem;\n    border: 1px solid var(--ap-border);\n    box-shadow: var(--ap-shadow-soft);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-step:hover {\n    transform: translateY(-3px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-step-num {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 36px;\n    height: 36px;\n    min-width: 36px;\n    border-radius: 50%;\n    background: var(--ap-primary);\n    color: var(--ap-white);\n    font-weight: 700;\n    font-size: 15px;\n  }\n\n  .ap-step-content strong {\n    display: block;\n    font-size: 15px;\n    color: var(--ap-primary-dark);\n    margin-bottom: 0.35rem;\n  }\n\n  .ap-step-content p {\n    font-size: 13.5px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem;\n    margin-bottom: 3.5rem;\n  }\n\n  .ap-card {\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 2rem;\n    box-shadow: var(--ap-shadow-soft);\n    border: 1px solid var(--ap-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .ap-card-desc {\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--ap-border);\n  }\n\n  .ap-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .ap-grid { grid-template-columns: 1fr; }\n    .ap-mpv-container { padding: 1.5rem 1rem; }\n    .ap-step { flex-direction: column; align-items: center; text-align: center; }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card { animation: ap-fadeInUp 0.5s ease backwards; }\n    .ap-card:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step { animation: ap-fadeInUp 0.5s ease backwards; }\n    .ap-step:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step:nth-child(3) { animation-delay: 0.2s; }\n  }\n\n  @keyframes ap-fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63113238118749,"sku":"AFF-PRE-CHAT-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-NAISSANCE-CHAT_RELAX-PHOTO1.webp?v=1768225649"},{"product_id":"affiche-prenom-odyssee","title":"Affiche Prénom - Odyssée","description":"\u003c!-- ANALYSE MPV\n  Produit : Affiche Prénom - Odyssée\n  Catégorie : AFFICHE PERSONNALISÉE\n  Ambiance : Douce, aérienne, poétique — un oiseau crème en vol sur fond bleu gris-bleu vintage\n  Palette extraite : Bleu gris doux (#8FAAB8), crème chaud (#F5E6D0), vert canard profond (#1A5C4B), touche corail\/orange bec (#D4764E)\n  Prefix : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Odyssée\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUn oiseau libre porte le prénom de votre enfant vers de belles aventures.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eL'odyssée de vos babies commence ici, sur un ciel bleu doux où un oiseau de crème prend son envol. Inspirée des illustrations rétro et des formes épurées, cette affiche personnalisée accueille le prénom de votre enfant niché dans les ailes d'un compagnon voyageur. Un souffle de liberté et de tendresse à glisser dans une chambre d'enfant, pour accompagner ses premiers rêves d'ailleurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eChoisissez le prénom, le format et les détails qui rendront cette affiche unique.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin puis expédiée dans un emballage protecteur pour arriver parfaitement chez vous.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un envol poétique et personnalisé\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe prénom de votre enfant se glisse délicatement dans les ailes de l'oiseau voyageur. Une composition graphique douce, à la fois moderne et intemporelle, qui habille un mur avec tendresse et caractère.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🎨 Des couleurs douces et lumineuses\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe bleu gris apaisant, le crème chaud et la touche de vert canard profond s'accordent naturellement avec tous les univers de chambre d'enfant. Un équilibre pensé pour durer au fil des années.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #8FAAB8;\n  --ap-primary-dark: #1A5C4B;\n  --ap-accent-peps: #D4764E;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-section-howto {\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-steps {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 1.5rem;\n}\n\n.ap-step {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.75rem 1.5rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n  text-align: center;\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-number {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  border-radius: 50%;\n  background: var(--ap-primary);\n  color: var(--ap-white);\n  font-weight: 700;\n  font-size: 15px;\n  margin-bottom: 0.75rem;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.5rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-steps { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n}\n\n@keyframes apFadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63113498952029,"sku":"AFF-PRE-FLOW-03","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-ODYSSEE-MPV.webp?v=1769441774"},{"product_id":"affiche-prenom-amour-dautomne","title":"Affiche Prénom - Amour d'automne","description":"\u003c!-- ANALYSE : \n- Type : AFFICHE PERSONNALISÉE (prénom + date de naissance, personnalisable)\n- Palette : Terracotta chaud (fond principal), brun chocolat profond (cœurs), jaune beurre doux (typo prénom), crème chaud\n- Ambiance : Automnale, tendre, chaleureuse, organique avec des cœurs dessinés à la main, esprit cocon familial\n- Préfixe CSS : ap (affiche personnalisée)\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Amour d'automne\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUne pluie de cœurs terracotta pour envelopper le prénom de votre enfant dans toute la douceur du monde.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eIl y a des objets qu'on accroche au mur, et puis il y a ceux qui racontent une histoire. Avec son fond terracotta enveloppant, ses petits cœurs dessinés à la main qui dansent dans tous les sens et sa typographie ronde et généreuse, l'affiche \"Amour d'automne\" transforme n'importe quel coin de chambre en cocon de tendresse. Chaque prénom s'y loge comme un mot d'amour murmuré, accompagné de la date de naissance pour ancrer ce souvenir dans le temps. Que ce soit pour décorer la chambre de bébé, offrir un cadeau de naissance qui sort de l'ordinaire ou simplement réchauffer un intérieur avec une touche très personnelle, cette affiche a ce petit quelque chose qui touche droit au cœur — comme son nom l'indique.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🍂 Des teintes automnales intemporelles\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe terracotta chaud et le brun chocolat des cœurs s'harmonisent naturellement avec les intérieurs boisés, scandinaves ou bohèmes. Des couleurs qui ne se démodent pas et qui réchauffent instantanément une pièce.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Personnalisée avec amour\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003ePrénom et date de naissance sont intégrés au design avec soin. Chaque affiche est unique, pensée pour mettre en lumière l'identité de votre enfant dans un écrin graphique qui lui ressemble.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-num\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRenseignez vos options personnalisées\u003c\/strong\u003e\n\u003cp\u003eSaisissez le prénom et la date de naissance. Ces éléments seront intégrés à l'illustration avec soin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-num\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRelecture avant validation\u003c\/strong\u003e\n\u003cp\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-num\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eImpression et livraison soignée\u003c\/strong\u003e\n\u003cp\u003eVotre affiche est imprimée à la commande sur un papier de qualité et expédiée avec le plus grand soin pour arriver en parfait état chez vous.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root {\n    --ap-bg-cream: #FDFBF7;\n    --ap-white: #ffffff;\n    --ap-primary: #C0614A;\n    --ap-primary-dark: #8B3A2A;\n    --ap-accent-peps: #E8C547;\n    --ap-text-main: #2A2A2A;\n    --ap-text-muted: #666666;\n    --ap-border: #EFEBE4;\n    --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --ap-radius: 12px;\n  }\n\n  .ap-mpv-container {\n    max-width: 1000px;\n    margin: 0 auto;\n    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n    background: var(--ap-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--ap-text-main);\n    line-height: 1.6;\n  }\n\n  .ap-hero {\n    background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--ap-radius);\n    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n    margin-bottom: clamp(2.5rem, 5vw, 4rem);\n    text-align: center;\n    border: 1px solid var(--ap-border);\n  }\n\n  .ap-badges-top { margin-bottom: 1rem; }\n\n  .ap-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--ap-text-main);\n    margin: 0 4px;\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-hero-title {\n    display: block;\n    color: var(--ap-primary-dark);\n    font-size: clamp(26px, 5vw, 40px);\n    font-weight: 700;\n    margin: 1rem 0;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n  }\n\n  .ap-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--ap-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .ap-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-intro-text {\n    font-size: 13.5px;\n    color: var(--ap-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .ap-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .ap-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem;\n    margin-bottom: 3.5rem;\n  }\n\n  .ap-card {\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 2rem;\n    box-shadow: var(--ap-shadow-soft);\n    border: 1px solid var(--ap-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .ap-card-desc {\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-howto {\n    max-width: 700px;\n    margin: 0 auto 3.5rem auto;\n  }\n\n  .ap-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  .ap-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 1.25rem;\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 1.5rem;\n    border: 1px solid var(--ap-border);\n    box-shadow: var(--ap-shadow-soft);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-step:hover {\n    transform: translateY(-3px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-step-num {\n    min-width: 40px;\n    height: 40px;\n    background: var(--ap-primary);\n    color: var(--ap-white);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 700;\n    font-size: 1rem;\n    flex-shrink: 0;\n  }\n\n  .ap-step-content {\n    padding-top: 2px;\n  }\n\n  .ap-step-content strong {\n    display: block;\n    font-size: 15px;\n    color: var(--ap-primary-dark);\n    margin-bottom: 0.35rem;\n  }\n\n  .ap-step-content p {\n    font-size: 13.5px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--ap-border);\n  }\n\n  .ap-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .ap-grid { grid-template-columns: 1fr; }\n    .ap-mpv-container { padding: 1.5rem 1rem; }\n    .ap-step {\n      flex-direction: column;\n      align-items: center;\n      text-align: center;\n    }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n    .ap-card:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n    .ap-step:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step:nth-child(3) { animation-delay: 0.2s; }\n  }\n\n  @keyframes apFadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63113541419357,"sku":"AFF-PRE-AMOU-02","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-AUTOMNE-COEURS3.webp?v=1768491343"},{"product_id":"affiche-prenom-blue-love","title":"Affiche Prénom - Blue love","description":"\u003c!-- \nANALYSE PRODUIT :\n1. Type : AFFICHE PERSONNALISÉE (prénom + date de naissance)\n2. Palette \"Pep's \u0026 Douceur\" : Bleu colombin doux (#6A9EC4), bleu nuit profond (#1E3A5F), fond ivoire crème (#F2F0E4)\n3. Ambiance : Poétique, aérienne, oiseaux en vol façon découpages matissiens, liberté douce, chambre enfant moderne et intemporelle\n4. Préfixe CSS : ap (affiche personnalisée)\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Blue love\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDes oiseaux en liberté qui portent son prénom vers le ciel, pour une chambre qui raconte déjà sa petite histoire.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eIl y a des prénoms qu'on murmure et d'autres qu'on accroche au mur. L'affiche Blue Love est née de cette envie : donner une place belle et poétique au tout premier mot qui compte dans une vie. Sur un fond ivoire crème, des silhouettes d'oiseaux aux tons bleus doux s'envolent dans tous les sens, comme autant de rêves encore à inventer. Au centre, le prénom de votre enfant et sa date de naissance s'inscrivent avec douceur dans cette envolée graphique inspirée des découpages de Matisse. Une composition aérienne, moderne et intemporelle qui transforme n'importe quel mur en un petit coin de poésie.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRenseignez vos options personnalisées\u003c\/strong\u003e\n\u003cp\u003eIndiquez le prénom et la date de naissance de votre enfant dans les champs prévus.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eRelecture avant validation\u003c\/strong\u003e\n\u003cp\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003cstrong\u003eImpression et livraison soignée\u003c\/strong\u003e\n\u003cp\u003eVotre affiche est imprimée sur un papier premium aux couleurs fidèles, puis expédiée avec soin jusqu'à chez vous.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un motif graphique et poétique\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eDes oiseaux en vol aux silhouettes peintes à la main, posés sur un fond ivoire lumineux. Une esthétique qui emprunte aux découpages artistiques pour offrir à la chambre de votre enfant une touche d'art douce et singulière.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🤍 Le cadeau de naissance qu'on n'oublie pas\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eUn prénom, une date, un envol de bleu : cette affiche personnalisée est le genre de cadeau qui touche les parents au cœur dès le premier regard. Elle ne reste pas dans un tiroir — elle s'accroche, elle embellit, elle raconte.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #6A9EC4;\n  --ap-primary-dark: #1E3A5F;\n  --ap-accent-peps: #D4915E;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #E8EFF6 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-section-howto {\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-steps {\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.ap-step {\n  display: flex;\n  align-items: flex-start;\n  gap: 1rem;\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.5rem;\n  border: 1px solid var(--ap-border);\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-step-number {\n  min-width: 38px;\n  height: 38px;\n  width: 38px;\n  border-radius: 50%;\n  background: var(--ap-primary);\n  color: var(--ap-white);\n  font-weight: 700;\n  font-size: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.ap-step-content strong {\n  display: block;\n  font-size: 15px;\n  color: var(--ap-primary-dark);\n  margin-bottom: 4px;\n}\n\n.ap-step-content p {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n  .ap-step { flex-direction: row; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n}\n\n@keyframes apFadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63959363420509,"sku":"AFF-PRE-BLUE-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-LOVE-OISEAUX-30X40-CADRE.webp?v=1774281465"},{"product_id":"affiche-prenom-loiseau","title":"Affiche Prénom - L'oiseau","description":"\u003c!-- ANALYSE MPV\n  - Produit : Affiche Prénom - L'oiseau\n  - Catégorie : AFFICHE PERSONNALISÉE\n  - Ambiance visuelle : Illustration line-art épurée d'un oiseau stylisé, fond crème\/jaune pâle, cadre bois naturel, univers enfantin chaleureux avec carrelage terracotta et murs ocre moutarde\n  - Palette extraite : Crème doux, ocre moutarde lumineux, brun chocolat chaud (trait de l'illustration)\n  - Préfixe CSS : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — L'oiseau\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUn petit oiseau poétique qui veille sur la chambre de votre enfant, personnalisé avec son prénom et sa date de naissance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eDessiné d'un trait libre et joyeux, cet oiseau aux ailes déployées est bien plus qu'une affiche : c'est un compagnon poétique qui s'installe dans la chambre de votre enfant pour y rester longtemps. Avec son style line-art épuré et son allure douce, il apporte une touche d'art et de tendresse à n'importe quel mur. Personnalisé avec le prénom et la date de naissance de votre baby, il devient un souvenir unique, un petit bout de leur histoire accroché au mur. Disponible sur plusieurs fonds de couleur pour s'accorder à toutes les ambiances.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eChoisissez le prénom, la date de naissance et la couleur de fond qui s'accordera à votre intérieur.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin sur un papier de qualité, puis expédiée dans un emballage protecteur pour arriver chez vous en parfait état.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un trait libre et poétique\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eL'oiseau est dessiné dans un style line-art spontané, à la fois enfantin et moderne. Un dessin qui grandit avec votre enfant et qui ne se démode pas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🎨 Des couleurs pensées pour vos intérieurs\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003ePlusieurs teintes de fond sont disponibles pour s'intégrer naturellement dans la chambre de votre petit, du crème doux au jaune soleil en passant par des tons plus affirmés.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\" class=\"ap-section-final\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #C8973E;\n  --ap-primary-dark: #4A3728;\n  --ap-accent-peps: #D4922A;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-section-howto {\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-steps {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 1.5rem;\n}\n\n.ap-step {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 1.75rem 1.5rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  text-align: center;\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-number {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  border-radius: 50%;\n  background: var(--ap-primary-dark);\n  color: var(--ap-white);\n  font-size: 15px;\n  font-weight: 700;\n  margin-bottom: 0.75rem;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.5rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-steps { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: ap-fadeInUp 0.5s ease backwards; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step { animation: ap-fadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n}\n\n@keyframes ap-fadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63965211394397,"sku":"AFF-PRE-LOIS-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-OISEAU-POETIQUE.webp?v=1775553286"},{"product_id":"affiche-prenom-soleil-de-ma-vie","title":"Affiche Prénom - Soleil de ma vie","description":"\u003c!-- ANALYSE MPV\n- Produit : Affiche Prénom - Soleil de ma vie\n- Catégorie : AFFICHE PERSONNALISÉE\n- Palette extraite : Ocre doré lumineux (soleils), rouge corail vif (cœurs), fond crème chaud\n- Teintes retenues : Ocre doré #D4A843, Rouge corail #E0503A, Crème chaud #FDF8EE\n- Ambiance : Solaire, joyeuse, chaleureuse, moderne et enfantine\n- Préfixe : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Soleil de ma vie\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDeux soleils, un cœur au centre et le prénom de votre enfant : toute la chaleur du monde sur un seul mur.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eDes rayons dorés qui dansent autour d'un cœur rouge vif, un prénom tracé en lettres cursives entre deux soleils complices : cette affiche capture l'élan d'amour que vous ressentez chaque fois que vous prononcez le prénom de votre enfant. Imaginée dans des teintes solaires et joyeuses, elle apporte une touche de lumière chaleureuse à la chambre, au coin lecture ou à n'importe quel mur qui mérite un peu de bonheur. Personnalisez-la avec le prénom et la date de naissance de votre baby pour en faire une pièce unique, pensée rien que pour votre famille.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-steps\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps-grid\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e1\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eIndiquez le prénom et la date de naissance de votre enfant dans les champs prévus à cet effet.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e2\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre affiche avant que nous l'envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cspan class=\"ap-step-number\"\u003e3\u003c\/span\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée avec soin puis expédiée dans un emballage rigide pour arriver chez vous en parfait état.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e☀️ Un motif solaire et moderne\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eDeux grands soleils aux rayons généreux enveloppent un cœur rouge éclatant. Le résultat est graphique, joyeux et résolument contemporain — parfait pour habiller une chambre d'enfant sans tomber dans le trop mignon.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Une personnalisation qui a du sens\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe prénom de votre enfant vient se glisser en écriture cursive entre les deux soleils, comme un petit secret lumineux. Un cadeau de naissance idéal ou un souvenir à accrocher dès les premiers jours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #D4A843;\n  --ap-primary-dark: #B8862B;\n  --ap-accent-peps: #E0503A;\n  --ap-text-main: #2A2A2A;\n  --ap-text-muted: #666666;\n  --ap-border: #EFEBE4;\n  --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --ap-radius: 12px;\n}\n\n.ap-mpv-container {\n  max-width: 1000px;\n  margin: 0 auto;\n  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n  background: var(--ap-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--ap-text-main);\n  line-height: 1.6;\n}\n\n.ap-hero {\n  background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--ap-radius);\n  padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n  margin-bottom: clamp(2.5rem, 5vw, 4rem);\n  text-align: center;\n  border: 1px solid var(--ap-border);\n}\n\n.ap-badges-top { margin-bottom: 1rem; }\n\n.ap-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--ap-white);\n  border: 1px solid var(--ap-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--ap-text-main);\n  margin: 0 4px;\n  box-shadow: var(--ap-shadow-soft);\n}\n\n.ap-hero-title {\n  display: block;\n  color: var(--ap-primary-dark);\n  font-size: clamp(26px, 5vw, 40px);\n  font-weight: 700;\n  margin: 1rem 0;\n  letter-spacing: -0.02em;\n  line-height: 1.2;\n}\n\n.ap-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--ap-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.ap-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.ap-intro-text {\n  font-size: 13.5px;\n  color: var(--ap-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.ap-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.ap-section-steps {\n  margin-bottom: 3rem;\n}\n\n.ap-steps-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n  gap: 1.5rem;\n}\n\n.ap-step {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem 1.5rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  text-align: center;\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-step:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-step-number {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  background: var(--ap-accent-peps);\n  color: var(--ap-white);\n  border-radius: 50%;\n  font-size: 15px;\n  font-weight: 700;\n  margin-bottom: 1rem;\n}\n\n.ap-step-title {\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin: 0 0 0.5rem 0;\n}\n\n.ap-step-desc {\n  font-size: 13.5px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 3.5rem;\n}\n\n.ap-card {\n  background: var(--ap-white);\n  border-radius: var(--ap-radius);\n  padding: 2rem;\n  box-shadow: var(--ap-shadow-soft);\n  border: 1px solid var(--ap-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.ap-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--ap-shadow-hover);\n}\n\n.ap-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--ap-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.ap-card-desc {\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.ap-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--ap-border);\n}\n\n.ap-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--ap-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .ap-grid { grid-template-columns: 1fr; }\n  .ap-steps-grid { grid-template-columns: 1fr; }\n  .ap-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .ap-card { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-step { animation: apFadeInUp 0.5s ease backwards; }\n  .ap-step:nth-child(2) { animation-delay: 0.1s; }\n  .ap-step:nth-child(3) { animation-delay: 0.2s; }\n  .ap-card:nth-child(2) { animation-delay: 0.1s; }\n}\n\n@keyframes apFadeInUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63965254353245,"sku":"AFF-PRE-SOLE-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-SOLEIL-DE-MA-VIE-30X40-CADRE.webp?v=1774340836"},{"product_id":"affiche-prenom-chien-chill","title":"Affiche Prénom - Chien Chill","description":"\u003c!-- ANALYSE : Type = AFFICHE PERSONNALISÉE | Palette = bleu ciel doux #B8D4DA, lavande\/mauve nuages #8B8FC7, vert casquette #2D7A6E, terracotta\/rouge prénom #C0392B, brun chien #8B5E3C | Prefix = ap | Ambiance = enfantine, chill, graphique, joyeuse --\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Chien Chill\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUn petit chien à casquette, un prénom affiché avec style et des nuages qui filent doucement. L'affiche qui donne instantanément le sourire.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eFond bleu ciel, nuages mauves, oreilles tombantes et casquette vissée sur la tête : le Chien Chill a un style bien à lui. Cette affiche prénom personnalisée intègre le prénom de votre enfant directement dans l'illustration, comme si ce petit chien décontracté portait son identité avec fierté. Le résultat ? Une décoration murale à la fois graphique, douce et pleine de caractère, qui s'installe aussi bien dans une chambre de bébé que dans celle d'un enfant plus grand. Pensée pour durer, imprimée en France sur papier de qualité, elle accompagnera les premières années — et bien au-delà.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003eUn design graphique et intemporel\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe bleu ciel, les nuages mauves et le brun chaud du chien forment une palette lumineuse qui s'accorde naturellement avec le bois clair, le lin et le blanc. Un style graphique qui traverse les années sans jamais vieillir.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003eSon prénom au cœur du design\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe prénom de votre enfant est inscrit directement dans l'illustration, en typographie bold et chaleureuse. Pas ajouté à la va-vite : pensé dès le départ comme partie intégrante du dessin. Une affiche vraiment unique.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eSaisissez le prénom de votre enfant dans le champ dédié. Prenez le temps de vérifier l'orthographe — chaque lettre compte pour que le résultat soit parfait.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre faire-part avant que nous les envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée en France avec soin, puis conditionnée dans un emballage rigide protecteur. Elle arrive chez vous — ou chez son destinataire — prête à être encadrée et admirée.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root {\n    --ap-bg-cream: #FDFBF7;\n    --ap-white: #ffffff;\n    --ap-primary: #8B8FC7;\n    --ap-primary-dark: #2D5A6B;\n    --ap-accent-peps: #C0392B;\n    --ap-text-main: #2A2A2A;\n    --ap-text-muted: #666666;\n    --ap-border: #EFEBE4;\n    --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --ap-radius: 12px;\n  }\n\n  .ap-mpv-container {\n    max-width: 1000px;\n    margin: 0 auto;\n    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n    background: var(--ap-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--ap-text-main);\n    line-height: 1.6;\n  }\n\n  .ap-hero {\n    background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--ap-radius);\n    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n    margin-bottom: clamp(2.5rem, 5vw, 4rem);\n    text-align: center;\n    border: 1px solid var(--ap-border);\n  }\n\n  .ap-badges-top {\n    margin-bottom: 1rem;\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 8px;\n  }\n\n  .ap-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--ap-text-main);\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-hero-title {\n    display: block;\n    color: var(--ap-primary-dark);\n    font-size: clamp(26px, 5vw, 40px);\n    font-weight: 700;\n    margin: 1rem 0;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n  }\n\n  .ap-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--ap-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .ap-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-intro-text {\n    font-size: 13.5px;\n    color: var(--ap-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .ap-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .ap-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem;\n    margin-bottom: 3.5rem;\n  }\n\n  .ap-card {\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 2rem;\n    box-shadow: var(--ap-shadow-soft);\n    border: 1px solid var(--ap-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .ap-card-desc {\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-howto {\n    max-width: 750px;\n    margin: 0 auto 3.5rem auto;\n  }\n\n  .ap-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  .ap-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 1.25rem;\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 1.5rem 1.75rem;\n    border: 1px solid var(--ap-border);\n    box-shadow: var(--ap-shadow-soft);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-step:hover {\n    transform: translateY(-3px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-step-number {\n    min-width: 40px;\n    width: 40px;\n    height: 40px;\n    background: var(--ap-accent-peps);\n    color: var(--ap-white);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 700;\n    font-size: 16px;\n    flex-shrink: 0;\n  }\n\n  .ap-step-content {\n    flex: 1;\n  }\n\n  .ap-step-title {\n    font-size: 15px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin: 0 0 0.35rem 0;\n  }\n\n  .ap-step-desc {\n    font-size: 13.5px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.55;\n  }\n\n  .ap-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--ap-border);\n  }\n\n  .ap-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .ap-grid {\n      grid-template-columns: 1fr;\n    }\n    .ap-mpv-container {\n      padding: 1.5rem 1rem;\n    }\n    .ap-step {\n      flex-direction: column;\n      align-items: center;\n      text-align: center;\n    }\n    .ap-step-number {\n      margin: 0 auto 8px auto;\n    }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card {\n      animation: ap-fadeInUp 0.5s ease backwards;\n    }\n    .ap-card:nth-child(2) {\n      animation-delay: 0.1s;\n    }\n    .ap-step {\n      animation: ap-fadeInUp 0.5s ease backwards;\n    }\n    .ap-step:nth-child(2) {\n      animation-delay: 0.1s;\n    }\n    .ap-step:nth-child(3) {\n      animation-delay: 0.2s;\n    }\n  }\n\n  @keyframes ap-fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":65396880867677,"sku":"AFF-PRE-CHIE-03","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-CHIEN-CHILL.webp?v=1787228847"},{"product_id":"affiche-prenom-rayures","title":"Affiche Prénom - Bisous","description":"\u003c!-- ANALYSE MPV\n- Produit : Affiche Prénom - Bisous (personnalisée)\n- Catégorie : AFFICHE PERSONNALISÉE\n- Palette extraite de l'image : bleu ciel doux (#A8C8D8), bleu canard\/teal (#2A7A6E), bleu nuit profond (#1E3A6D), rouge vermillon vif (#D94030), crème jauni (#F0E8B8)\n- Ambiance : Rétro-graphique, rayures vintage, joyeuse, enfantine mais affirmée\n- Préfixe CSS : ap\n--\u003e\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\u003cdiv class=\"ap-hero\"\u003e\n\u003cdiv class=\"ap-hero-content\"\u003e\n\u003cdiv class=\"ap-badges-top\"\u003e\n\u003cspan class=\"ap-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"ap-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ap-hero-title\"\u003eAffiche prénom — Bisous\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDes rayures graphiques, un prénom mis à l'honneur et une ambiance rétro-joyeuse pour illuminer sa chambre dès le premier jour.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"ap-intro-text\"\u003eL'affiche prénom Bisous joue la carte du graphisme assumé : un fond rayé bleu canard aux reflets apaisants, un cartouche crème aux bords festonnés et le prénom de votre enfant affiché en rouge vif avec une typographie pleine de caractère. Inspirée des affiches vintage des années 60-70, elle crée une décoration murale à la fois intemporelle et franchement singulière. Personnalisée avec le prénom choisi, elle devient bien plus qu'un simple poster — un vrai objet décoratif chargé d'identité, pensé pour durer et pour grandir avec lui.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-grid\"\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003eUn design graphique et affirmé\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLes rayures bleues structurées, le rouge vermillon et le fond crème forment une palette audacieuse mais harmonieuse. Ce n'est pas une déco fade — c'est une vraie affiche qui donne du caractère à la pièce et qui se distingue au premier regard.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003eLe prénom, star du mur\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eInscrit dans un cartouche festonné façon étiquette ancienne, le prénom de votre enfant devient le vrai sujet de l'affiche. Chaque détail typographique est pensé pour le mettre en valeur avec élégance et personnalité.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-howto\"\u003e\n\u003ch2\u003eComment ça marche ?\u003c\/h2\u003e\n\u003cdiv class=\"ap-steps\"\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eSaisissez le prénom de votre enfant dans le champ prévu et vérifiez l'orthographe avec attention — c'est ce qui apparaîtra exactement sur l'affiche finale.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eRelecture avant validation\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePensez à bien vérifier qu'aucune erreur ne s'est glissée sur votre faire-part avant que nous les envoyons en impression.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-step\"\u003e\n\u003cdiv class=\"ap-step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"ap-step-content\"\u003e\n\u003ch3 class=\"ap-step-title\"\u003eImpression et livraison soignée\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eVotre affiche est imprimée sur papier premium puis expédiée dans un emballage rigide pour arriver en parfait état chez vous. Plus qu'à trouver le cadre idéal !\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"ap-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"ap-final-text\"\u003eChaque création est imaginée pour apporter de la joie dans vos intérieurs en restant ludique et pleine de personnalité.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root {\n    --ap-bg-cream: #FDFBF7;\n    --ap-white: #ffffff;\n    --ap-primary: #3A7A72;\n    --ap-primary-dark: #1E3A6D;\n    --ap-accent-peps: #D94030;\n    --ap-text-main: #2A2A2A;\n    --ap-text-muted: #666666;\n    --ap-border: #EFEBE4;\n    --ap-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --ap-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --ap-radius: 12px;\n  }\n\n  .ap-mpv-container {\n    max-width: 1000px;\n    margin: 0 auto;\n    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem);\n    background: var(--ap-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--ap-text-main);\n    line-height: 1.6;\n  }\n\n  .ap-hero {\n    background: linear-gradient(135deg, var(--ap-bg-cream) 0%, #EAF0F4 100%);\n    border-radius: var(--ap-radius);\n    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;\n    margin-bottom: clamp(2.5rem, 5vw, 4rem);\n    text-align: center;\n    border: 1px solid var(--ap-border);\n  }\n\n  .ap-badges-top { margin-bottom: 1rem; }\n\n  .ap-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--ap-white);\n    border: 1px solid var(--ap-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--ap-text-main);\n    margin: 0 4px;\n    box-shadow: var(--ap-shadow-soft);\n  }\n\n  .ap-hero-title {\n    display: block;\n    color: var(--ap-primary-dark);\n    font-size: clamp(26px, 5vw, 40px);\n    font-weight: 700;\n    margin: 1rem 0;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n  }\n\n  .ap-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--ap-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .ap-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .ap-intro-text {\n    font-size: 13.5px;\n    color: var(--ap-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .ap-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .ap-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem;\n    margin-bottom: 3.5rem;\n  }\n\n  .ap-card {\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 2rem;\n    box-shadow: var(--ap-shadow-soft);\n    border: 1px solid var(--ap-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .ap-card-desc {\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-howto {\n    max-width: 750px;\n    margin: 0 auto 3.5rem auto;\n  }\n\n  .ap-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 1.25rem;\n  }\n\n  .ap-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 1.25rem;\n    background: var(--ap-white);\n    border-radius: var(--ap-radius);\n    padding: 1.5rem 1.75rem;\n    border: 1px solid var(--ap-border);\n    box-shadow: var(--ap-shadow-soft);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .ap-step:hover {\n    transform: translateY(-3px);\n    box-shadow: var(--ap-shadow-hover);\n  }\n\n  .ap-step-number {\n    min-width: 38px;\n    width: 38px;\n    height: 38px;\n    background: var(--ap-accent-peps);\n    color: var(--ap-white);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 700;\n    font-size: 15px;\n    flex-shrink: 0;\n  }\n\n  .ap-step-content { flex: 1; }\n\n  .ap-step-title {\n    font-size: 15px;\n    font-weight: 700;\n    color: var(--ap-primary-dark);\n    margin: 0 0 0.35rem 0;\n  }\n\n  .ap-step-desc {\n    font-size: 13.5px;\n    color: var(--ap-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .ap-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--ap-border);\n  }\n\n  .ap-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--ap-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .ap-grid { grid-template-columns: 1fr; }\n    .ap-mpv-container { padding: 1.5rem 1rem; }\n    .ap-step {\n      flex-direction: column;\n      align-items: center;\n      text-align: center;\n    }\n    .ap-step-number {\n      margin: 0 auto 8px auto;\n    }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card { animation: ap-fadeInUp 0.5s ease backwards; }\n    .ap-card:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step { animation: ap-fadeInUp 0.5s ease backwards; }\n    .ap-step:nth-child(2) { animation-delay: 0.1s; }\n    .ap-step:nth-child(3) { animation-delay: 0.2s; }\n  }\n\n  @keyframes ap-fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":65396918354269,"sku":"AFF-PRE-BISO-02","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-BISOUS-RAYURES.webp?v=1787228815"}],"url":"https:\/\/www.mapetitevie.fr\/collections\/best-sellers.oembed","provider":"Ma petite vie","version":"1.0","type":"link"}