<style>
/* ================== OVERLAY WRAPPER ================== */
#delivery-overlay {
position: fixed;
right: 24px;
bottom: 24px;
width: 100%;
max-width: 36rem;
z-index: 9999;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
font-family: inherit;
}
#delivery-overlay {
z-index: 10;
}
/* ================== CARD ================== */
#delivery-overlay .card {
position: relative;
display: flex;
gap: 16px;
padding: 16px 40px 16px 16px;
border-radius: 16px;
background: rgba(255,255,255,0.9);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid #e5e7eb;
box-shadow: 0 20px 40px rgba(0,0,0,.15);
overflow: hidden;
}
/* decorative blur */
#delivery-overlay .blur-bg {
position: absolute;
top: -40px;
right: -40px;
width: 96px;
height: 96px;
background: rgba(59,130,246,0.12);
border-radius: 50%;
filter: blur(32px);
pointer-events: none;
}
/* ================== ICON ================== */
#delivery-overlay .icon-wrap {
flex-shrink: 0;
background: #dbeafe;
color: #2563eb;
padding: 10px;
border-radius: 999px;
}
/* ================== TEXT ================== */
#delivery-overlay .content {
display: flex;
flex-direction: column;
gap: 6px;
}
#delivery-overlay h3 {
margin: 0;
font-size: 1.4rem;
font-weight: 700;
color: #111827;
display: flex;
align-items: center;
gap: 8px;
}
#delivery-overlay p {
margin: 0;
font-size: 1.4rem;
color: #4b5563;
line-height: 1.4;
}
#delivery-overlay .bold {
font-weight: 700;
color: #111827;
}
/* badge */
#delivery-overlay .badge {
font-size: 10px;
font-weight: 700;
background: #2563eb;
color: #fff;
padding: 2px 6px 0;
border-radius: 999px;
text-transform: uppercase;
letter-spacing: .08em;
}
/* timer row */
#delivery-overlay .timer {
display: flex;
align-items: center;
gap: 6px;
margin-top: 4px;
font-size: 1rem;
color: #6b7280;
}
/* ================== CLOSE BUTTON ================== */
#delivery-overlay .close-btn {
position: absolute;
top: 8px;
right: 8px;
width: 28px;
height: 28px;
border-radius: 999px;
border: none;
background: transparent;
cursor: pointer;
color: #9ca3af;
display: flex;
align-items: center;
justify-content: center;
}
#delivery-overlay .close-btn:hover {
background: #f3f4f6;
color: #4b5563;
}
/* ================== ANIMATIONS ================== */
@keyframes slideIn {
from { transform: translateX(100%); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; }
}
#delivery-overlay.show {
opacity: 1;
pointer-events: auto;
}
#delivery-overlay.slide-in {
animation: slideIn .5s cubic-bezier(.16,1,.3,1) forwards;
}
#delivery-overlay.fade-out {
animation: fadeOut .3s ease forwards;
}
/* ================== MOBILE ================== */
@media (max-width: 480px) {
#delivery-overlay {
right: 12px;
left: 12px;
max-width: none;
}
}
</style>
<!-- ================== HTML ================== -->
<div id="delivery-overlay">
<div class="card">
<div class="blur-bg"></div>
<div class="icon-wrap">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"/>
<path d="M15 18H9"/>
<path d="M19 18h2a1 1 0 0 0 1-1v-5l-4-4h-3v10a1 1 0 0 0 1 1Z"/>
<circle cx="7" cy="18" r="2"/>
<circle cx="17" cy="18" r="2"/>
</svg>
</div>
<div class="content">
<h3>
Fast Delivery
<span class="badge">Next Day</span>
</h3>
<p>
All orders placed before <span class="bold">5:00 PM</span> are delivered Next Day.
</p>
<div class="timer" style="display: none;">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"/>
<polyline points="12 6 12 12 16 14"/>
</svg>
<span id="delivery-timer">Time remaining: --h --m --s</span>
</div>
</div>
</div>
</a>
<button class="close-btn" id="close-overlay" aria-label="Close">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M18 6 6 18"/>
<path d="m6 6 12 12"/>
</svg>
</button>
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
const overlay = document.getElementById('delivery-overlay');
const closeBtn = document.getElementById('close-overlay');
const timerEl = document.getElementById('delivery-timer');
if (!overlay || !closeBtn || !timerEl) return;
// -------- show overlay --------
setTimeout(() => {
overlay.classList.add('show', 'slide-in');
}, 1500);
closeBtn.addEventListener('click', () => {
overlay.classList.remove('slide-in');
overlay.classList.add('fade-out');
setTimeout(() => overlay.style.display = 'none', 300);
});
// -------- UK TIME COUNTDOWN --------
function getUKNow() {
const parts = new Intl.DateTimeFormat('en-GB', {
timeZone: 'Europe/London',
year: 'numeric', month: 'numeric', day: 'numeric',
hour: 'numeric', minute: 'numeric', second: 'numeric',
hour12: false
}).formatToParts(new Date());
const g = t => parts.find(p => p.type === t).value;
return new Date(g('year'), g('month') - 1, g('day'), g('hour'), g('minute'), g('second'));
}
function updateTimer() {
const now = getUKNow();
const cutoff = new Date(now);
cutoff.setHours(17, 30, 0, 0); // 5:30 PM UK
if (now >= cutoff) cutoff.setDate(cutoff.getDate() + 1);
const diff = cutoff - now;
if (diff <= 0) return;
const s = Math.floor(diff / 1000);
const h = Math.floor(s / 3600);
const m = Math.floor((s % 3600) / 60);
const sec = s % 60;
timerEl.textContent =
`Time remaining: ${String(h).padStart(2,'0')}h ` +
`${String(m).padStart(2,'0')}m ` +
`${String(sec).padStart(2,'0')}s`;
}
updateTimer();
setInterval(updateTimer, 1000);
});
</script>
MP-HUIJ-P37E-config
In stock
Johnson's Baby Shampoo 500ml
As low as
£2.36
Regular Price
£2.80
Johnson's Baby Shampoo Old Version (500ml), the original version of Johnson's baby shampoo for gentle hair care.
ORDER WITHIN:
FREE DELIVERY OVER £29.99
Only applicable to Mainland UK
<h4><span style="color: #46a74e;">DESCRIPTION</span></h4>
<p><span style="color: #000000;">Washing a baby's hair for the first time can feel daunting and keeping it a positive, stress-free experience every time after that is something every parent wants. Johnson's Baby Shampoo has been helping families do exactly that for generations, with the mildest possible formula that cleanses delicate hair and scalp gently, thoroughly, and completely without tears.
</span></p>
<p><span style="color: #000000;">The tear-free formula is the cornerstone of what makes this shampoo so trusted for daily use. Even if product runs close to the eyes during rinsing - which, with wriggly babies, it inevitably will at some point - it won't sting or cause the distress that turns bath time into a battle. That single quality transforms hair washing from something to be dreaded into a calm, enjoyable part of the daily routine.
</span></p>
<p><span style="color: #000000;">The hypoallergenic, pH-balanced formula has been carefully developed to be as gentle as possible on both hair and scalp, cleansing away the natural oils, milk residue, and everyday build-up without stripping moisture or causing scalp dryness. It lathers softly and rinses away completely cleanly, leaving hair feeling fresh, soft, and lightly scented with the familiar, comforting Johnson's fragrance.
</span></p>
<p><span style="color: #000000;">Paediatrician and dermatologist tested, it's suitable for use from birth and gentle enough for the most sensitive newborn scalps with daily use. The generous 500ml bottle offers excellent value for a shampoo used as frequently as this one tends to be.
</span></p>
<h4><span style="color: #46a74e;">BENEFITS</span></h4>
<ul>
<li>Tear-free formula - safe and comfortable even if product reaches the eyes during rinsing</li>
<li>Hypoallergenic and pH-balanced for the mildest possible daily scalp and hair care</li>
<li>Gently cleanses hair and scalp without stripping natural moisture</li>
<li>Suitable for newborns and sensitive skin from the very first hair wash</li>
<li>Paediatrician and dermatologist tested for confident safe use from birth
</li>
<li>Lathers softly and rinses away completely without residue
</li>
<li>Leaves hair feeling soft, clean, and lightly fragranced after every wash</li>
<li>Generous 500ml bottle, great value for regular daily use</li>
</ul>
<h4><span style="color: #46a74e;">DIRECTIONS</span></h4>
<p><span style="color: #000000;">Apply a small amount to baby's hair, gently lather, and rinse thoroughly. Ideal for regular use during bath time.</span></p>
<h4><span style="color: #46a74e;">WARNINGS</span></h4>
<p><span style="color: #000000;">For external use only. Keep out of reach of children. Avoid contact with eyes. If irritation occurs, discontinue use.</span></p>
<p><span style="color: #000000;">Mild, trusted, and completely tear-free, a baby shampoo that makes hair washing one of the easiest parts of the daily routine rather than one of the most stressful.</span></p>
| EAN | 3574669907903 |
|---|---|
| Brands | Johnsons |
| Size | 500ml |
| Formulation Type | Liquid |
| Scent | Unscented |
| Usage | Old version baby shampoo. |
| Ingredients | Water, Cocamidopropyl Betaine, Decyl Glucoside, Sodium Cocoyl Isethionate, PEG-80 Sorbitan Laurate, Glycerin, Sodium Benzoate, Sodium Methyl Cocoyl Taurate, Fragrance, Citric Acid, PEG-150 Distearate, Disodium EDTA, Polyquaternium-10 |
| Tear Free | No |
| Contains Chemicals | No |
| Medicated | No |
| 2in1 Shampoo & Conditioner | No |
Write Your Own Review
<div class="element products-slider see-also-div" style="max-width: 1440px; margin: auto;">
</div>





