Skip to content

Sign up & get 15% Off Your First Order

  • Free Next day delivery Over £14.99 Free Next day delivery Over £14.99
  • Same Day Dispatch - Order By 2PM Same Day Dispatch - Order By 2PM
  • Pay with Klarna Pay with Klarna

Shipping policy

/* ========================================================= SECTION RESET */ #shopify-section-{{ section.id }} { margin-top:0 !important; padding-top:0 !important; } #shopify-section-{{ section.id }} .section, #shopify-section-{{ section.id }} .page-width, #shopify-section-{{ section.id }} .content-container, #shopify-section-{{ section.id }} .custom-liquid, #shopify-section-{{ section.id }} .custom-liquid__content { margin-top:0 !important; padding-top:0 !important; } body.page-template:has(.ps-del-v2) main, body.page-template:has(.ps-del-v2) #MainContent, body.page-template:has(.ps-del-v2) .main-content, body.page-template:has(.ps-del-v2) .template-page { padding-top:0 !important; margin-top:0 !important; } body.page-template:has(.ps-del-v2) .main-page-title, body.page-template:has(.ps-del-v2) h1.main-page-title, body.page-template:has(.ps-del-v2) .page-title, body.page-template:has(.ps-del-v2) .page-header, body.page-template:has(.ps-del-v2) .page__title, body.page-template:has(.ps-del-v2) .section-page-title, body.page-template:has(.ps-del-v2) .title-wrapper-with-link, body.page-template:has(.ps-del-v2) .template-page .page-width:has(.main-page-title) { display:none !important; margin:0 !important; padding:0 !important; min-height:0 !important; } /* collapse theme wrapper top-spacing so the hero sits flush under the header */ body.page-template:has(.ps-del-v2) .page__content, body.page-template:has(.ps-del-v2) .rich-text, body.page-template:has(.ps-del-v2) .rich-text__text { margin-top:0 !important; padding-top:0 !important; } body.page-template:has(.ps-del-v2) .section--padding { padding-top:0 !important; } body.page-template:has(.ps-del-v2) .shopify-section:has(.ps-del-v2) { margin-top:0 !important; padding-top:0 !important; } /* ========================================================= BASE */ .ps-del-v2 { --ps-teal:#3C949B; --ps-teal-dark:#256A6F; --ps-teal-deep:#184E52; --ps-teal-soft:rgba(60,148,155,0.12); --ps-teal-line:rgba(60,148,155,0.28); --ps-dark:#0B1F22; --ps-dark-2:#103038; --ps-text:#2B3A3D; --ps-muted:#5D6E70; --ps-white:#ffffff; --ps-soft:#F1FAFB; --ps-warning:#FFF8E1; --ps-warning-text:#6B4E16; --ps-line:rgba(11,31,34,0.12); --ps-shadow-sm:0 12px 28px -22px rgba(11,31,34,0.30); --ps-shadow-md:0 26px 70px -42px rgba(11,31,34,0.42); --ps-radius-xl:30px; --ps-radius-lg:22px; --ps-radius-md:18px; width:100%; max-width:1240px; margin:0 auto !important; padding:clamp(18px,2.4vw,32px) clamp(14px,3vw,28px) clamp(34px,4vw,54px) !important; color:var(--ps-text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:18px !important; line-height:1.7; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip; } .ps-del-v2, .ps-del-v2 * { box-sizing:border-box; } .ps-del-v2 p { margin:0 0 20px; color:var(--ps-text); font-size:18px !important; line-height:1.75 !important; } .ps-del-v2 p:last-child { margin-bottom:0; } .ps-del-v2 a:not(.ps-del-v2__btn) { color:var(--ps-teal-dark) !important; font-weight:900; text-decoration-thickness:2px; text-underline-offset:3px; overflow-wrap:anywhere; word-break:break-word; } .ps-del-v2 h1, .ps-del-v2 h2, .ps-del-v2 h3 { margin:0; color:var(--ps-dark); font-weight:950; letter-spacing:-0.045em; line-height:1.06; } .ps-del-v2__section { margin-bottom:clamp(40px,5vw,64px); } .ps-del-v2__section-tight { margin-bottom:clamp(24px,3.4vw,34px); } .ps-del-v2__center { max-width:920px; margin-left:auto; margin-right:auto; text-align:center; } .ps-del-v2__kicker { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; color:var(--ps-teal-dark); font-size:14px !important; line-height:1; font-weight:950; letter-spacing:0.08em; text-transform:uppercase; } .ps-del-v2__kicker::before { content:""; width:6px; height:24px; border-radius:999px; background:var(--ps-teal); } .ps-del-v2__title { margin-bottom:16px; font-size:clamp(30px,3vw,42px) !important; line-height:1.1 !important; } .ps-del-v2__lead { color:var(--ps-text); font-size:19px !important; line-height:1.72 !important; } /* ========================================================= HERO */ .ps-del-v2__hero { position:relative; isolation:isolate; overflow:hidden; min-height:360px; display:grid; place-items:center; padding:clamp(40px,6vw,74px) clamp(20px,5vw,64px); border-radius:var(--ps-radius-xl); text-align:center; background: radial-gradient(circle at 18% 18%, rgba(60,148,155,0.42), transparent 30%), radial-gradient(circle at 86% 12%, rgba(255,255,255,0.10), transparent 26%), linear-gradient(135deg,#0B1F22 0%,#103038 54%,#0B1F22 100%); box-shadow:var(--ps-shadow-md); } .ps-del-v2__hero::after { content:""; position:absolute; inset:auto -20% -48% -20%; height:62%; z-index:-1; pointer-events:none; background:radial-gradient(circle, rgba(60,148,155,0.36), transparent 62%); } .ps-del-v2__eyebrow { display:inline-flex; align-items:center; justify-content:center; width:fit-content; max-width:100%; min-height:38px; padding:8px 16px; border-radius:999px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.22); color:#E4F6F7 !important; font-size:13px !important; line-height:1; font-weight:950; letter-spacing:0.08em; text-transform:uppercase; text-align:center; } .ps-del-v2__hero h1 { max-width:920px; margin:20px auto 18px !important; color:#ffffff !important; font-size:clamp(38px,5.2vw,68px) !important; line-height:1 !important; letter-spacing:-0.06em !important; font-weight:950 !important; } .ps-del-v2__hero h1 span { color:#7FD3DA !important; } .ps-del-v2__hero p { max-width:820px; margin:0 auto; color:rgba(255,255,255,0.9) !important; font-size:clamp(17px,1.5vw,20px) !important; line-height:1.72 !important; } /* ========================================================= PRICING PAIR */ .ps-del-v2__pricing { display:grid; grid-template-columns:1fr 1fr; gap:20px; } .ps-del-v2__price { position:relative; overflow:hidden; border-radius:var(--ps-radius-lg); padding:34px 32px; box-shadow:var(--ps-shadow-sm); } .ps-del-v2__price--light { background:var(--ps-white); border:1px solid var(--ps-teal-line); } .ps-del-v2__price--dark { border:1px solid var(--ps-dark); background: radial-gradient(circle at 82% 8%, rgba(60,148,155,0.34), transparent 44%), linear-gradient(135deg,#0B1F22 0%,#103038 60%,#0B1F22 100%); box-shadow:var(--ps-shadow-md); } .ps-del-v2__price-label { display:block; margin:0 0 14px; font-size:13px !important; font-weight:950; letter-spacing:0.1em; text-transform:uppercase; } .ps-del-v2__price--light .ps-del-v2__price-label { color:var(--ps-teal-dark) !important; } .ps-del-v2__price--dark .ps-del-v2__price-label { color:#7FD3DA !important; } .ps-del-v2__price-value { display:block; margin:0 0 14px; font-size:clamp(38px,9vw,52px) !important; line-height:1; font-weight:950; letter-spacing:-0.05em; overflow-wrap:anywhere; } .ps-del-v2__price--light .ps-del-v2__price-value { color:var(--ps-dark) !important; } .ps-del-v2__price--dark .ps-del-v2__price-value { color:#ffffff !important; } .ps-del-v2__price-old { font-size:18px !important; font-weight:600; letter-spacing:0; color:#9aa3ad !important; } .ps-del-v2__price-old s { text-decoration:line-through; } .ps-del-v2__price-desc { margin:0 !important; font-size:16.5px !important; line-height:1.6 !important; } .ps-del-v2__price--light .ps-del-v2__price-desc { color:var(--ps-text) !important; } .ps-del-v2__price--dark .ps-del-v2__price-desc { color:rgba(255,255,255,0.82) !important; } .ps-del-v2__chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; } .ps-del-v2__chips span { display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; font-size:13px !important; font-weight:800; line-height:1.2; } .ps-del-v2__price--light .ps-del-v2__chips span { background:var(--ps-teal-soft); color:var(--ps-teal-dark); border:1px solid var(--ps-teal-line); } .ps-del-v2__price--dark .ps-del-v2__chips span { background:rgba(255,255,255,0.08); color:#f8fafc; border:1px solid rgba(255,255,255,0.16); } /* ========================================================= DISPATCH NOTE */ .ps-del-v2__note { display:flex; align-items:center; gap:16px; background:var(--ps-soft); border:1px solid var(--ps-teal-line); border-radius:var(--ps-radius-md); padding:20px 24px; box-shadow:var(--ps-shadow-sm); } .ps-del-v2__note-icon { flex:0 0 auto; width:46px; height:46px; border-radius:999px; background:var(--ps-teal); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:22px; } .ps-del-v2__note p { margin:0 !important; font-size:17px !important; color:var(--ps-text) !important; } .ps-del-v2__note p strong { color:var(--ps-dark); font-weight:950; } /* ========================================================= ALERT */ .ps-del-v2__alert { display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px; align-items:start; padding:24px 26px; border-radius:var(--ps-radius-lg); border:1px solid rgba(245,158,11,0.36); background:var(--ps-warning); box-shadow:var(--ps-shadow-sm); } .ps-del-v2__alert-icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:999px; background:rgba(245,158,11,0.14); color:#B45309; font-size:22px; font-weight:950; line-height:1; } .ps-del-v2__alert h2 { margin:0 0 8px; color:#7C3E00 !important; font-size:23px !important; line-height:1.15 !important; } .ps-del-v2__alert p { color:var(--ps-warning-text) !important; font-size:16.5px !important; line-height:1.68 !important; } .ps-del-v2__alert p strong { color:#7C3E00; font-weight:950; } /* ========================================================= INFO GRID */ .ps-del-v2__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; } .ps-del-v2__info { background:var(--ps-white); border:1px solid var(--ps-teal-line); border-radius:var(--ps-radius-md); padding:26px 24px; box-shadow:var(--ps-shadow-sm); } .ps-del-v2__info-icon { width:46px; height:46px; border-radius:999px; background:var(--ps-teal-soft); color:var(--ps-teal-dark); display:inline-flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:16px; } .ps-del-v2__info h3 { margin:0 0 8px; font-size:18px !important; line-height:1.25; color:var(--ps-dark) !important; } .ps-del-v2__info p { margin:0 !important; font-size:16px !important; line-height:1.6 !important; color:var(--ps-text) !important; } /* ========================================================= ISSUES */ .ps-del-v2__issues { background:var(--ps-white); border:1px solid var(--ps-teal-line); border-radius:var(--ps-radius-lg); overflow:hidden; box-shadow:var(--ps-shadow-md); } .ps-del-v2__issues-head { padding:32px 32px 6px; } .ps-del-v2__issues-head p { margin:8px 0 0 !important; font-size:17px !important; color:var(--ps-muted) !important; } .ps-del-v2__issue-list { padding:12px 32px 30px; } .ps-del-v2__issue { padding:22px 0; border-bottom:1px solid var(--ps-line); } .ps-del-v2__issue:last-child { border-bottom:0; padding-bottom:0; } .ps-del-v2__issue h3 { margin:0 0 8px; padding-left:22px; position:relative; font-size:19px !important; line-height:1.3; color:var(--ps-dark) !important; } .ps-del-v2__issue h3::before { content:""; position:absolute; left:0; top:0.42em; width:9px; height:9px; border-radius:50%; background:var(--ps-teal); } .ps-del-v2__issue p { margin:0 !important; padding-left:22px; font-size:16.5px !important; line-height:1.65 !important; color:var(--ps-text) !important; } .ps-del-v2__issue p strong { color:var(--ps-dark); font-weight:950; } /* ========================================================= CTA */ .ps-del-v2__cta { overflow:hidden; position:relative; isolation:isolate; padding:clamp(40px,5vw,60px) clamp(20px,4vw,46px); border-radius:var(--ps-radius-xl); text-align:center; background: radial-gradient(circle at 88% 10%, rgba(255,255,255,0.18), transparent 28%), linear-gradient(135deg,#184E52 0%,#3C949B 52%,#256A6F 100%); box-shadow:var(--ps-shadow-md); } .ps-del-v2__cta h2 { max-width:840px; margin:0 auto 12px; color:var(--ps-white) !important; font-size:clamp(28px,3vw,42px) !important; line-height:1.1 !important; } .ps-del-v2__cta p { max-width:720px; margin:0 auto 8px; color:rgba(255,255,255,0.92) !important; font-size:18px !important; line-height:1.7 !important; } .ps-del-v2 .ps-del-v2__cta p a, .ps-del-v2 .ps-del-v2__cta a:not(.ps-del-v2__btn) { color:#fff !important; text-decoration-color:rgba(255,255,255,0.6) !important; } .ps-del-v2__cta .actions { display:flex; justify-content:center; margin-top:22px; } .ps-del-v2 a.ps-del-v2__btn { display:inline-flex !important; align-items:center; justify-content:center; min-height:56px; padding:15px 30px; border-radius:999px; font-size:16px !important; line-height:1 !important; font-weight:950 !important; text-decoration:none !important; background:#fff !important; color:var(--ps-teal-dark) !important; border:2px solid #fff !important; transition:transform 0.2s ease, background 0.2s ease, color 0.2s ease; } .ps-del-v2 a.ps-del-v2__btn:hover { transform:translateY(-2px); background:#ECFBFC !important; color:var(--ps-teal-deep) !important; } /* ========================================================= COUNTDOWN */ .ps-del-v2__countdown { display:flex; align-items:center; gap:16px; padding:18px 22px; border-radius:var(--ps-radius-md); border:1px solid var(--ps-teal-line); box-shadow:var(--ps-shadow-sm); color:var(--ps-dark); background: radial-gradient(circle at 8% 0%, rgba(60,148,155,0.12), transparent 40%), linear-gradient(135deg,#F1FAFB 0%,#ffffff 100%); } .ps-del-v2__cd-icon { flex:0 0 auto; width:48px; height:48px; border-radius:999px; background:var(--ps-teal); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px -8px rgba(60,148,155,0.6); } .ps-del-v2__cd-icon svg { width:26px; height:26px; fill:#fff; } .ps-del-v2__cd-content { min-width:0; flex:1; } .ps-del-v2__cd-label { display:inline-flex; align-items:center; margin-bottom:5px; color:var(--ps-teal-dark); font-size:12px !important; line-height:1; font-weight:950; letter-spacing:0.09em; text-transform:uppercase; } .ps-del-v2__cd-main { color:var(--ps-dark) !important; font-size:17px !important; line-height:1.3 !important; font-weight:900; letter-spacing:-0.01em; margin:0 !important; } .ps-del-v2__cd-main strong { color:var(--ps-teal-dark); font-weight:950; } .ps-del-v2__cd-sub { margin:4px 0 0 !important; color:var(--ps-muted) !important; font-size:14px !important; line-height:1.3 !important; font-weight:600; } .ps-del-v2__cd-timer { flex:0 0 auto; min-width:106px; padding:11px 14px; border-radius:999px; background:var(--ps-dark); color:#fff; text-align:center; font-size:15px; line-height:1; font-weight:950; letter-spacing:0.03em; white-space:nowrap; font-variant-numeric:tabular-nums; } /* ========================================================= TABLET */ @media screen and (max-width:1024px) { .ps-del-v2 { padding-left:16px !important; padding-right:16px !important; } .ps-del-v2__hero { min-height:auto; } .ps-del-v2__grid { grid-template-columns:repeat(2,1fr); } } /* ========================================================= PHONE */ @media screen and (max-width:640px) { .ps-del-v2 { padding:16px 14px 32px !important; font-size:16px !important; line-height:1.6; } .ps-del-v2 p { font-size:16px !important; line-height:1.62 !important; } .ps-del-v2__section { margin-bottom:28px; } .ps-del-v2__section-tight { margin-bottom:18px; } /* hero */ .ps-del-v2__hero { padding:34px 18px; border-radius:22px; } .ps-del-v2__eyebrow { min-height:32px; padding:7px 13px; font-size:11px !important; letter-spacing:0.06em; } .ps-del-v2__hero h1 { margin-top:14px !important; margin-bottom:14px !important; font-size:clamp(28px,8.4vw,40px) !important; letter-spacing:-0.04em !important; } .ps-del-v2__hero p { font-size:15.5px !important; line-height:1.6 !important; } /* pricing — stack, full width, comfy tap area */ .ps-del-v2__pricing { grid-template-columns:1fr; gap:14px; } .ps-del-v2__price { padding:26px 22px; border-radius:18px; } .ps-del-v2__price-label { font-size:12px !important; letter-spacing:0.08em; } .ps-del-v2__price-old { font-size:15px !important; } .ps-del-v2__price-desc { font-size:15.5px !important; } .ps-del-v2__chips span { font-size:12.5px !important; padding:7px 12px; } /* countdown */ .ps-del-v2__countdown { gap:12px; padding:15px 15px; border-radius:16px; } .ps-del-v2__cd-icon { width:42px; height:42px; } .ps-del-v2__cd-icon svg { width:22px; height:22px; } .ps-del-v2__cd-label { font-size:11px !important; } .ps-del-v2__cd-main { font-size:15px !important; } .ps-del-v2__cd-sub { font-size:12.5px !important; } .ps-del-v2__cd-timer { min-width:84px; padding:9px 10px; font-size:13px; } /* note + alert */ .ps-del-v2__note { align-items:flex-start; gap:13px; padding:16px 16px; border-radius:16px; } .ps-del-v2__note-icon { width:40px; height:40px; font-size:19px; } .ps-del-v2__note p { font-size:15px !important; line-height:1.5 !important; } .ps-del-v2__alert { grid-template-columns:1fr; gap:12px; padding:20px 18px; border-radius:16px; } .ps-del-v2__alert h2 { font-size:20px !important; } .ps-del-v2__alert p { font-size:15.5px !important; } /* headings + grid */ .ps-del-v2__kicker { font-size:11.5px !important; letter-spacing:0.06em; } .ps-del-v2__title { font-size:24px !important; line-height:1.14 !important; } .ps-del-v2__grid { grid-template-columns:1fr; gap:12px; } .ps-del-v2__info { padding:22px 20px; } .ps-del-v2__info-icon { width:42px; height:42px; font-size:20px; margin-bottom:14px; } .ps-del-v2__info h3 { font-size:17px !important; } .ps-del-v2__info p { font-size:15.5px !important; } /* issues */ .ps-del-v2__issues { border-radius:18px; } .ps-del-v2__issues-head { padding:24px 20px 4px; } .ps-del-v2__issues-head p { font-size:15.5px !important; } .ps-del-v2__issue-list { padding:6px 20px 22px; } .ps-del-v2__issue { padding:18px 0; } .ps-del-v2__issue h3 { font-size:17px !important; padding-left:20px; } .ps-del-v2__issue h3::before { top:0.4em; width:8px; height:8px; } .ps-del-v2__issue p { font-size:15.5px !important; padding-left:20px; } /* cta */ .ps-del-v2__cta { padding:32px 18px; border-radius:22px; } .ps-del-v2__cta h2 { font-size:24px !important; } .ps-del-v2__cta p { font-size:15.5px !important; } .ps-del-v2 a.ps-del-v2__btn { width:100%; min-height:54px; } } /* ========================================================= SMALL PHONE */ @media screen and (max-width:380px) { .ps-del-v2 { padding:14px 12px 28px !important; } .ps-del-v2__countdown { align-items:flex-start; } .ps-del-v2__cd-timer { min-width:74px; padding:9px 9px; font-size:12px; } .ps-del-v2__hero h1 { font-size:clamp(25px,8vw,32px) !important; } .ps-del-v2__price { padding:22px 18px; } .ps-del-v2__price-value { font-size:34px !important; } .ps-del-v2__chips { gap:6px; } .ps-del-v2__chips span { font-size:12px !important; } .ps-del-v2__issues-head { padding:22px 16px 4px; } .ps-del-v2__issue-list { padding:6px 16px 20px; } }
Delivery

