<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>
VF-PB7Q-RWQQ-config
In stock
Crystale Dishwasher Cleaner with Total Action 250ml
As low as
£1.34
Regular Price
£1.44
Crystal Total Action Dishwasher Cleaner cleans and freshens even those hidden parts of your dishwasher, removing any build-up of grease and limescale
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;">Crystale Dishwasher Cleaner with Total Action is designed to effectively remove grease, limescale, and odours from your dishwasher. Its powerful formula penetrates deep into the internal components, ensuring optimal performance and a fresh, clean machine.</span></p>
<p><span style="color: #000000;">Regular use of this cleaner helps extend the lifespan of your dishwasher while preventing buildup that can affect cleaning efficiency.</span></p>
<h4><span style="color: #46a74e;">BENEFITS</span></h4>
<ul>
<li>Removes grease, limescale, and odours</li>
<li>Enhances dishwasher performance</li>
<li>Prevents buildup and improves efficiency</li>
<li>Extends the lifespan of the machine</li>
<li>Suitable for all dishwasher brands</li>
</ul>
<h4><span style="color: #46a74e;">DIRECTIONS</span></h4>
<p><span style="color: #000000;">Use once a month for optimal results. Place the bottle upside down in the cutlery basket or secure it in an empty dishwasher. Run a hot cycle without detergent or dishes.</span></p>
<h4><span style="color: #46a74e;">WARNINGS</span></h4>
<p><span style="color: #000000;">Keep out of reach of children. Avoid contact with eyes and skin. In case of contact, rinse thoroughly with water. If swallowed, seek medical attention immediately.</span></p>
| EAN | 5060180031527 |
|---|---|
| Brands | Crystale |
| Type | Dishwasher cleaner. |
| Size | 250ml |
| Formulation Type | Liquid cleaner. |
| Scent | Fresh, clean scent. |
| Usage | Cleans and removes limescale and grease build-up in dishwashers, improving performance and extending lifespan. |
| Capacity | 250ml |
| Container Type | Plastic bottle. |
| Contains Bleach | No |
| Concentrated | No |
| Flammable | No |
| Application Method | Place bottle upside down in the upper rack of an empty dishwasher. |
| Theme | Dishwasher cleaner. |
| Suitable for | Dishwashers |
| Features | Removes grease and limescale, eliminates odors, improves performance, easy to use. |
| Instructions for Use | Remove the dishwasher filter, place the bottle in the upper rack, and run a standard program at 65°C |
| Safety Warning | Causes serious eye irritation. Keep out of reach of children. Rinse eyes immediately if contact occurs. |
Write Your Own Review
<div class="element products-slider see-also-div" style="max-width: 1440px; margin: auto;">
</div>





