{"title":"Coup de coeurs","description":"","products":[{"product_id":"affiche-decorative-chien-skateur","title":"Affiche – Chien skateur","description":"\u003c!-- ANALYSE MPV\n  Produit : Affiche – Chien skateur\n  Catégorie : AFFICHE (classique, non personnalisée)\n  Palette extraite des visuels : fond pêche rosé (#F5DED0), lilas\/violet doux (#9B8BBE), terracotta brun (#6B3A2A), orange corail vif (#E5542C), crème chaud\n  Ambiance : Fun, enfantine, moderne, colorée, pleine de personnalité\n  Préfixe : af\n--\u003e\n\u003cdiv class=\"af-mpv-container\"\u003e\n\u003cdiv class=\"af-hero\"\u003e\n\u003cdiv class=\"af-hero-content\"\u003e\n\u003cdiv class=\"af-badges-top\"\u003e\n\u003cspan class=\"af-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"af-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"af-hero-title\"\u003eAffiche – Chien skateur\u003c\/span\u003e\n\u003cp class=\"af-subtitle\"\u003eUn teckel en casquette sur son skate violet, prêt à apporter une dose de bonne humeur sur vos murs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"af-intro-text\"\u003eIl roule, il swague et il fait sourire tout le monde — sans même avoir de permis. Avec son imprimé léopard, sa casquette lilas et son skate aux roues orange vif, ce petit teckel décomplexé transforme n'importe quel mur en coin de bonne humeur instantanée. Les tons pêche, lilas et terracotta se fondent avec élégance dans les intérieurs contemporains tout en affichant une personnalité bien trempée. Loin des affiches trop sages, cette illustration joue la carte de l'humour graphique avec un vrai sens du détail : la posture du chien, les couleurs, le style vestimentaire — chaque élément est pensé pour provoquer un sourire franc dès le premier regard.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-grid\"\u003e\n\u003cdiv class=\"af-card\"\u003e\n\u003ch3 class=\"af-card-title\"\u003eDes couleurs qui réchauffent\u003c\/h3\u003e\n\u003cp class=\"af-card-desc\"\u003eLa palette pêche, lilas et terracotta a été pensée pour apporter de la chaleur et de la vie à vos espaces. Les teintes restent lumineuses et contemporaines, aussi à l'aise dans une chambre d'enfant que dans un salon ou un bureau.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-card\"\u003e\n\u003ch3 class=\"af-card-title\"\u003eFacile à encadrer, facile à aimer\u003c\/h3\u003e\n\u003cp class=\"af-card-desc\"\u003eDisponible en format horizontal 30x40cm, cette affiche s'intègre parfaitement dans les cadres du commerce. Associez-la à un cadre en bois clair pour sublimer ses tons chauds — ou composez un mur galerie avec d'autres illustrations de la collection.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"af-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"af-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  --af-bg-cream: #FDFBF7;\n  --af-white: #ffffff;\n  --af-primary: #9B8BBE;\n  --af-primary-dark: #5C4A7E;\n  --af-accent-peps: #E5542C;\n  --af-text-main: #2A2A2A;\n  --af-text-muted: #666666;\n  --af-border: #EFEBE4;\n  --af-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --af-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --af-radius: 12px;\n}\n\n.af-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(--af-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--af-text-main);\n  line-height: 1.6;\n}\n\n.af-hero {\n  background: linear-gradient(135deg, var(--af-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--af-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(--af-border);\n}\n\n.af-badges-top { margin-bottom: 1rem; }\n\n.af-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--af-white);\n  border: 1px solid var(--af-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--af-text-main);\n  margin: 0 4px;\n  box-shadow: var(--af-shadow-soft);\n}\n\n.af-hero-title {\n  display: block;\n  color: var(--af-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.af-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--af-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.af-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.af-intro-text {\n  font-size: 13.5px;\n  color: var(--af-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.af-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--af-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.af-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.af-card {\n  background: var(--af-white);\n  border-radius: var(--af-radius);\n  padding: 2rem;\n  box-shadow: var(--af-shadow-soft);\n  border: 1px solid var(--af-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.af-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--af-shadow-hover);\n}\n\n.af-card-title { font-size: 16px; font-weight: 700; color: var(--af-primary-dark); margin-top: 0; margin-bottom: 0.75rem; }\n\n.af-card-desc { font-size: 14px; color: var(--af-text-muted); margin: 0; line-height: 1.5; }\n\n.af-section-final { text-align: center; padding: 1.5rem 0 0 0; border-top: 1px solid var(--af-border); }\n\n.af-final-text { font-style: italic; font-size: 14px; color: var(--af-text-muted); max-width: 550px; margin: 0 auto; }\n\n@media (max-width: 767px) {\n  .af-grid { grid-template-columns: 1fr; }\n  .af-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .af-card { animation: afFadeInUp 0.5s ease backwards; }\n  .af-card:nth-child(2) { animation-delay: 0.1s; }\n}\n\n@keyframes afFadeInUp {\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":62803694911837,"sku":"AFF-CHIE-SKA-01","price":26.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/chien-skate-affiche-cadre-deco-enfant.webp?v=1776064622"},{"product_id":"printemps","title":"Printemps","description":"\u003c!--\n=== ANALYSE CHARTE MA PETITE VIE ===\nCatégorie Produit : FAIRE-PART\nTeintes Douces \u0026 Pep's sélectionnées : \n  - Primaire : #E8A0B4 (rose poudré rayures)\n  - Accent Pep's : #A0243A (rouge cœur-fleur profond)\nPréfixe CSS unique : fp\n--\u003e\n\n\u003cdiv class=\"fp-mpv-container\"\u003e\n\n  \u003c!-- 1. HERO SECTION SOBRE --\u003e\n  \u003cdiv class=\"fp-hero\"\u003e\n    \u003cdiv class=\"fp-hero-content\"\u003e\n      \u003cdiv class=\"fp-badges-top\"\u003e\n        \u003cspan class=\"fp-badge\"\u003ePensé en France\u003c\/span\u003e\n        \u003cspan class=\"fp-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cspan class=\"fp-hero-title\"\u003eFaire-part Printemps\u003c\/span\u003e\n      \u003cp class=\"fp-subtitle\"\u003eDes petites fleurs-cœurs, des rayures douces et le prénom de votre bébé en pleine lumière.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- 2. SECTION HISTOIRE \u0026 ATTRIBUTS PRINCIPAUX --\u003e\n  \u003cdiv class=\"fp-section-intro\"\u003e\n    \u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n    \u003cp class=\"fp-intro-text\"\u003eAnnoncer la venue au monde de votre bébé, c'est un moment suspendu qu'on veut rendre aussi joyeux que l'émotion qu'il porte. Le faire-part Printemps est né de cette envie : créer une annonce de naissance qui ressemble à une petite affiche illustrée que l'on a envie de garder, d'encadrer, de poser sur une étagère bien après le dernier envoi. Ses rayures roses et crème, ponctuées de fleurs-cœurs rouges aux tiges vert tendre, composent un motif frais et résolument moderne. Le prénom de votre enfant et sa date de naissance prennent toute la place au centre du design, dans une typographie chaleureuse qui mêle caractère et tendresse. C'est un faire-part que vos proches reconnaîtront entre mille — parce qu'il ne ressemble qu'à vous.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- 3. GRILLE DE POINTS FORTS --\u003e\n  \u003cdiv class=\"fp-grid\"\u003e\n    \u003cdiv class=\"fp-card\"\u003e\n      \u003ch3 class=\"fp-card-title\"\u003eUn motif qu'on encadre\u003c\/h3\u003e\n      \u003cp class=\"fp-card-desc\"\u003ePensé comme une véritable illustration, ce faire-part trouve naturellement sa place dans un cadre une fois l'annonce envoyée. Un souvenir des premiers jours, posé dans la chambre de bébé pour longtemps.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"fp-card\"\u003e\n      \u003ch3 class=\"fp-card-title\"\u003eImprimé avec soin\u003c\/h3\u003e\n      \u003cp class=\"fp-card-desc\"\u003eUn papier premium au toucher délicat et des couleurs fidèles au design original. Chaque détail compte, de la fleur-cœur la plus discrète au grain du papier entre vos doigts.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- 4. MESSAGE DE FIN --\u003e\n  \u003csection class=\"fp-section-final\" style=\"margin-bottom:0px!important; padding-bottom:0px!important;\"\u003e\n    \u003cp class=\"fp-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\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  :root {\n    --fp-bg-cream: #FDFBF7;\n    --fp-white: #ffffff;\n    --fp-primary: #E8A0B4;\n    --fp-primary-dark: #A0243A;\n    --fp-accent-peps: #C7384F;\n    --fp-text-main: #2A2A2A;\n    --fp-text-muted: #666666;\n    --fp-border: #EFEBE4;\n    --fp-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --fp-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --fp-radius: 12px;\n  }\n\n  .fp-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(--fp-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--fp-text-main);\n    line-height: 1.6;\n  }\n\n  .fp-hero {\n    background: linear-gradient(135deg, var(--fp-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--fp-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(--fp-border);\n  }\n\n  .fp-badges-top { margin-bottom: 1rem; }\n\n  .fp-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--fp-white);\n    border: 1px solid var(--fp-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--fp-text-main);\n    margin: 0 4px;\n    box-shadow: var(--fp-shadow-soft);\n  }\n\n  .fp-hero-title {\n    display: block;\n    color: var(--fp-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  .fp-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--fp-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .fp-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .fp-intro-text {\n    font-size: 13.5px;\n    color: var(--fp-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .fp-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--fp-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .fp-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  .fp-card {\n    background: var(--fp-white);\n    border-radius: var(--fp-radius);\n    padding: 2rem;\n    box-shadow: var(--fp-shadow-soft);\n    border: 1px solid var(--fp-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .fp-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--fp-shadow-hover);\n  }\n\n  .fp-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--fp-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .fp-card-desc {\n    font-size: 14px;\n    color: var(--fp-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .fp-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--fp-border);\n  }\n\n  .fp-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--fp-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .fp-grid { grid-template-columns: 1fr; }\n    .fp-mpv-container { padding: 1.5rem 1rem; }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .fp-card { animation: fpFadeInUp 0.5s ease backwards; }\n    .fp-card:nth-child(2) { animation-delay: 0.1s; }\n  }\n\n  @keyframes fpFadeInUp {\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":"Classique \/ Sans \/ 25","offer_id":63468621922653,"sku":null,"price":62.5,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Sans \/ 50","offer_id":63233561952605,"sku":"FP-PRIN-01","price":115.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Sans \/ 70","offer_id":63233561985373,"sku":"FP-PRIN-01","price":133.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Sans \/ 100","offer_id":63233562018141,"sku":"FP-PRIN-01","price":170.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Sans \/ 130","offer_id":63233562050909,"sku":"FP-PRIN-01","price":214.5,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Sans \/ 160","offer_id":63233562083677,"sku":"FP-PRIN-01","price":256.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Sans \/ 200","offer_id":63233562116445,"sku":"FP-PRIN-01","price":300.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 25","offer_id":63468621955421,"sku":null,"price":68.75,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 50","offer_id":63233562214749,"sku":"FP-PRIN-01","price":127.5,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 70","offer_id":63233562247517,"sku":"FP-PRIN-01","price":150.5,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 100","offer_id":63233562280285,"sku":"FP-PRIN-01","price":195.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 130","offer_id":63233562313053,"sku":"FP-PRIN-01","price":247.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 160","offer_id":63233562345821,"sku":"FP-PRIN-01","price":296.0,"currency_code":"EUR","in_stock":true},{"title":"Classique \/ Avec (+0.25€ \/ unité) \/ 200","offer_id":63233562378589,"sku":"FP-PRIN-01","price":350.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 25","offer_id":63233562444125,"sku":"FP-PRIN-02","price":90.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 50","offer_id":63233562476893,"sku":"FP-PRIN-02","price":170.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 70","offer_id":63233562509661,"sku":"FP-PRIN-02","price":210.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 100","offer_id":63233562542429,"sku":"FP-PRIN-02","price":280.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 130","offer_id":63233562575197,"sku":"FP-PRIN-02","price":357.5,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 160","offer_id":63233562607965,"sku":"FP-PRIN-02","price":432.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Sans \/ 200","offer_id":63233562640733,"sku":"FP-PRIN-02","price":520.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 25","offer_id":63233562706269,"sku":"FP-PRIN-02","price":96.25,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 50","offer_id":63233562739037,"sku":"FP-PRIN-02","price":182.5,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 70","offer_id":63233562771805,"sku":"FP-PRIN-02","price":227.5,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 100","offer_id":63233562804573,"sku":"FP-PRIN-02","price":305.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 130","offer_id":63233562837341,"sku":"FP-PRIN-02","price":390.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 160","offer_id":63233562870109,"sku":"FP-PRIN-02","price":472.0,"currency_code":"EUR","in_stock":true},{"title":"Classique coins arrondis  (+1.10€ \/ unité) \/ Avec (+0.25€ \/ unité) \/ 200","offer_id":63233562902877,"sku":"FP-PRIN-02","price":570.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 25","offer_id":63468621988189,"sku":null,"price":90.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 50","offer_id":63233563001181,"sku":"FP-PRIN-03","price":115.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 70","offer_id":63233563033949,"sku":"FP-PRIN-03","price":133.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 100","offer_id":63233563066717,"sku":"FP-PRIN-03","price":170.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 130","offer_id":63233563099485,"sku":"FP-PRIN-03","price":214.5,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 160","offer_id":63233563132253,"sku":"FP-PRIN-03","price":256.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Sans \/ 200","offer_id":63233563165021,"sku":"FP-PRIN-03","price":300.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 25","offer_id":63468622020957,"sku":null,"price":68.75,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 50","offer_id":63233563263325,"sku":"FP-PRIN-03","price":127.5,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 70","offer_id":63233563296093,"sku":"FP-PRIN-03","price":150.5,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 100","offer_id":63233563328861,"sku":"FP-PRIN-03","price":195.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 130","offer_id":63233563361629,"sku":"FP-PRIN-03","price":247.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 160","offer_id":63233563394397,"sku":"FP-PRIN-03","price":296.0,"currency_code":"EUR","in_stock":true},{"title":"Carré \/ Avec (+0.25€ \/ unité) \/ 200","offer_id":63233563427165,"sku":"FP-PRIN-03","price":350.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/FAIRE-PART-PRINTEMPS-RECTO.webp?v=1769703553"},{"product_id":"grande-affiche-peace-love","title":"Grande affiche – Peace \u0026 love","description":"\u003c!--\n=== ANALYSE CHARTE MA PETITE VIE ===\nCatégorie Produit : AFFICHE\nTeintes Douces \u0026 Pep's sélectionnées : \n  - Primaire : #3A7D5C (vert sauge profond inspiré du fond colombes)\n  - Accent Pep's : #E8473F (rouge corail vif des rayures et fleur)\nPréfixe CSS unique : af\n--\u003e\n\n\u003cdiv class=\"af-mpv-container\"\u003e\n\n  \u003c!-- 1. HERO SECTION SOBRE --\u003e\n  \u003cdiv class=\"af-hero\"\u003e\n    \u003cdiv class=\"af-hero-content\"\u003e\n      \u003cdiv class=\"af-badges-top\"\u003e\n        \u003cspan class=\"af-badge\"\u003ePensé en France\u003c\/span\u003e\n        \u003cspan class=\"af-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cspan class=\"af-hero-title\"\u003eGrande affiche – Peace \u0026amp; love\u003c\/span\u003e\n      \u003cp class=\"af-subtitle\"\u003eSix vignettes joyeuses, un seul message : la paix, l'amour et des couleurs plein les murs.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- 2. SECTION HISTOIRE \u0026 ATTRIBUTS PRINCIPAUX --\u003e\n  \u003cdiv class=\"af-section-intro\"\u003e\n    \u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n    \u003cp class=\"af-intro-text\"\u003eIl y a des affiches qui changent une pièce en moins de deux. Celle-ci en fait partie. Avec son allure de patchwork graphique aux couleurs franches, elle réunit six illustrations tendres et lumineuses : un soleil au cœur généreux, deux colombes paisibles, un petit chien espiègle, un cheval libre, une fleur pop éclatante et le fameux message \"Peace \u0026amp; Love\" sur fond rayé lilas et rouge. Imaginée pour les intérieurs qui aiment la vie, elle mêle l'esprit rétro des années 70 à une fraîcheur très contemporaine. Posée dans une chambre d'enfant, accrochée dans un salon ou simplement appuyée contre un mur de cuisine, elle apporte cette énergie douce et joyeuse qu'on aime retrouver chaque matin en ouvrant les yeux.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- 3. GRILLE DE POINTS FORTS --\u003e\n  \u003cdiv class=\"af-grid\"\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003eDes couleurs qui éclatent\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eRouge corail, vert profond, lilas doux, crème lumineux : la palette a été pensée pour rester fidèle et vibrante dans le temps, avec une impression soignée qui restitue toute la richesse de l'illustration originale.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003eUn grand format qui s'impose\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eConçue pour prendre toute la place qu'elle mérite sur un mur, cette affiche au format portrait se glisse facilement dans un cadre standard. Seule ou accompagnée d'autres créations, elle structure et habille n'importe quel espace.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- 4. MESSAGE DE FIN --\u003e\n  \u003csection class=\"af-section-final\" style=\"margin-bottom:0px!important; padding-bottom:0px!important;\"\u003e\n    \u003cp class=\"af-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\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n:root {\n  --af-bg-cream: #FDFBF7;\n  --af-white: #ffffff;\n  --af-primary: #3A7D5C;\n  --af-primary-dark: #2C5E45;\n  --af-accent-peps: #E8473F;\n  --af-text-main: #2A2A2A;\n  --af-text-muted: #666666;\n  --af-border: #EFEBE4;\n  --af-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --af-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --af-radius: 12px;\n}\n\n.af-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(--af-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--af-text-main);\n  line-height: 1.6;\n}\n\n.af-hero {\n  background: linear-gradient(135deg, var(--af-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--af-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(--af-border);\n}\n\n.af-badges-top { margin-bottom: 1rem; }\n\n.af-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--af-white);\n  border: 1px solid var(--af-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--af-text-main);\n  margin: 0 4px;\n  box-shadow: var(--af-shadow-soft);\n}\n\n.af-hero-title {\n  display: block;\n  color: var(--af-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.af-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--af-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.af-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.af-intro-text {\n  font-size: 13.5px;\n  color: var(--af-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.af-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--af-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.af-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.af-card {\n  background: var(--af-white);\n  border-radius: var(--af-radius);\n  padding: 2rem;\n  box-shadow: var(--af-shadow-soft);\n  border: 1px solid var(--af-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.af-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--af-shadow-hover);\n}\n\n.af-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--af-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.af-card-desc {\n  font-size: 14px;\n  color: var(--af-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.af-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--af-border);\n}\n\n.af-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--af-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .af-grid { grid-template-columns: 1fr; }\n  .af-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .af-card { animation: af-fadeInUp 0.5s ease backwards; }\n  .af-card:nth-child(2) { animation-delay: 0.1s; }\n}\n\n@keyframes af-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":63268006953309,"sku":"GAF-PEACELOVE","price":32.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/GRANDE-AFFICHE-PEACE-KIDS_5576d835-15a6-4175-a0f7-8a28bef7fa33.webp?v=1775217102"},{"product_id":"affiche-soleil-de-ma-vie","title":"Affiche – Soleil de ma vie","description":"\u003c!-- ANALYSE : \n  - Type : AFFICHE (classique)\n  - Palette : Ocre doré chaud (#D4A032), rouge cœur vif (#E04A2F), fond crème ivoire (#FDFBF7)\n  - Ambiance : Solaire, poétique, chaleureuse, folk moderne, déclaration d'amour lumineuse\n  - Préfixe : af\n--\u003e\n\n\u003cdiv class=\"af-mpv-container\"\u003e\n\n  \u003cdiv class=\"af-hero\"\u003e\n    \u003cdiv class=\"af-hero-content\"\u003e\n      \u003cdiv class=\"af-badges-top\"\u003e\n        \u003cspan class=\"af-badge\"\u003ePensé en France\u003c\/span\u003e\n        \u003cspan class=\"af-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cspan class=\"af-hero-title\"\u003eAffiche – Soleil de ma vie\u003c\/span\u003e\n      \u003cp class=\"af-subtitle\"\u003eDeux soleils dorés, deux cœurs battants et un message qui réchauffe chaque matin en passant devant.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"af-section-intro\"\u003e\n    \u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n    \u003cp class=\"af-intro-text\"\u003eIl y a des mots qu'on murmure et qui réchauffent instantanément. « Soleil de ma vie » en fait partie. Cette affiche capture exactement ce sentiment : cet amour lumineux et débordant qu'on porte à ceux qui illuminent nos journées. Deux soleils aux rayons expressifs, tracés à la main dans un ocre doré généreux, entourent chacun un cœur rouge vif. Entre les deux, une typographie cursive pleine de douceur vient poser les mots sur l'émotion. Le fond crème ivoire apaise l'ensemble et laisse toute la place à la chaleur de l'illustration. Inspirée de l'univers folk et rétro, cette composition s'intègre avec la même évidence dans une chambre d'enfant, un salon bohème ou une entrée lumineuse — partout où l'on a envie de commencer la journée avec un sourire.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"af-grid\"\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003e✨ Des couleurs qui illuminent un mur\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eOr chaud, rouge cerise et fond ivoire : une palette solaire et douce qui s'harmonise aussi bien avec une déco scandinave, bohème ou moderne. Les teintes restent fidèles et vibrantes grâce à une impression soignée sur papier épais à finition mate, sans reflet.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003e🖼️ Facile à encadrer, facile à aimer\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eSon format vertical standard se glisse dans n'importe quel cadre du commerce — bois naturel pour accentuer la chaleur, métal doré pour le côté solaire, ou blanc tout simple pour laisser l'illustration parler. Elle se marie aussi parfaitement en mur galerie avec d'autres créations Ma petite vie.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"af-section-final\" style=\"margin-bottom:0px!important; padding-bottom:0px!important;\"\u003e\n    \u003cp class=\"af-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\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  :root {\n    --af-bg-cream: #FDFBF7;\n    --af-white: #ffffff;\n    --af-primary: #D4A032;\n    --af-primary-dark: #9A6B1A;\n    --af-accent-peps: #E04A2F;\n    --af-text-main: #2A2A2A;\n    --af-text-muted: #666666;\n    --af-border: #EFEBE4;\n    --af-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --af-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --af-radius: 12px;\n  }\n\n  .af-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(--af-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--af-text-main);\n    line-height: 1.6;\n  }\n\n  .af-hero {\n    background: linear-gradient(135deg, var(--af-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--af-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(--af-border);\n  }\n\n  .af-badges-top { margin-bottom: 1rem; }\n\n  .af-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--af-white);\n    border: 1px solid var(--af-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--af-text-main);\n    margin: 0 4px;\n    box-shadow: var(--af-shadow-soft);\n  }\n\n  .af-hero-title {\n    display: block;\n    color: var(--af-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  .af-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--af-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .af-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .af-intro-text {\n    font-size: 13.5px;\n    color: var(--af-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .af-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--af-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .af-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  .af-card {\n    background: var(--af-white);\n    border-radius: var(--af-radius);\n    padding: 2rem;\n    box-shadow: var(--af-shadow-soft);\n    border: 1px solid var(--af-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .af-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--af-shadow-hover);\n  }\n\n  .af-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--af-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .af-card-desc {\n    font-size: 14px;\n    color: var(--af-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .af-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--af-border);\n  }\n\n  .af-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--af-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .af-grid { grid-template-columns: 1fr; }\n    .af-mpv-container { padding: 1.5rem 1rem; }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .af-card { animation: af-fadeInUp 0.5s ease backwards; }\n    .af-card:nth-child(2) { animation-delay: 0.1s; }\n  }\n\n  @keyframes af-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":63958994321757,"sku":"AFF-SOL-01","price":26.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-SOLEILDEMAVIE-30X40-CADRE.webp?v=1774279010"},{"product_id":"affiche-summer-mood","title":"Affiche – À la plage","description":"\u003c!-- ANALYSE :\n- Type : AFFICHE (classique, non personnalisée)\n- Palette : terracotta\/rouge brique (#A0362B), bleu ciel doux (#7BA3C9), ocre doré (#E8B84B)\n- Ambiance : été méditerranéen, joyeux, matissien, motifs géométriques losanges, étoile de mer, oiseau, soleil\n- Préfixe : af\n--\u003e\n\n\u003cdiv class=\"af-mpv-container\"\u003e\n\n  \u003cdiv class=\"af-hero\"\u003e\n    \u003cdiv class=\"af-hero-content\"\u003e\n      \u003cdiv class=\"af-badges-top\"\u003e\n        \u003cspan class=\"af-badge\"\u003ePensé en France\u003c\/span\u003e\n        \u003cspan class=\"af-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cspan class=\"af-hero-title\"\u003eAffiche – À la plage\u003c\/span\u003e\n      \u003cp class=\"af-subtitle\"\u003eUn petit bout de Méditerranée à accrocher chez soi, pour garder le soleil toute l'année.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"af-section-intro\"\u003e\n    \u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n    \u003cp class=\"af-intro-text\"\u003eUne étoile de mer, un oiseau en plein vol, un soleil radieux et cette inscription manuscrite « summer mood » : l'affiche À la plage capture l'insouciance des journées d'été en quelques formes découpées, presque matissiennes. Encadrée par une frise de losanges terracotta et de petits points bleu ciel, elle transforme n'importe quel mur en fenêtre ouverte sur la côte. Posée dans un cadre en bois naturel au salon, dans une chambre d'enfant ou même dans l'entrée, elle diffuse instantanément une énergie lumineuse, joyeuse et apaisante — comme la promesse d'un été sans fin.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"af-grid\"\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003e☀️ Des couleurs qui réchauffent\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eTerracotta profond, bleu ciel, ocre doré : la palette de cette affiche s'inspire directement des rivages méditerranéens. Les teintes restent vives sans jamais agresser l'œil, pour un rendu lumineux et intemporel qui s'intègre à tous les intérieurs.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003e✨ Un style à encadrer sans hésiter\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eDisponible en format standard, cette affiche se glisse facilement dans le cadre de votre choix. Imprimée sur un papier de qualité aux couleurs fidèles, elle est pensée pour durer et embellir votre quotidien saison après saison.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"af-section-final\" style=\"margin-bottom:0px!important; padding-bottom:0px!important;\"\u003e\n    \u003cp class=\"af-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\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n:root {\n  --af-bg-cream: #FDFBF7;\n  --af-white: #ffffff;\n  --af-primary: #7BA3C9;\n  --af-primary-dark: #A0362B;\n  --af-accent-peps: #E8B84B;\n  --af-text-main: #2A2A2A;\n  --af-text-muted: #666666;\n  --af-border: #EFEBE4;\n  --af-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n  --af-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n  --af-radius: 12px;\n}\n\n.af-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(--af-bg-cream);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n  color: var(--af-text-main);\n  line-height: 1.6;\n}\n\n.af-hero {\n  background: linear-gradient(135deg, var(--af-bg-cream) 0%, #F6F1E7 100%);\n  border-radius: var(--af-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(--af-border);\n}\n\n.af-badges-top { margin-bottom: 1rem; }\n\n.af-badge {\n  display: inline-flex;\n  padding: 6px 14px;\n  background: var(--af-white);\n  border: 1px solid var(--af-border);\n  border-radius: 999px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--af-text-main);\n  margin: 0 4px;\n  box-shadow: var(--af-shadow-soft);\n}\n\n.af-hero-title {\n  display: block;\n  color: var(--af-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.af-subtitle {\n  font-size: clamp(15px, 2vw, 18px);\n  color: var(--af-text-muted);\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.af-section-intro {\n  text-align: center;\n  max-width: 850px;\n  margin: 0 auto 3rem auto;\n}\n\n.af-intro-text {\n  font-size: 13.5px;\n  color: var(--af-text-main);\n  letter-spacing: 0.01em;\n  line-height: 1.5;\n}\n\n.af-mpv-container h2 {\n  font-size: clamp(20px, 3.5vw, 26px);\n  font-weight: 700;\n  color: var(--af-primary-dark);\n  margin-bottom: 1.5rem;\n  text-align: center;\n  letter-spacing: -0.01em;\n}\n\n.af-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.af-card {\n  background: var(--af-white);\n  border-radius: var(--af-radius);\n  padding: 2rem;\n  box-shadow: var(--af-shadow-soft);\n  border: 1px solid var(--af-border);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.af-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--af-shadow-hover);\n}\n\n.af-card-title {\n  font-size: 16px;\n  font-weight: 700;\n  color: var(--af-primary-dark);\n  margin-top: 0;\n  margin-bottom: 0.75rem;\n}\n\n.af-card-desc {\n  font-size: 14px;\n  color: var(--af-text-muted);\n  margin: 0;\n  line-height: 1.5;\n}\n\n.af-section-final {\n  text-align: center;\n  padding: 1.5rem 0 0 0;\n  border-top: 1px solid var(--af-border);\n}\n\n.af-final-text {\n  font-style: italic;\n  font-size: 14px;\n  color: var(--af-text-muted);\n  max-width: 550px;\n  margin: 0 auto;\n}\n\n@media (max-width: 767px) {\n  .af-grid { grid-template-columns: 1fr; }\n  .af-mpv-container { padding: 1.5rem 1rem; }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .af-card { animation: afFadeInUp 0.5s ease backwards; }\n}\n\n@keyframes afFadeInUp {\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":63959035117917,"sku":"AFF-ALA-01","price":26.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-SUMMER-ZOOM.webp?v=1775216958"},{"product_id":"affiche-blue-love","title":"Affiche – Blue love","description":"\u003c!-- \n  ANALYSE PRODUIT\n  ─────────────────────────────────────────────\n  Produit      : Affiche – Blue love\n  Catégorie    : AFFICHE (classique, non personnalisée)\n  Palette      : Bleu ardoise doux (#5A8FA8), fond crème ivoire (#F0EDDF), accent ocre chaleureux (#D4A054)\n  Ambiance     : Poétique, aérienne, douce, contemporaine – oiseaux en vol, mot \"love\" manuscrit\n  Préfixe CSS  : af\n  ─────────────────────────────────────────────\n--\u003e\n\n\u003cdiv class=\"af-mpv-container\"\u003e\n\n  \u003cdiv class=\"af-hero\"\u003e\n    \u003cdiv class=\"af-hero-content\"\u003e\n      \u003cdiv class=\"af-badges-top\"\u003e\n        \u003cspan class=\"af-badge\"\u003ePensé en France\u003c\/span\u003e\n        \u003cspan class=\"af-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cspan class=\"af-hero-title\"\u003eAffiche – Blue love\u003c\/span\u003e\n      \u003cp class=\"af-subtitle\"\u003eUn envol d'oiseaux bleus et un mot murmuré pour habiller vos murs de douceur et de liberté.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"af-section-intro\"\u003e\n    \u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n    \u003cp class=\"af-intro-text\"\u003eIl y a des affiches qu'on accroche pour meubler un mur. Et puis il y a celles qu'on choisit parce qu'elles racontent quelque chose — une émotion, un élan, une douceur qu'on a envie de retrouver chaque matin. Blue love fait partie de cette deuxième famille. Ses silhouettes d'oiseaux bleutés en plein envol, posées sur un fond crème apaisant, évoquent la liberté, la légèreté et cet amour tout simple qu'on ressent pour les êtres qui comptent. Le mot \u003cem\u003elove\u003c\/em\u003e, glissé en écriture cursive au cœur de la composition, agit comme un murmure — discret, mais toujours présent. Rien n'est crié, tout est ressenti.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"af-grid\"\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003e✨ Des couleurs qui durent\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eLe bleu profond et doux de Blue love est restitué avec une fidélité remarquable grâce à une impression soignée sur papier mat épais. Les teintes restent stables dans le temps, sans reflet gênant, pour un rendu qui s'apprécie au quotidien comme au premier jour.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"af-card\"\u003e\n      \u003ch3 class=\"af-card-title\"\u003e🕊️ Une affiche qui s'adapte partout\u003c\/h3\u003e\n      \u003cp class=\"af-card-desc\"\u003eChambre de bébé, salon, bureau ou même cuisine : la palette bleu doux sur fond ivoire s'intègre naturellement dans tous les intérieurs. En solo ou dans une galerie murale, Blue love apporte une touche d'art accessible sans jamais surcharger l'espace.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"af-section-final\" style=\"margin-bottom:0px!important; padding-bottom:0px!important;\"\u003e\n    \u003cp class=\"af-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\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  :root {\n    --af-bg-cream: #FDFBF7;\n    --af-white: #ffffff;\n    --af-primary: #5A8FA8;\n    --af-primary-dark: #3A6B85;\n    --af-accent-peps: #D4A054;\n    --af-text-main: #2A2A2A;\n    --af-text-muted: #666666;\n    --af-border: #EFEBE4;\n    --af-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --af-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --af-radius: 12px;\n  }\n\n  .af-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(--af-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--af-text-main);\n    line-height: 1.6;\n  }\n\n  .af-hero {\n    background: linear-gradient(135deg, var(--af-bg-cream) 0%, #EDF3F7 100%);\n    border-radius: var(--af-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(--af-border);\n  }\n\n  .af-badges-top {\n    margin-bottom: 1rem;\n  }\n\n  .af-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--af-white);\n    border: 1px solid var(--af-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--af-text-main);\n    margin: 0 4px;\n    box-shadow: var(--af-shadow-soft);\n  }\n\n  .af-hero-title {\n    display: block;\n    color: var(--af-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  .af-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--af-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .af-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .af-intro-text {\n    font-size: 13.5px;\n    color: var(--af-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .af-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--af-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .af-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  .af-card {\n    background: var(--af-white);\n    border-radius: var(--af-radius);\n    padding: 2rem;\n    box-shadow: var(--af-shadow-soft);\n    border: 1px solid var(--af-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .af-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--af-shadow-hover);\n  }\n\n  .af-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--af-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .af-card-desc {\n    font-size: 14px;\n    color: var(--af-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .af-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--af-border);\n  }\n\n  .af-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--af-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .af-grid {\n      grid-template-columns: 1fr;\n    }\n    .af-mpv-container {\n      padding: 1.5rem 1rem;\n    }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .af-card {\n      animation: af-fadeInUp 0.5s ease backwards;\n    }\n    .af-card:nth-child(2) {\n      animation-delay: 0.1s;\n    }\n  }\n\n  @keyframes af-fadeInUp {\n    from {\n      opacity: 0;\n      transform: translateY(20px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63959128277341,"sku":"AFF-BLU-01","price":26.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-BLUELOVE-30X40-CADRE.webp?v=1774280245"},{"product_id":"affiche-prenom-fleurs-jaunes","title":"Affiche Prénom - Fleurs jaunes","description":"\u003c!-- ANALYSE : Affiche Personnalisée | Palette : bordeaux profond #8B1A3A, jaune doux\/ocre #E8B84B, bleu lavande #8CAAC0 | Ambiance : florale vintage, joyeuse, chaleureuse, enfantine et moderne | Prefix : ap --\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 — Fleurs jaunes\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eDe grandes fleurs généreuses, un prénom qui s'épanouit au milieu : votre mur ne sera plus jamais ordinaire.\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 parce qu'il faut bien habiller un mur. Et puis il y a celles qu'on choisit parce qu'elles racontent quelque chose. L'affiche prénom Fleurs Jaunes, c'est un peu ça : une explosion de couleurs vintage, des grandes fleurs abstraites aux pétales généreux sur un fond bordeaux profond, rehaussées de touches bleu lavande. Et au cœur de tout ça, le prénom de votre enfant, glissé comme une évidence. Inspirée des motifs botaniques des années 70, entre énergie graphique et douceur poétique, cette création illumine les chambres d'enfants sans jamais agresser l'œil. Un équilibre chromatique rare, pensé pour durer.\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\u003ch3 class=\"ap-step-title\"\u003eRenseignez vos options personnalisées\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003eChoisissez votre format, indiquez le prénom souhaité et sélectionnez le mode de livraison qui vous convient.\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 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 floral plein de caractère\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eDe grandes fleurs abstraites aux pétales arrondis se déploient sur un fond bordeaux profond. Le jaune doux et le bleu lavande créent un contraste chaleureux, entre énergie rétro et douceur contemporaine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e✨ Un prénom qui lui appartient\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eLe prénom de votre enfant est intégré directement au cœur de l'illustration, dans une typographie arrondie assortie au design. Une pièce unique qui transforme un simple mur en espace personnel.\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: #8B1A3A;\n    --ap-primary-dark: #6E1530;\n    --ap-accent-peps: #E8B84B;\n    --ap-accent-lavande: #8CAAC0;\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-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: 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    min-width: 38px;\n    height: 38px;\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: 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 {\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-num {\n      margin-bottom: 0.25rem;\n    }\n    .ap-badge {\n      margin-bottom: 6px;\n    }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .ap-card {\n      animation: apFadeInUp 0.5s ease backwards;\n    }\n    .ap-card:nth-child(2) {\n      animation-delay: 0.1s;\n    }\n    .ap-step {\n      animation: apFadeInUp 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 apFadeInUp {\n    from {\n      opacity: 0;\n      transform: translateY(20px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\u003c\/style\u003e","brand":"Ma Petite Vie","offers":[{"title":"Default Title","offer_id":63959353688413,"sku":"AFF-PRE-FLEU-02","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-FLEURS.webp?v=1775553477"},{"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-a-la-plage","title":"Affiche Prénom - À la plage","description":"\u003c!-- ANALYSE : \n  - Type : AFFICHE PERSONNALISÉE (prénom + date de naissance personnalisables)\n  - Palette extraite des visuels : terracotta\/rouge brique (#B5382A), bleu azur doux (#7BAFD4), ocre doré (#E8B94A), bordeaux profond (#6B2039), fond crème (#FDF6EA)\n  - Ambiance : Folk balnéaire, solaire, joyeuse, graphique et chaleureuse\n  - 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 — À la plage\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eUne étoile de mer, une colombe, du soleil et surtout… le prénom de votre enfant, au cœur de tout.\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\"\u003eBordure à losanges folk, silhouettes solaires aux couleurs terracotta, bleu azur et ocre doré : l'affiche À la plage capture l'insouciance d'un été au bord de l'eau et la transforme en souvenir mural. Le prénom et la date de naissance de votre enfant s'inscrivent en grand au centre de la composition, comme une déclaration joyeuse. Graphique, chaleureuse et loin des pastels convenus, elle apporte du caractère à la chambre dès le premier jour — et ne se démodera pas quand votre enfant grandira.\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 univers folk \u0026amp; solaire\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eDes couleurs chaudes et franches, des formes épurées inspirées de l'artisanat balnéaire : cette affiche s'intègre aussi bien dans une chambre bohème que dans un intérieur contemporain ou coloré.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e💌 Le cadeau qui touche vraiment\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eNaissance, baptême, baby shower ou premier anniversaire : offrir une affiche qui porte le prénom de l'enfant, c'est offrir un objet unique qu'on garde précieusement, bien au-delà du berceau.\u003c\/p\u003e\n\u003c\/div\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-list\"\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 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\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 papier premium, puis expédiée bien protégée 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\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: #7BAFD4;\n  --ap-primary-dark: #6B2039;\n  --ap-accent-peps: #B5382A;\n  --ap-accent-gold: #E8B94A;\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-steps {\n  max-width: 700px;\n  margin: 0 auto 3.5rem auto;\n}\n\n.ap-steps-list {\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  background: var(--ap-accent-peps);\n  color: var(--ap-white);\n  border-radius: 50%;\n  font-weight: 700;\n  font-size: 15px;\n  flex-shrink: 0;\n  line-height: 1;\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    padding: 1.25rem 1.25rem;\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(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":63965226303837,"sku":"AFF-PRE-ALAP-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-LAPLAGE-30X40-CADRE.webp?v=1774340505"},{"product_id":"affiche-prenom-rayures-rouges","title":"Affiche Prénom - Rayures rouges","description":"\u003c!-- ANALYSE MPV\n1. Type : AFFICHE PERSONNALISÉE (prénom + date de naissance personnalisables)\n2. Palette : Rayures rouge profond \/ bordeaux (#A31D1D), bleu ciel doux (#9EC6E0), crème chaud (#F2ECDA) — ambiance rétro-moderne, joyeuse, graphique\n3. Ambiance : Enfantine mais design, motif iconique rayé, esprit bord de mer vintage mêlé à une touche contemporaine et colorée\n4. Prefix : ap\n--\u003e\n\n\u003cdiv class=\"ap-mpv-container\"\u003e\n\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\n        \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 — Rayures rouges\u003c\/span\u003e\n      \u003cp class=\"ap-subtitle\"\u003eDes rayures franches, un prénom qui claque : la chambre de votre enfant n'attendait que ça.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ap-section-intro\"\u003e\n    \u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n    \u003cp class=\"ap-intro-text\"\u003eUn jeu de rayures rouge profond et bleu ciel, un cartouche crème au centre : cette affiche personnalisée capture l'énergie joyeuse de l'enfance dans un design graphique et intemporel. Inspirée des cabines de plage et des univers rétro-modernes, elle accueille le prénom et la date de naissance de votre enfant pour transformer un simple mur en déclaration d'amour. Imprimée sur un papier épais aux couleurs éclatantes, elle trouve sa place aussi bien dans une chambre de bébé que dans un salon familial plein de vie.\u003c\/p\u003e\n  \u003c\/div\u003e\n\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\"\u003eIndiquez le prénom et la date de naissance de votre enfant directement dans les champs prévus à cet effet.\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 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        \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 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  \u003c\/div\u003e\n\n  \u003cdiv class=\"ap-grid\"\u003e\n    \u003cdiv class=\"ap-card\"\u003e\n      \u003ch3 class=\"ap-card-title\"\u003e✨ Un motif iconique et joyeux\u003c\/h3\u003e\n      \u003cp class=\"ap-card-desc\"\u003eLes larges rayures rouge et bleu ciel apportent une énergie graphique immédiate. Un design audacieux qui reste doux, pensé pour accompagner votre enfant au fil des 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🎨 Des couleurs qui réchauffent la pièce\u003c\/h3\u003e\n      \u003cp class=\"ap-card-desc\"\u003eLe contraste entre le rouge profond et le bleu ciel crée une harmonie chaleureuse et moderne. Associée à un cadre en bois clair, cette affiche illumine n'importe quel intérieur avec personnalité.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\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\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n:root {\n  --ap-bg-cream: #FDFBF7;\n  --ap-white: #ffffff;\n  --ap-primary: #9EC6E0;\n  --ap-primary-dark: #7B1A1A;\n  --ap-accent-peps: #A31D1D;\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}\n\n.ap-step-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-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  flex-shrink: 0;\n  margin-top: 2px;\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 { 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(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":63965240197469,"sku":"AFF-PRE-RAYU-02","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-PRENOM-RAYURESROUGES-30X40-CADRE.webp?v=1774340686"},{"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-dessin-a-personnaliser","title":"Affiche Dessin d'enfant à personnaliser","description":"\u003c!-- ANALYSE :\n  - Type : AFFICHE PERSONNALISÉE (dessin d'enfant retravaillé, personnalisation du texte et du visuel)\n  - Palette : Beige crème chaud (fond des affiches), noir encre (dessins), touche ocre\/miel douce\n  - Ambiance : Enfantine, poétique, émouvante, minimaliste, familiale\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 dessin d'enfant à personnaliser\u003c\/span\u003e\n\u003cp class=\"ap-subtitle\"\u003eCe petit bonhomme aux bras trop longs mérite bien un cadre à sa hauteur.\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 dans chaque dessin d'enfant quelque chose d'infiniment précieux : une vision du monde brute, joyeuse, sans filtre. Ces soleils qui sourient, ces familles aux doigts en étoile, ces maisons de traviole — tout cela ne dure qu'un temps. Cette affiche personnalisée transforme le coup de crayon de votre enfant en une œuvre graphique épurée, imprimée sur un beau papier, prête à s'encadrer et à trôner fièrement dans votre intérieur. Un souvenir qui traverse les années, bien plus parlant qu'une photo oubliée dans un téléphone.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-section-how\"\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\"\u003eEnvoyez-nous le dessin\u003c\/h3\u003e\n\u003cp class=\"ap-step-desc\"\u003ePassez commande puis envoyez-nous une simple photo du dessin par e-mail avec le texte souhaité (prénom, titre, petite phrase…). Notre équipe le retravaille dans un style minimaliste et élégant.\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 puis expédiée sous 5 à 8 jours ouvrés, soigneusement emballée pour arriver en parfait état, prête à être encadrée ou offerte.\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💌 Unique comme leur imagination\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eChaque affiche est créée à partir du vrai dessin de votre enfant — sa main, son trait, sa personnalité. Le dessin brut est retravaillé dans un style graphique épuré, beige et noir, qui s'intègre avec douceur dans tous les intérieurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ap-card\"\u003e\n\u003ch3 class=\"ap-card-title\"\u003e🤍 Le cadeau qui touche vraiment\u003c\/h3\u003e\n\u003cp class=\"ap-card-desc\"\u003eFête des pères, fête des mères, anniversaire, Noël ou simplement pour garder une trace tendre d'une époque qui file trop vite — cette affiche est le cadeau personnalisé qui fait briller les yeux à chaque fois.\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: #C8B68E;\n  --ap-primary-dark: #3A3228;\n  --ap-accent-peps: #D4A24E;\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-how {\n  max-width: 750px;\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  min-width: 38px;\n  height: 38px;\n  background: var(--ap-primary-dark);\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 {\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 { flex-direction: column; align-items: center; text-align: center; }\n  .ap-step-num { margin: 0 auto; }\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":64857030656349,"sku":"AFF-DESS-01","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-DESSIN-ENFANT-PHOTO.webp?v=1780316341"},{"product_id":"affiche-ours-foot","title":"Affiche – Ours foot","description":"\u003c!-- ANALYSE :\n  - Type : AFFICHE (classique, non personnalisée)\n  - Palette extraite des visuels : vert terrain profond (#3D7A4A), beige rosé (#E8D5C4), mauve casquette (#9B8EC4), brun ours (#8B6240), orange crampons (#E05B2B)\n  - Palette \"Pep's \u0026 Douceur\" retenue : vert sauge sportif (#3D7A4A), mauve doux (#9B8EC4), orange pep's (#E05B2B)\n  - Ambiance : sportive mais douce, enfantine, joyeuse, graphique et moderne\n  - Préfixe : af\n--\u003e\n\u003cdiv class=\"af-mpv-container\"\u003e\n\u003cdiv class=\"af-hero\"\u003e\n\u003cdiv class=\"af-hero-content\"\u003e\n\u003cdiv class=\"af-badges-top\"\u003e\n\u003cspan class=\"af-badge\"\u003ePensé en France\u003c\/span\u003e \u003cspan class=\"af-badge\"\u003eIllustration originale par Ma petite vie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"af-hero-title\"\u003eAffiche – Ours foot\u003c\/span\u003e\n\u003cp class=\"af-subtitle\"\u003eUn ourson casquette vissée sur la tête, crampons aux pattes et ballon au pied — prêt à marquer dans le cœur de toute la famille.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-section-intro\"\u003e\n\u003ch2\u003eLa petite histoire\u003c\/h2\u003e\n\u003cp class=\"af-intro-text\"\u003eIl y a des affiches qu'on accroche et d'autres dont on tombe amoureux. Avec son ourson malicieux coiffé d'une casquette mauve, lancé à pleine vitesse sur un terrain d'un vert profond, cette illustration raconte le plaisir du jeu, l'énergie du ballon rond et la joie des après-midis passés à courir dehors. Les couleurs — beige rosé, vert terrain, touches d'orange vif sur les crampons — ont été choisies pour s'intégrer naturellement dans une chambre d'enfant tout en apportant une vraie dose de caractère. C'est une affiche de foot qui sort du lot, intemporelle et graphique, aussi à l'aise au-dessus d'un lit que dans une salle de jeux ou un coin lecture.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-grid\"\u003e\n\u003cdiv class=\"af-card\"\u003e\n\u003ch3 class=\"af-card-title\"\u003eDes couleurs qui tiennent le match\u003c\/h3\u003e\n\u003cp class=\"af-card-desc\"\u003eVert profond, beige rosé, mauve et orange vif composent une palette chaleureuse et dynamique, pensée pour se marier avec le bois naturel, le blanc cassé ou le vert sauge d'une déco enfant.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-card\"\u003e\n\u003ch3 class=\"af-card-title\"\u003eUn personnage qu'on adopte\u003c\/h3\u003e\n\u003cp class=\"af-card-desc\"\u003eNi trop bébé, ni trop réaliste : l'ourson footballeur est dessiné dans un style graphique épuré qui plaît aux enfants comme aux parents et traverse les saisons sans jamais dater.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"af-section-final\" style=\"margin-bottom: 0px!important; padding-bottom: 0px!important;\"\u003e\n\u003cp class=\"af-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    --af-bg-cream: #FDFBF7;\n    --af-white: #ffffff;\n    --af-primary: #3D7A4A;\n    --af-primary-dark: #2E5E38;\n    --af-accent-peps: #E05B2B;\n    --af-text-main: #2A2A2A;\n    --af-text-muted: #666666;\n    --af-border: #EFEBE4;\n    --af-shadow-soft: 0 4px 20px rgba(42, 42, 42, 0.04);\n    --af-shadow-hover: 0 10px 30px rgba(42, 42, 42, 0.08);\n    --af-radius: 12px;\n  }\n\n  .af-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(--af-bg-cream);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    color: var(--af-text-main);\n    line-height: 1.6;\n  }\n\n  .af-hero {\n    background: linear-gradient(135deg, var(--af-bg-cream) 0%, #F6F1E7 100%);\n    border-radius: var(--af-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(--af-border);\n  }\n\n  .af-badges-top { margin-bottom: 1rem; }\n\n  .af-badge {\n    display: inline-flex;\n    padding: 6px 14px;\n    background: var(--af-white);\n    border: 1px solid var(--af-border);\n    border-radius: 999px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--af-text-main);\n    margin: 0 4px;\n    box-shadow: var(--af-shadow-soft);\n  }\n\n  .af-hero-title {\n    display: block;\n    color: var(--af-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  .af-subtitle {\n    font-size: clamp(15px, 2vw, 18px);\n    color: var(--af-text-muted);\n    max-width: 600px;\n    margin: 0 auto;\n  }\n\n  .af-section-intro {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 3rem auto;\n  }\n\n  .af-intro-text {\n    font-size: 13.5px;\n    color: var(--af-text-main);\n    letter-spacing: 0.01em;\n    line-height: 1.5;\n  }\n\n  .af-mpv-container h2 {\n    font-size: clamp(20px, 3.5vw, 26px);\n    font-weight: 700;\n    color: var(--af-primary-dark);\n    margin-bottom: 1.5rem;\n    text-align: center;\n    letter-spacing: -0.01em;\n  }\n\n  .af-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  .af-card {\n    background: var(--af-white);\n    border-radius: var(--af-radius);\n    padding: 2rem;\n    box-shadow: var(--af-shadow-soft);\n    border: 1px solid var(--af-border);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n  }\n\n  .af-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--af-shadow-hover);\n  }\n\n  .af-card-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--af-primary-dark);\n    margin-top: 0;\n    margin-bottom: 0.75rem;\n  }\n\n  .af-card-desc {\n    font-size: 14px;\n    color: var(--af-text-muted);\n    margin: 0;\n    line-height: 1.5;\n  }\n\n  .af-section-final {\n    text-align: center;\n    padding: 1.5rem 0 0 0;\n    border-top: 1px solid var(--af-border);\n  }\n\n  .af-final-text {\n    font-style: italic;\n    font-size: 14px;\n    color: var(--af-text-muted);\n    max-width: 550px;\n    margin: 0 auto;\n  }\n\n  @media (max-width: 767px) {\n    .af-grid { grid-template-columns: 1fr; }\n    .af-mpv-container { padding: 1.5rem 1rem; }\n  }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .af-card { animation: af-fadeInUp 0.5s ease backwards; }\n    .af-card:nth-child(2) { animation-delay: 0.1s; }\n  }\n\n  @keyframes af-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":65001549660509,"sku":"AFF-OURS-FO-01","price":26.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/files\/AFFICHE-OURSFOOT-30X40-PHOTO.webp?v=1781768989"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1009\/7426\/4669\/collections\/affiche-cadre-deco-enfant-chambre-enfant-salon.webp?v=1770296223","url":"https:\/\/www.mapetitevie.fr\/collections\/coup-de-coeurs.oembed","provider":"Ma petite vie","version":"1.0","type":"link"}