Fast, fully tracked UK delivery

Everything you need to know about delivery options, dispatch times, tracking, delayed parcels and what to do if your order hasn’t arrived.

Same-Day Dispatch
Order within -- for same-day dispatch
Dispatched today if you order before 2pm.
--:--:--
Tracked 24 £2.99

Royal Mail 24 Hour Tracked — fast, fully tracked delivery in 1–2 working days.

✓ Tracked service ✓ Delivery confirmation
Free Delivery Over £9.99

Free tracked delivery on every order over £9.99. No code needed — it’s applied automatically at checkout.

✓ Free over £9.99 ✓ Same fast service

Orders placed Monday to Friday before 2pm are usually dispatched the same working day.

!

Important dispatch information

Our dispatch cut-off is 2pm, Monday to Friday. Orders placed after 2pm are usually dispatched the next working day. We don’t dispatch on weekends or public holidays. Same-day dispatch is usually available before 2pm, but isn’t guaranteed during busy periods.

Good To Know

Delivery at a glance

📅

Weekend delivery

We don’t dispatch at weekends, but orders sent on Friday may still arrive Saturday, depending on Royal Mail.

📍

Delivery coverage

We deliver to valid UK postcodes serviced by Royal Mail. If your address is accepted at checkout, delivery is available.

🔎

