Abonnement Foin

  • Abonnement Foin Bio de NormandieFoin Bio de Normandie

    Abonnement Foin Bio de Normandie

    À partir de13,50  disponible sur abonnement

    Le foin bio de Normandie : une alternative légère et savoureuse, adaptée à tous les lapins

    Bien moins riche en calcium que le foin de Crau (2,2 g/kg contre près de 10 g/kg), le foin bio de Normandie est particulièrement recommandé pour tous les lapins : des plus jeunes aux plus âgés, y compris ceux sujets aux calculs urinaires. C’est d’ailleurs pour cette raison qu’il est régulièrement conseillé — et vendu — par les vétérinaires spécialisés NAC (Nouveaux Animaux de Compagnie).

    Choix des optionsChargement Terminé Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit
  • Abonnement Foin de prairieFoin de prairie

    Abonnement Foin de prairie

    À partir de10,20  disponible sur abonnement

    Le foin de prairie : une base essentielle et naturelle pour l’alimentation de vos lapins et rongeurs

    Le foin est l’aliment principal des lapins et des rongeurs. Il doit être proposé à volonté, car en plus de favoriser une digestion optimale, il contribue à l’usure naturelle des dents, essentielle à leur santé.

    Choix des optionsChargement Terminé Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit
  • Abonnement Foin de CrauFoin - Foin de Crau

    Abonnement Foin de Crau

    À partir de9,40  disponible sur abonnement

    Foin de Crau : un foin d’exception, naturellement savoureux et bon pour sa santé

    Le foin de Crau n’est pas un simple mélange de plantes : c’est un véritable trésor botanique issu d’une région préservée du sud de la France. Cultivé dans la plaine de la Crau, au cœur de la Provence (Bouches-du-Rhône), classée Natura 2000, ce foin tire sa richesse non pas uniquement de sa composition végétale, mais bien de son terroir unique, qui lui confère ses qualités nutritionnelles exceptionnelles.

    Choix des optionsChargement Terminé Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit
  • Kit Premium – Créez votre propre combo !Foin Bio de Normandie

    Kit Premium – Créez votre propre combo !

    À partir de :

    Composez votre kit personnalisé en choisissant au minimum 2 produits parmi le foin, les granulés ou le mélange d’herbes séchées. Vous pouvez ajouter autant de produits supplémentaires que vous le souhaitez dans ces mêmes catégories, ainsi que des friandises (100 g ou 200 g) pour compléter votre kit. Chaque mois, la sélection change et comprend 4 friandises différentes.

    Ce produit est disponible uniquement sur abonnement.

    Composez votre kit (2 produits minimum)

    Produits sélectionnés : 0
    Foin
      Foin Bio de Normandie
      Foin Bio de Normandie
      Choisir une variation 1.5kg - 14,10 €3kg - 25,10 €5kg - 34,50 €
      Foin de Crau
      Foin de Crau
      Choisir une variation 2kg - 18,50 €3kg - 26,50 €1kg - 9,50 €4kg - 32,25 €6kg - 39,90 €
      Foin de prairie
      Foin de prairie
      Choisir une variation 1kg - 6,80 €2kg - 11,50 €3kg - 15,45 €5kg - 23,35 €6kg - 27,50 €
      Foin Timothy Selective
      Foin Timothy Selective
      Choisir une variation 2kg - 19,50 €4kg - 39,50 €6kg - 58,90 €
    Granulés
      Granulés de foin de fléole 100 % naturels – sans céréales
      Granulés de foin de fléole 100 % naturels – sans céréales
      Choisir une variation 1,5kg - 10,50 €5kg - 22,99 €
      1 2 3 4 5
      Granulés de foin de prairie 100 % naturels – sans céréales
      Granulés de foin de prairie 100 % naturels – sans céréales
      Choisir une variation 1,5kg - 8,50 €5kg - 16,90 €
      1 2 3 4 5
      Granulés JR Farm Grainless Complete
      Granulés JR Farm Grainless Complete
      Choisir une variation 1,35kg - 11,10 €3,5kg - 22,30 €
      1 2 3 4 5
      Granulés JR Farm Grainless Complete junior
      Granulés JR Farm Grainless Complete junior
      Choisir ce produit 3,5kg - 10,90 €
      1 2 3 4 5
      Granulés Selective Adulte
      Granulés Selective Adulte
      Choisir une variation 1,5kg - 14,25 €3kg - 22,99 €
      1 2 3 4 5
      Granulés Selective Junior
      Granulés Selective Junior
      Choisir ce produit 3kg - 11,50 €
      1 2 3 4 5
      Granulés Selective Sans Céréales
      Granulés Selective Sans Céréales
      Choisir ce produit 3kg - 15,10 €
      1 2 3 4 5
      Granulés Versele Laga Cuni Fit Plus
      Granulés Versele Laga Cuni Fit Plus
      Choisir une variation 800gr - 6,90 €1,1kg - 8,50 €4kg - 13,90 €5,25kg - 18,50 €
      1 2 3 4 5
    Herbes séchées
      Mélange Vital Herbes dents et nez
      Mélange « Vital'Herbes Dents et Nez »
      Choisir une variation 350gr - 17,83 €1.05kg - 36,35 €
      1 2 3 4 5
      Mélange herbes séchées Ventre Zen
      Mélange « Ventre Zen »
      Choisir une variation 250gr - 7,95 €750gr - 13,55 €
      1 2 3 4 5
      Mélange herbes séchées classique adulte
      Mélange classique Adulte
      Choisir une variation 250gr - 7,95 €750gr - 13,55 €
      1 2 3 4 5
      Mélange herbes séchées classiques junior
      Mélange classique Junior
      Choisir une variation 250gr - 7,95 €750gr - 13,55 €
      1 2 3 4 5
      Mélange herbes séchées Confort Respiratoire
      Mélange Confort Respiratoire
      Choisir une variation 300gr - 16,84 €800gr - 30,84 €
      1 2 3 4 5
      Mélange Urini Zen
      Mélange Urini’Zen
      Choisir une variation 300gr - 14,84 €800gr - 30,55 €
      1 2 3 4 5
    Aucune 100g - 7,50€ 200g - 13,00€

    Total (plein) : 0,00€

    Prix remisé (5%) : 0,00€

    :root{ --kp-card-width:170px; --kp-card-height:340px; --kp-line-height:1.25; --kp-title-lines:3; --kp-selected-color: #d4a373; --kp-selected-shadow: 0 6px 18px rgba(208, 156, 103, 0.18); }#kit-premium-wrapper { max-width:1100px; margin:18px auto; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; } .kp-category { margin-bottom:18px; } .kp-category-title { display:block; font-weight:700; margin-bottom:8px; font-size:16px; } .kp-grid { /* conteneur global : conserve l'espacement vertical entre catégories */ margin-bottom: 8px; }/* transformer la liste en grille : 4 colonnes fixes (var(--kp-card-width)) */ .kp-products { display: grid; grid-template-columns: repeat(4, var(--kp-card-width)); gap: 14px; list-style: none; padding: 0; margin: 0; align-items: start; }/* permettre à la carte d'occuper toute la cellule de la grille */ .kp-card { width: 100%; max-width: var(--kp-card-width); /* ...conserver le reste des styles existants... */ height: var(--kp-card-height); display:flex; flex-direction:column; justify-content:flex-start; gap:8px; border:1px solid #e6e6e6; border-radius:8px; padding:10px; background:#fff; box-sizing:border-box; position: relative; overflow: visible; transition: border-color .18s ease, box-shadow .18s ease, transform .12s ease, opacity .18s ease, filter .18s ease; }/* responsive : 2 colonnes sous 900px */ @media(max-width:900px){ .kp-products { grid-template-columns: repeat(2, 1fr); } :root{ --kp-card-width:calc(50% - 16px); --kp-card-height:320px; } .kp-card{ height:var(--kp-card-height); } }/* mobile : 1 colonne sous 480px */ @media(max-width:480px){ .kp-products { grid-template-columns: 1fr; } :root{ --kp-card-width:100%; --kp-card-height:auto; } .kp-card{ height:auto; min-height:220px; } .kp-thumb{ height:120px; } }/* style "encadré" quand sélectionné */ .kp-card.selected { border-color: var(--kp-selected-color); box-shadow: var(--kp-selected-shadow); transform: translateY(-2px); }/* dimmed: cartes non-selectionnées (visuel) */ .kp-card.dimmed { opacity: 0.45; filter: grayscale(60%); }.kp-thumb { width:100%; height:140px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:4px; overflow:hidden; } .kp-thumb img{ width:100%; height:100%; object-fit:contain; display:block; }.kp-title { font-weight:600; font-size:14px; line-height: var(--kp-line-height); margin:0; word-break:break-word; max-height: calc( (var(--kp-line-height) * var(--kp-title-lines) * 1em) + 6px ); overflow: hidden; padding-bottom: 6px; z-index:2; background:transparent; }.kp-select { width:100%; padding:8px; border-radius:6px; border:1px solid #ddd; background:#fff; margin-top:auto; z-index:1; }/* qty wrap pour granulés */ .kp-qty-wrap { display:flex; gap:8px; align-items:center; margin-top:6px; } .kp-qty-label { font-size:12px; color:#666; } .kp-qty-select { padding:6px; border-radius:6px; border:1px solid #ddd; background:#fff; width:64px; }.kp-friandises { margin:12px 0; } .kp-totals { margin:14px 0; font-weight:700; } .kp-totals del { color:#666; text-decoration:line-through; font-weight:600; margin-right:8px; } .kp-totals ins { text-decoration:none; color:#b06b3b; font-weight:900; font-style:normal; margin-left:6px; display:inline-block; } .kp-actions { margin-top:6px; }/* toast bas-gauche */ #kp-toast { position: fixed; bottom: 18px; left: 18px; background: #f8d7d7; color: #a94442; border: 1px solid #f5c6cb; padding: 12px 16px; border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,0.12); opacity: 0; transform: translateY(12px); transition: all 360ms ease; z-index: 99999; pointer-events: none; max-width: 360px; } #kp-toast.show { opacity:1; transform: translateY(0); pointer-events:auto; } #kit-counter { margin:6px 0 10px 0; color:#333; font-weight:600; }/* sécurité visuelle : masquer prix & formulaire si hooks n'ont pas fonctionné */ body.postid-1483 .summary .price, body.postid-1483 form.cart, body.postid-1483 .quantity, body.postid-1483 .single_add_to_cart_button, body.postid-1483 .prefix-single, body.postid-1483 .first-payment-date { display: none !important; }/* responsive adjustments */ @media(max-width:900px){ :root{ --kp-card-width:calc(50% - 16px); --kp-card-height:320px; } .kp-card{ width:var(--kp-card-width); height:var(--kp-card-height); } } @media(max-width:480px){ :root{ --kp-card-width:100%; --kp-card-height:auto; } .kp-card{ width:100%; height:auto; min-height:220px; } .kp-thumb{ height:120px; } } (function(){ const wrapper = document.getElementById('kit-premium-wrapper'); if(!wrapper) return; const nonce = wrapper.dataset.nonce || ''; const kitId = parseInt(wrapper.dataset.kitId || '0', 10); const MAX = Infinity; const MIN = 2;const form = document.getElementById('kit-premium-form'); const selects = Array.from(wrapper.querySelectorAll('.kp-select')); const qtySelects = Array.from(wrapper.querySelectorAll('.kp-qty-select')); const friSelect = document.getElementById('kp-friandises-select'); const btn = document.getElementById('kp-add-to-cart'); const toast = document.getElementById('kp-toast'); const counter = document.getElementById('kit-counter'); const totalFullEl = document.getElementById('kp-total-full'); const totalDiscEl = document.getElementById('kp-total-discount');function showToast(msg, timeout=3800){ toast.textContent = msg; toast.classList.add('show'); setTimeout(()=> toast.classList.remove('show'), timeout); }function getOptionPrice(opt){ if(!opt) return 0; const p = opt.getAttribute('data-price'); return p ? parseFloat(p) : 0; }// activer/désactiver qty pour granulés selon sélection function toggleQtyForCard(selectEl){ // find containing card const card = selectEl.closest('.kp-card'); if(!card) return; const cat = card.dataset.cat || ''; const qty = card.querySelector('.kp-qty-select'); if(!qty) return; if(selectEl.value){ qty.disabled = false; // visual highlight card.classList.add('selected'); } else { qty.disabled = true; qty.value = "1"; // reset qty card.classList.remove('selected'); } }// apply dimming: ajoute .dimmed aux cartes non sélectionnées function applyDimming() { const cards = Array.from(wrapper.querySelectorAll('.kp-card')); let totalSelected = 0; selects.forEach(s => { if (s === friSelect) return; if (s.value) totalSelected++; });if (totalSelected c.classList.remove('dimmed')); return; }cards.forEach(c => { const sel = c.querySelector('.kp-select'); const isSelected = sel && sel.value; if (!isSelected) c.classList.add('dimmed'); else c.classList.remove('dimmed'); }); }// compute totals: take into account qty for granules function refresh(){ let productsSum = 0; let selectedCount = 0;selects.forEach(s => { if(s === friSelect) return; const val = s.value; const card = s.closest('.kp-card'); if( val ){ const opt = s.options[s.selectedIndex]; const price = getOptionPrice(opt); let qty = 1; const qtyEl = card ? card.querySelector('.kp-qty-select') : null; if(qtyEl && !qtyEl.disabled){ qty = parseInt(qtyEl.value || '1', 10); } productsSum += price * qty; selectedCount++; if(card) card.classList.add('selected'); } else { if(card) card.classList.remove('selected'); } });const friPrice = getOptionPrice(friSelect.options[friSelect.selectedIndex]); const full = productsSum + friPrice; const discount = (productsSum * 0.95) + friPrice;// formatage euro (virgule + symbole) function fmt(n){ return n.toFixed(2).replace('.', ',') + '€'; }totalFullEl.textContent = fmt(full); totalDiscEl.textContent = fmt(discount); counter.textContent = 'Produits sélectionnés : ' + selectedCount;btn.disabled = !(selectedCount >= MIN); applyDimming(); }// when a product select changes wrapper.addEventListener('change', function(e){ const target = e.target; if( ! target.classList.contains('kp-select') && ! target.classList.contains('kp-qty-select') ) return;if( target.classList.contains('kp-select') ){ toggleQtyForCard(target); }refresh(); });// prepare submit: collect selected ids, quantities aligned, labels form.addEventListener('submit', function(e){ e.preventDefault();const selectedIds = []; const componentLabels = []; const quantities = []; let selectedCount = 0;selects.forEach(s => { if(s === friSelect) return; if(s.value){ selectedIds.push(s.value); const card = s.closest('.kp-card'); let label = s.options[s.selectedIndex].text; let qty = 1; const qtyEl = card ? card.querySelector('.kp-qty-select') : null; if(qtyEl && !qtyEl.disabled){ qty = parseInt(qtyEl.value || '1', 10); } quantities.push(qty); componentLabels.push( label + (qty > 1 ? ' (x' + qty + ')' : '') ); selectedCount++; } });const friPrice = getOptionPrice(friSelect.options[friSelect.selectedIndex]); const friLabel = friSelect.options[friSelect.selectedIndex].text;if(selectedCount MAX){ showToast('Vous ne pouvez sélectionner que ' + MAX + ' produits.'); return; }const data = new FormData(); data.append('action', 'kp_ajax_add_kit'); data.append('security', nonce); data.append('kit_product_id', kitId); selectedIds.forEach(id => data.append('products[]', id)); componentLabels.forEach(lbl => data.append('components_names[]', lbl)); quantities.forEach(q => data.append('quantities[]', q)); data.append('friandises', friPrice); data.append('friandises_label', friLabel);fetch('https://lemondedelma-boutique.com/wp-admin/admin-ajax.php', { method: 'POST', credentials: 'same-origin', body: data }).then(r => r.json()).then(json => { if(json && json.success){ window.location.href = 'https://lemondedelma-boutique.com/cart/'; } else { showToast( (json && json.data && json.data.message) ? json.data.message : 'Erreur lors de l\'ajout au panier.' ); } }).catch(()=> showToast('Erreur réseau - réessayez.')); });qtySelects.forEach(q => q.disabled = true); refresh(); })();
  • Abonnement Box Mix 2 foinsFoin de prairie

    Abonnement Box Mix 2 foins

    À partir de17,90  disponible sur abonnement

    Le foin, l’allié santé et plaisir de votre lapin
    Le foin use les dents, aide la digestion et apporte les fibres essentielles.
    Variez les goûts avec la Box Mix Deux Foins : 2 foins différents pour éviter le gaspillage et faire plaisir à votre lapin.
    Disponible aussi en abonnement pour un foin toujours frais et apprécié.

    Choix des optionsChargement Terminé Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit
  • Abonnement Foin Timothy SelectiveFoin Timothy Hay / Fléole Selective

    Abonnement Foin Timothy Selective

    À partir de20,90  disponible sur abonnement

    Foin Timothy Selective : la douceur pauvre en calcium pour lapins sensibles

    Naturellement pauvre en calcium, ce foin de fléole est idéal pour les lapins sujets aux calculs urinaires ou aux troubles respiratoires. Très peu poussiéreux et riche en fibres, il favorise l’usure des dents et une digestion optimale, tout en stimulant l’instinct de fouille et de grignotage de votre compagnon.

    Choix des optionsChargement Terminé Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit