<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>
JBSNTKGCS300-12
In stock
Only 1 left
Johnson's Baby Shampoo No Tears For Kids 300ml - Pack of 12
Special Price
£23.03
Regular Price
£31.69
A gentle and tear-free shampoo that is safe for use on children of all ages. Leaves hair soft, shiny, and manageable.
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;">Hair washing can be one of the trickiest parts of bath time, especially once children become more aware of what's happening and less willing to stay still for a rinse. Johnson's No Tears Baby Shampoo for Kids is built around making that experience as easy and stress-free as possible, with the same trusted tear-free formula that parents have relied on since the very first bath, now in a size perfectly suited to growing children's daily hair care needs.
</span></p>
<p><span style="color: #000000;">The No More Tears innovation that Johnson's pioneered is as relevant here as it ever was. Even when shampoo runs towards the eyes during rinsing and with young children it always does eventually, it won't sting or cause the panicked tears that can make bath time a battle. That single quality changes the whole atmosphere of hair washing, turning it from something children resist into something they're comfortable with and parents feel relaxed about.
</span></p>
<p><span style="color: #000000;">The hypoallergenic, pH-balanced formula cleanses hair and scalp thoroughly without the harshness of soap and synthetic detergents, and is completely free from parabens, dyes, and sulphates, keeping the formula as pure and gentle as possible for children who use it every day. It lathers well, rinses clean, and leaves hair feeling noticeably soft, shiny, and manageable without any heaviness or residue.
</span></p>
<p><span style="color: #000000;">Dermatologist tested and paediatrician approved, it's gentle enough for sensitive scalps and suitable for daily use as part of a consistent bath time routine.
</span></p>
<h4><span style="color: #46a74e;">BENEFITS</span></h4>
<ul>
<li>Tear-free No More Tears formula, safe and comfortable even if product reaches the eyes</li>
<li>Hypoallergenic and pH-balanced for gentle daily cleansing on young scalps</li>
<li>Free from parabens, dyes, and sulphates, a clean, carefully considered formula</li>
<li>Thoroughly cleanses hair and scalp without stripping natural moisture</li>
<li>Leaves hair feeling soft, shiny, and easy to manage after every wash</li>
<li>Dermatologist tested and paediatrician approved for safe daily use
</li>
<li>Suitable for sensitive scalps and delicate children's hair with regular use
</li>
<li>300ml bottle - a practical everyday size for regular family bath time use
</li>
</ul>
<h4><span style="color: #46a74e;">DIRECTIONS</span></h4>
<p><span style="color: #000000;">Apply a small amount to wet hair, gently lather, and rinse thoroughly. For best results, use regularly to maintain hair hygiene.</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.</span></p>
<p><span style="color: #000000;">Gentle, trusted, and genuinely tear-free, a kids' shampoo that makes hair washing one of the easier parts of the day for both children and parents.</span></p>
| EAN | 3574661730776 |
|---|---|
| Brands | Johnsons |
| Size | 300ml |
| Number of items | 12 |
| Formulation Type | Liquid |
| Scent | Fresh |
| Usage | Leaves hair soft, shiny, and manageable |
| Pack of | Pack of 12 |
| Ingredients | Water, Cocamidopropyl Betaine, PEG-80 Sorbitan Laurate, Sodium Trisected Sulfate, PEG-150 Distearate, Fragrance, Polyquaternium-10, Tetrasodium EDTA, Quaternium-15, Citric Acid, Yellow 10, orange |
| Tear Free | No |
Write Your Own Review
<div class="element products-slider see-also-div" style="max-width: 1440px; margin: auto;">
</div>