Tracking your order

Tracking is included. Once dispatched, your tracking link is usually added automatically and emailed to you.

⏱️

Delayed orders

Delivery times are estimates. Please allow 2 working days before contacting us about a delayed Tracked 24 order.

Delivery Issues

If something goes wrong

Here’s exactly what to do if there’s a problem with your parcel.

Marked as delivered but not received

Check with neighbours, household members and any safe places around your property, and confirm the delivery address is correct. If you still can’t locate the parcel, contact us with your order number and we’ll investigate.

Lost parcels

A parcel is classed as lost if there’s been no delivery 7 days after the due date for Royal Mail 24 Hour Tracked.

Incorrect delivery address

Please make sure your address is entered correctly. If a parcel is returned due to an incorrect address, we’ll refund the product cost only — the original postage isn’t refunded.

Missed delivery or not collected

If Royal Mail attempts delivery and the parcel isn’t collected or rearranged, it may be returned to us. We’ll refund the product cost only.

Refused delivery

If a parcel is refused and returned to us, any refund is processed once it’s been received back and checked. The original delivery charge isn’t refunded.

Out of stock items

If an item becomes unavailable after your order is placed, the missing item is refunded to your original payment method.

Need help with your delivery?

Contact our support team and include your order number so we can help faster.

Email: support@pouchstore.co.uk  ·  Hours: Mon–Fri, 9:30am–4:00pm

(function () { var root = document.querySelector('.ps-del-v2 .ps-del-v2__countdown'); if (!root) return; var mainEl = root.querySelector('[data-ps-delivery-main]'); var subEl = root.querySelector('[data-ps-delivery-sub]'); var timerEl = root.querySelector('[data-ps-delivery-timer]'); var cutoffHour = parseInt(root.getAttribute('data-cutoff-hour') || '13', 10); var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; function pad(n) { return (n < 10 ? '0' : '') + n; } function londonNow() { var s = new Date().toLocaleString('en-GB', { timeZone: 'Europe/London' }); var m = s.match(/(\d+)\/(\d+)\/(\d+),?\s+(\d+):(\d+):(\d+)/); if (!m) return new Date(); return new Date(+m[3], +m[2] - 1, +m[1], +m[4], +m[5], +m[6]); } function isWeekday(d) { var g = d.getDay(); return g >= 1 && g <= 5; } function nextCutoff(now) { var c = new Date(now); c.setHours(cutoffHour, 0, 0, 0); if (now < c && isWeekday(now)) return { t: c, today: true }; var d = new Date(now); d.setDate(d.getDate() + 1); d.setHours(cutoffHour, 0, 0, 0); while (!isWeekday(d)) d.setDate(d.getDate() + 1); return { t: d, today: false }; } function tick() { var now = londonNow(); var nc = nextCutoff(now); var diff = nc.t - now; if (diff < 0) diff = 0; var hrs = Math.floor(diff / 3600000); var mins = Math.floor((diff % 3600000) / 60000); var secs = Math.floor((diff % 60000) / 1000); if (timerEl) timerEl.textContent = pad(hrs) + ':' + pad(mins) + ':' + pad(secs); if (nc.today) { if (mainEl) mainEl.innerHTML = 'Order within <strong>' + hrs + 'h ' + mins + 'm</strong> for same-day dispatch'; if (subEl) subEl.textContent = 'Dispatched today if you order before 2pm.'; } else { if (mainEl) mainEl.innerHTML = 'Order now for dispatch on <strong>' + days[nc.t.getDay()] + '</strong>'; if (subEl) subEl.textContent = 'Our 2pm cut-off has passed for today.'; } } tick(); setInterval(tick, 1000); })();