{“@context”: “https://schema.org”, “@type”: “Article”, “headline”: “Café & Coffee Shop Equipment — The Dealer’s Guide”, “description”: “Patisserie displays, undercounter fridges, grab-and-go drinks, glasswashers and coffee kit for UK cafés — specced, supplied and installed by Craven Cooling. Live prices, real installs, honest advice.”, “image”: [“https://preview.8zero8.online/case-studies/crazy-baker-co/web/crazy-baker-co-front-set-up.webp”], “author”: {“@type”: “Person”, “@id”: “https://www.cravencooling.co.uk/darren/#person”, “name”: “Darren Craven”, “jobTitle”: “Founder & Lead Refrigeration Engineer”, “url”: “https://www.cravencooling.co.uk/darren/”, “image”: “https://www.cravencooling.co.uk/wp-content/uploads/2026/07/Darren-Craven-scaled.webp”, “worksFor”: {“@type”: “Organization”, “name”: “Craven Cooling”, “url”: “https://cravencooling.co.uk”}}, “publisher”: {“@type”: “Organization”, “name”: “Craven Cooling”, “url”: “https://cravencooling.co.uk”}, “about”: {“@type”: “Service”, “serviceType”: “Café and coffee shop equipment and refrigeration supply and installation”, “provider”: {“@type”: “Organization”, “name”: “Craven Cooling”}, “areaServed”: “United Kingdom”}, “datePublished”: “2026-07-16T09:00:00+01:00”, “dateModified”: “2026-08-01T18:00:00+01:00”} {“@context”: “https://schema.org”, “@type”: “FAQPage”, “mainEntity”: [{“@type”: “Question”, “name”: “What refrigeration does a café actually need?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Most cafés run four cold zones: a patisserie or cake display at the counter, refrigerated undercounter storage for milk and prep, a grab-and-go drinks cabinet, and back-up storage. Add a glasswasher for the cups and the coffee side is covered. You don’t need everything on day one — start with the display and the undercounter, they earn most.”}}, {“@type”: “Question”, “name”: “Chilled or ambient cake display?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Cream cakes, cheesecakes and anything dairy need a chilled display. Traybakes, pastries and cookies sell better ambient — chilling dries them out. Many cafés run a split: chilled below, ambient on top. If you only have room for one cabinet, match it to what you actually bake, not what the brochure shows.”}}, {“@type”: “Question”, “name”: “What does café refrigeration cost?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “From our live catalogue: cake display fridges from around £176 + VAT with a median around £1,878, counter fridges from around £426 + VAT, glass-door drinks merchandisers from around £537 + VAT, and glasswashers from around £129 + VAT. Finance is available on equipment over £1,000, subject to status.”}}, {“@type”: “Question”, “name”: “Can you fit a café that’s already trading?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Yes. Counter swaps and single-cabinet installs are routine — we recently supplied, installed and commissioned a full serve-over counter for a working shop inside a single day’s closure. We plan the delivery route, the rip-out and the commissioning around your opening hours.”}}, {“@type”: “Question”, “name”: “Do you install and service as well as supply?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “We supply, deliver, install, commission and service — UK-wide, from our Swansea base. Everything carries a 2-year parts warranty, and our own engineers come back after handover: servicing and maintenance is part of the business, not an afterthought.”}}]} html,body{margin:0;padding:0;background:#fbfaf8} .cced{–paper:#fbfaf8;–plate:#ffffff;–ink:#16202a;–mut:#5c6a75;–rule:#e3e1da;–rulehard:#16202a; –blue:#0072c6;–sky:#00AEEF;–navy:#04293c;–soft:#f2f6f8;–maxw:1160px;–textw:820px; –grad:linear-gradient(135deg,#00AEEF 0%,#0072c6 60%,#003A55 130%); background:var(–paper);color:var(–ink);font-family:’Figtree’,system-ui,sans-serif;line-height:1.65;overflow:clip} .cced *,.cced *::before,.cced *::after{margin:0;padding:0;box-sizing:border-box} .cced img{max-width:100%;display:block;border:0} .cced h1,.cced h2,.cced h3,.cced p,.cced blockquote,.cced cite,.cced summary{color:inherit} .cced .serif{font-family:’Fraunces’,Georgia,serif} /* ————— masthead ————— */ .cced .mast{max-width:var(–maxw);margin:0 auto;padding:26px 22px 0} .cced .mastrow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:2px solid var(–rulehard);padding-bottom:14px} .cced .mastrow .brand{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:21px;letter-spacing:.02em} .cced .mastrow .brand i{font-style:normal;color:var(–blue)} .cced .mastrow small{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(–mut)} .cced .mastrow small.hide-s{text-align:right} /* ————— opener ————— */ .cced .opener{max-width:var(–maxw);margin:0 auto;padding:8svh 22px 0} .cced .kicker{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(–blue);margin-bottom:26px} .cced .kicker::before{content:””;width:36px;height:1px;background:var(–blue)} .cced h1{font-family:’Fraunces’,Georgia,serif;font-weight:560;font-size:clamp(44px,8.4vw,104px);line-height:.98;letter-spacing:-.015em;max-width:1000px} .cced h1 em{font-style:italic;color:var(–blue)} .cced .strap{margin-top:26px;font-size:clamp(18px,2.6vw,25px);font-weight:800;letter-spacing:-.01em} .cced .standfirst{margin-top:14px;max-width:640px;font-size:clamp(16px,2vw,18.5px);color:#31414e} .cced .byline{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px 26px;border-top:1px solid var(–rule);border-bottom:1px solid var(–rule);padding:12px 0;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(–mut)} .cced .byline b{color:var(–ink)} /* ————— figures: printed captions, never overlaid ————— */ .cced figure.plate{max-width:var(–maxw);margin:6svh auto 0;padding:0 22px} .cced figure.plate img{width:100%;height:auto;max-height:78svh;object-fit:cover;border:1px solid var(–rule)} .cced figure.plate figcaption{display:flex;gap:12px;padding:12px 2px 0;font-size:12.5px;color:var(–mut);line-height:1.55} .cced figure.plate figcaption::before{content:””;flex:0 0 22px;height:1px;background:var(–rulehard);margin-top:9px} .cced figure.plate figcaption b{color:var(–ink)} /* ————— by-the-numbers strip ————— */ .cced .numbers{max-width:var(–maxw);margin:7svh auto 0;padding:0 22px} .cced .numbers .ngrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(–rulehard);border-bottom:1px solid var(–rule)} .cced .numbers .ngrid>div{padding:28px 22px 26px;border-left:1px solid var(–rule)} .cced .numbers .ngrid>div:first-child{border-left:0;padding-left:2px} .cced .numbers b{display:block;font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:clamp(34px,5vw,58px);line-height:1;color:var(–ink)} .cced .numbers b i{font-style:normal} .cced .numbers small{display:block;margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(–mut)} /* ————— departments / sections ————— */ .cced section{padding:9svh 22px 0} .cced .wrap{max-width:var(–maxw);margin:0 auto} .cced .dept{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(–blue);margin-bottom:22px} .cced .dept span{color:var(–mut);letter-spacing:.2em} .cced .dept::after{content:””;flex:1;height:1px;background:var(–rule)} .cced h2{font-family:’Fraunces’,Georgia,serif;font-weight:560;font-size:clamp(30px,4.6vw,54px);line-height:1.06;letter-spacing:-.01em;max-width:820px} .cced .lede{margin-top:22px;font-size:clamp(17px,2.2vw,21px);font-weight:500;color:#22323f;max-width:var(–textw)} .cced .article{margin-top:22px;max-width:900px;column-count:2;column-gap:48px;column-rule:1px solid var(–rule)} .cced .article p{font-size:15.5px;color:#3a4a56;margin-bottom:14px;break-inside:avoid-column} .cced .article p.drop::first-letter{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:58px;line-height:.83;float:left;padding:6px 10px 0 0;color:var(–navy)} .cced .article a,.cced .lede a{color:var(–blue);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(0,114,198,.4)} /* ————— the buying guide (zones) ————— */ .cced .entries{margin-top:40px;border-top:2px solid var(–rulehard)} .cced .entry{display:grid;grid-template-columns:88px 300px 1fr;gap:34px;padding:42px 0;border-bottom:1px solid var(–rule);align-items:start} .cced .entry .eno{font-family:’Fraunces’,Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1;color:var(–mut);padding-top:4px} .cced .entry .eimg{background:var(–plate);border:1px solid var(–rule);display:flex;align-items:center;justify-content:center;padding:20px;min-height:220px} .cced .entry .eimg img{max-height:200px;object-fit:contain} .cced .entry .eimg.photo{padding:0} .cced .entry .eimg.photo img{width:100%;height:100%;max-height:260px;object-fit:cover} .cced .entry h3{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:clamp(22px,2.6vw,30px);line-height:1.1} .cced .entry .ecount{display:block;margin:10px 0 12px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(–blue)} .cced .entry p{font-size:15px;color:#3a4a56;max-width:560px} .cced .entry .pick{margin-top:18px;border-top:1px solid var(–rule);padding-top:14px;max-width:560px} .cced .entry .pick .plabel{font-size:10.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(–mut);display:block;margin-bottom:6px} .cced .entry .pick b{font-size:15px;font-weight:800} .cced .entry .pick .pprice{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:22px;color:var(–navy);margin-top:4px} .cced .entry .pick .pprice small{font-family:’Figtree’,system-ui,sans-serif;font-size:11.5px;font-weight:700;color:var(–mut)} .cced .entry .pick .fin{display:block;font-size:12px;color:var(–mut);margin-top:2px} .cced .entry a.elink{display:inline-flex;align-items:center;margin-top:16px;padding:12px 22px;border:2px solid var(–sky);border-radius:999px;background:#fff;color:var(–blue);font-weight:800;font-size:13.5px;letter-spacing:.05em;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.cced .entry a.elink:hover{background:var(–blue);border-color:var(–blue);color:#fff} .cced .entry a.elink::after{content:”→”;margin-left:9px} /* ————— ink block (big number / planner / cta) ————— */ .cced .inkblock{margin-top:9svh;background:var(–grad);color:#fff;padding:11svh 22px} .cced .inkblock .up{display:block;text-align:center;font-size:11px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.92)} .cced .inkblock b.giant{display:block;text-align:center;font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:clamp(90px,17vw,190px);line-height:1;margin:14px 0;text-shadow:0 6px 30px rgba(0,40,70,.35)} .cced .inkblock p{max-width:560px;margin:18px auto 0;text-align:center;color:#f0faff;font-size:clamp(15px,2vw,18px)} /* ————— dealer’s column ————— */ .cced .verdicts{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(–rulehard)} .cced .verdicts>div{padding:30px 26px 6px;border-left:1px solid var(–rule)} .cced .verdicts>div:first-child{border-left:0;padding-left:2px} .cced .verdicts h3{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:21px;line-height:1.15} .cced .verdicts p{margin-top:10px;font-size:14px;color:#3a4a56} .cced .honest{margin-top:44px;background:var(–soft);border-top:3px solid var(–navy);padding:30px 32px;max-width:900px} .cced .honest .hlabel{display:block;font-size:11px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(–navy);margin-bottom:12px} .cced .honest p{font-size:15px;color:#2c3c48;max-width:760px} /* ————— listing strips (range band / tools) ————— */ .cced .listing{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(–rulehard)} .cced .listing a{display:block;padding:26px 24px 26px;border-left:1px solid var(–rule);text-decoration:none;color:inherit;transition:background .2s ease} .cced .listing a:first-child{border-left:0;padding-left:2px} .cced .listing a:hover{background:var(–soft)} .cced .listing b{display:block;font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:21px;line-height:1.15;color:var(–ink)} .cced .listing small{display:block;margin-top:8px;font-size:13px;color:var(–mut);line-height:1.5} /* ————— photo spread (jobs) ————— */ .cced .spread{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:34px} .cced .spread a{display:block;text-decoration:none;color:inherit} .cced .spread img{width:100%;height:320px;object-fit:cover;border:1px solid var(–rule)} .cced .spread .schip{display:block;margin:14px 0 6px;font-size:10.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(–blue)} .cced .spread h3{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:22px;line-height:1.15} .cced .spread p{margin-top:6px;font-size:13.5px;color:var(–mut);max-width:480px} /* ————— pull quote ————— */ .cced .quotewrap{margin-top:10svh;border-top:1px solid var(–rule);border-bottom:1px solid var(–rule);padding:9svh 22px} .cced .quote{max-width:860px;margin:0 auto;text-align:center;position:relative} .cced .quote::before{content:”“”;font-family:’Fraunces’,Georgia,serif;font-size:110px;line-height:0;display:block;color:var(–sky);margin-bottom:26px} .cced .quote blockquote{font-family:’Fraunces’,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(24px,3.6vw,40px);line-height:1.3;border:0;background:none} .cced .quote blockquote em{font-style:italic;color:var(–blue)} .cced .quote cite{display:block;margin-top:22px;color:var(–mut);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-style:normal;font-weight:700} /* ————— energy ————— */ .cced .bars{margin-top:34px;max-width:760px;border-top:2px solid var(–rulehard)} .cced .bar{padding:20px 0 22px;border-bottom:1px solid var(–rule)} .cced .bar .blabel{display:flex;justify-content:space-between;gap:14px;font-size:14px;font-weight:700;margin-bottom:12px} .cced .bar .blabel span:last-child{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:19px;color:var(–navy)} .cced .bar .btrack{height:10px;background:#ecebe6} .cced .bar .bfill{height:100%;width:0;transition:width 1.4s cubic-bezier(.2,.7,.2,1)} .cced .bar .bfill.cool{background:var(–blue)} .cced .bar .bfill.warm{background:#c2410c} .cced .barnote{font-size:12.5px;color:var(–mut);max-width:760px;margin-top:14px} .cced .barnote a{color:var(–blue);font-weight:700} /* ————— planner insert ————— */ .cced .planner{margin-top:38px;background:var(–grad);color:#fff;padding:7svh 40px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center} .cced .planner .plabel{display:block;font-size:10.5px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.92);margin-bottom:14px} .cced .planner h3{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:clamp(26px,3.6vw,42px);line-height:1.1} .cced .planner p{color:#f0faff;margin-top:14px;font-size:15.5px;max-width:480px} .cced .planner .pbtns{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap} .cced .planner .pvis{text-align:center} .cced .planner .pvis svg{width:100%;max-width:250px;height:auto;opacity:.95} /* ————— buttons: square, print-weight ————— */ .cced a.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 28px;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .2s ease;border:1.5px solid transparent} .cced a.btn:hover{transform:translateY(-2px)} .cced a.btn.solid{background:#fff;color:var(–navy)} .cced a.btn.ghost{border-color:rgba(255,255,255,.7);color:#fff;background:transparent} /* ————— catalogue rail ————— */ .cced .rail{margin-top:34px} .cced .chips{display:flex;gap:28px;flex-wrap:wrap;border-bottom:1px solid var(–rule)} .cced .chips button{font-family:’Figtree’,system-ui,sans-serif;font-size:13px;font-weight:800;letter-spacing:.04em;padding:12px 0;border:0;background:none;color:var(–mut);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s ease} .cced .chips button:hover{color:var(–ink)} .cced .chips button.on{color:var(–ink);border-bottom-color:var(–sky)} .cced .railgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;margin-top:0;border-bottom:1px solid var(–rule)} .cced .prod{background:none;border-left:1px solid var(–rule);padding:22px 20px;text-decoration:none;display:block;transition:background .2s ease} .cced .prod:hover{background:var(–soft)} .cced .prod:first-child{border-left:0} .cced .prod .pimg{height:150px;display:flex;align-items:center;justify-content:center;background:var(–plate);border:1px solid var(–rule);margin-bottom:14px} .cced .prod .pimg img{max-height:128px;max-width:88%;object-fit:contain} .cced .prod b{display:block;font-size:13.5px;font-weight:700;color:var(–ink);line-height:1.4;min-height:38px} .cced .prod .pprice{margin-top:10px;font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:19px;color:var(–navy)} .cced .prod .pprice small{font-family:’Figtree’,system-ui,sans-serif;font-size:11px;color:var(–mut);font-weight:700} .cced .railnote{font-size:12px;color:var(–mut);margin-top:12px} /* ————— Q&A ————— */ .cced .faq{max-width:860px;margin:36px 0 0;border-top:2px solid var(–rulehard)} .cced details{border-bottom:1px solid var(–rule)} .cced summary{cursor:pointer;list-style:none;padding:22px 2px;font-family:’Fraunces’,Georgia,serif;font-size:19px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px} .cced summary::-webkit-details-marker{display:none} .cced summary::after{content:”+”;font-family:’Figtree’,system-ui,sans-serif;font-size:22px;font-weight:900;color:var(–blue);flex-shrink:0;transition:transform .25s ease} .cced details[open] summary::after{transform:rotate(45deg)} .cced details .fa{padding:0 2px 22px;color:#3a4a56;font-size:14.5px;max-width:760px} .cced details .fa a{color:var(–blue);font-weight:700} /* ————— closing ————— */ .cced .cta{margin-top:10svh;background:var(–grad);color:#fff;padding:11svh 22px;text-align:center} .cced .cta .up{display:block;font-size:11px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.92);margin-bottom:16px} .cced .cta h2{color:#fff;margin:0 auto;font-size:clamp(30px,4.8vw,56px)} .cced .cta p{color:#f0faff;max-width:520px;margin:18px auto 32px} .cced .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap} .cced .endmark{max-width:var(–maxw);margin:0 auto;padding:34px 22px 40px;display:flex;justify-content:space-between;gap:14px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(–mut)} .cced .endmark b{color:var(–ink)} /* ————— motion ————— */ .cced .rev{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease} .cced .rev.on{opacity:1;transform:none} @media(max-width:980px){ .cced .entry{grid-template-columns:56px 220px 1fr;gap:24px} .cced .verdicts{grid-template-columns:1fr} .cced .verdicts>div{border-left:0;padding:24px 2px 8px;border-top:1px solid var(–rule)} .cced .verdicts>div:first-child{border-top:0} .cced .listing{grid-template-columns:1fr 1fr} .cced .listing a{padding:22px 18px} .cced .listing a:nth-child(odd){border-left:0;padding-left:2px} } @media(max-width:820px){ .cced .article{column-count:1} .cced .planner{grid-template-columns:1fr;padding:6svh 26px} .cced .planner .pvis{display:none} .cced .spread{grid-template-columns:1fr} .cced .spread img{height:260px} } @media(max-width:700px){ .cced .mastrow small.hide-s{display:none} .cced .entry{grid-template-columns:1fr;gap:18px;padding:32px 0} .cced .entry .eno{font-size:30px;padding-top:0} .cced .entry .eimg{min-height:0;padding:16px} .cced .entry .eimg img{max-height:150px} .cced .numbers .ngrid>div{padding:20px 12px} .cced .listing{grid-template-columns:1fr} .cced .listing a{border-left:0;padding-left:2px} .cced .railgrid{grid-template-columns:1fr 1fr} } @media(prefers-reduced-motion:reduce){.cced .rev{opacity:1;transform:none;transition:none}.cced .bar .bfill{transition:none}} /* ———— engine instrument: range-fit (verbatim from widgets/range-fit/widget.css) ———— */ .ccpx-w-range-fit{margin:34px 0 0} .ccpx-w-range-fit{container:range-fit/inline-size;–blue:#00aeef;–ink:#07131d;–slate:#526473;–line:#dbe4e9;–paper:#f2f6f8;–soft:#e8f8fe; background:#fff;border:2px solid var(–blue);border-radius:22px;padding:22px 26px 20px; font-family:-apple-system,BlinkMacSystemFont,sans-serif} .rf-head span{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(–blue)} .rf-head h2{font-size:24px;font-weight:800;line-height:1.1;color:var(–ink);margin:5px 0 14px} .rf-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px} .rf-dial{border:1.5px solid var(–line);border-radius:14px;padding:12px 16px 14px;background:var(–paper)} .rf-dial label{display:flex;justify-content:space-between;align-items:baseline; font-size:10.5px;font-weight:800;letter-spacing:.1em;color:var(–slate)} .rf-dial label output{font-size:17px;font-weight:800;color:var(–ink);letter-spacing:0} .rf-dial input[type=range]{width:100%;margin:10px 0 0;accent-color:var(–blue);height:22px} .rf-results{min-height:240px} .rf-meta{display:flex;justify-content:space-between;align-items:baseline;margin:0 2px 10px} .rf-meta b{font-size:13px;font-weight:800;color:var(–ink)} .rf-meta span{font-size:11.5px;font-weight:600;color:var(–slate)} .rf-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin; scrollbar-color:var(–line) transparent} .rf-card{flex:0 0 186px;display:flex;flex-direction:column;text-decoration:none;background:#fff; border:1.5px solid var(–line);border-radius:14px;padding:12px 12px 13px;position:relative; transition:transform .16s,box-shadow .16s,border-color .16s} .rf-card:hover{transform:translateY(-4px);border-color:var(–blue);box-shadow:0 12px 26px rgba(7,19,29,.11)} .rf-card.rf-me{border:2px solid var(–blue);background:linear-gradient(180deg,#fff,var(–soft))} .rf-card.rf-stretch{border-style:dashed;border-color:var(–slate)} .rf-tag{font-size:9px;font-weight:800;letter-spacing:.11em;color:var(–slate);background:var(–paper); border-radius:999px;padding:4px 8px;align-self:flex-start} .rf-me .rf-tag{color:#fff;background:var(–blue)} .rf-stretch .rf-tag{color:#fff;background:var(–ink)} .rf-imgbox{height:96px;display:grid;place-items:center;margin:8px 0 6px} .rf-imgbox img{max-height:94px;max-width:100%;object-fit:contain;mix-blend-mode:multiply} .rf-nm{font-size:12.5px;font-weight:600;line-height:1.28;color:var(–ink);margin:0 0 5px; display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px} .rf-pr{font-size:19px;font-weight:800;color:var(–ink)} .rf-pr small{font-size:9.5px;font-weight:600;color:var(–slate);margin-left:4px} .rf-fits{display:flex;flex-direction:column;gap:3px;margin-top:8px} .rf-fit{font-size:10.5px;font-weight:700;color:#1c7a3d;background:#dff3e3;border-radius:6px; padding:4px 7px;font-style:normal;align-self:flex-start} .rf-fit.rf-over{color:#fff;background:var(–ink)} .rf-fit.rf-info{color:var(–slate);background:var(–paper)} .rf-none{border:1.5px dashed var(–line);border-radius:14px;padding:22px;text-align:center; font-size:14px;font-weight:600;color:var(–slate)} .rf-none b{color:var(–ink)} @container range-fit (max-width:700px){.rf-controls{grid-template-columns:1fr}.rf-head h2{font-size:20px}} .rf-dial input[type=range]{ -webkit-appearance:none!important;appearance:none!important; width:100%!important;height:26px!important;margin:10px 0 0!important; padding:0!important;border:0!important;background:transparent!important; box-shadow:none!important;cursor:pointer} .rf-dial input[type=range]::-webkit-slider-runnable-track{ height:6px;border-radius:999px;border:0; background:linear-gradient(to right,var(–blue) 0 var(–fill,50%),#d7e3ea var(–fill,50%) 100%)} .rf-dial input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px; border-radius:50%;background:var(–blue);border:3px solid #fff; box-shadow:0 1px 4px rgba(7,19,29,.35)} .rf-dial input[type=range]::-moz-range-track{ height:6px;border-radius:999px;border:0; background:linear-gradient(to right,var(–blue) 0 var(–fill,50%),#d7e3ea var(–fill,50%) 100%)} .rf-dial input[type=range]::-moz-range-thumb{ width:22px;height:22px;border-radius:50%;background:var(–blue); border:3px solid #fff;box-shadow:0 1px 4px rgba(7,19,29,.35)} .rf-dial input[type=range]:focus{outline:none} .rf-dial input[type=range]:focus::-webkit-slider-thumb{ box-shadow:0 0 0 4px rgba(0,174,239,.25)} .rf-dial input[type=range]:focus::-moz-range-thumb{ box-shadow:0 0 0 4px rgba(0,174,239,.25)} .cced .mastrow{justify-content:center} .cced .mastrow .brand{font-size:24px} .cced .mastrow{justify-content:center} .cced .mastrow .brand{font-size:24px} .cced .mastrow{justify-content:center} .cced .mastrow .brand{font-size:24px} .cced .mastrow{justify-content:center} .cced .mastrow .brand{font-size:24px} .cced .mastrow{justify-content:center} .cced .mastrow .brand{font-size:24px} /* ———— brief spread: article beside the photo (Nick, 1 Aug) ———— */ .cced .briefgrid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:stretch;margin-top:26px} .cced .briefgrid .article{margin-top:0;max-width:none;column-count:1;column-rule:none} .cced .briefgrid figure.plate{margin:0;padding:0;max-width:none} .cced .briefgrid figure.plate img{width:100%;height:100%;min-height:340px;max-height:none;object-fit:cover} @media(max-width:820px){.cced .briefgrid{grid-template-columns:1fr;gap:26px}.cced .briefgrid figure.plate img{min-height:0;max-height:52svh}} /* ———— at-a-glance plate (the FridgeSmart card, editorialised — Nick, 1 Aug) ———— */ .cced .glance{max-width:var(–maxw);margin:6svh auto 0;padding:0 22px} .cced .glance .gcard{background:var(–grad);color:#fff;padding:clamp(30px,5vw,52px)} .cced .glance .glabel{display:block;font-size:11px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.92)} .cced .glance h3{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:clamp(24px,3.4vw,38px);line-height:1.1;margin-top:12px} .cced .glance .ggrid{display:grid;grid-template-columns:1fr 1fr;gap:20px 46px;margin-top:30px} .cced .glance .gitem{display:flex;align-items:center;gap:16px} .cced .glance .gitem svg{width:27px;height:27px;flex:none;color:#bfeaff} .cced .glance .gitem b{display:block;font-size:16.5px;font-weight:700;line-height:1.25} .cced .glance .gitem small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:3px} @media(max-width:700px){.cced .glance .ggrid{grid-template-columns:1fr;gap:16px}} /* ———— zone sales cards (Nick, 1 Aug: “make them look like proper product cards”) ———— */ .cced .eno small{display:block;font-family:’Figtree’,system-ui,sans-serif;font-size:10px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(–blue);margin-bottom:6px} .cced .entry.ecard{grid-template-columns:88px 1fr 350px} .cced .pcard{border:1px solid var(–rule);background:var(–plate);padding:24px 24px 22px} .cced .pcard .pctag{display:block;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(–blue)} .cced .pcard .pcimg{height:175px;display:grid;place-items:center;margin:12px 0 8px} .cced .pcard .pcimg img{max-height:165px;max-width:92%;object-fit:contain} .cced .pcard .pcname{display:block;font-size:14.5px;font-weight:800;line-height:1.35;color:var(–ink)} .cced .pcard ul{list-style:none;margin:12px 0 0;padding:0} .cced .pcard li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid var(–rule);font-size:12.5px;color:var(–mut)} .cced .pcard li b{color:var(–ink);font-weight:700;text-align:right} .cced .pcard .pprice{margin-top:12px;border-top:2px solid var(–rulehard);padding-top:12px;font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:24px;color:var(–navy)} .cced .pcard .pprice small{font-family:’Figtree’,system-ui,sans-serif;font-size:11.5px;font-weight:700;color:var(–mut)} .cced .pcard .fin{display:block;font-size:11.5px;color:var(–mut);margin-top:3px} .cced .pcard a.pcbtn{display:block;margin-top:16px;text-align:center;padding:13px 10px;border:1.5px solid var(–ink);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(–ink);text-decoration:none;transition:background .2s ease,color .2s ease} .cced .pcard a.pcbtn:hover{background:var(–ink);color:#fff} @media(max-width:980px){.cced .entry.ecard{grid-template-columns:56px 1fr}.cced .entry.ecard .pcard{grid-column:2;max-width:430px}} @media(max-width:700px){.cced .entry.ecard{grid-template-columns:1fr}.cced .entry.ecard .pcard{grid-column:auto;max-width:none}} /* ———— unified zone cards: one object per zone (Nick, 1 Aug: “one card, use the space”) ———— */ .cced .entries{border-top:0;display:grid;gap:28px} .cced .zonecard{border:1px solid var(–rule);background:var(–plate)} .cced .zc-head{display:flex;align-items:baseline;gap:20px;padding:18px 28px;border-bottom:1px solid var(–rule);flex-wrap:wrap} .cced .zc-no{font-family:’Fraunces’,Georgia,serif;font-weight:400;font-size:32px;color:var(–mut);display:inline-flex;align-items:baseline;gap:10px} .cced .zc-no small{font-family:’Figtree’,system-ui,sans-serif;font-size:10px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(–blue)} .cced .zc-head h3{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:clamp(21px,2.6vw,29px);line-height:1.1} .cced .zc-count{margin-left:auto;font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(–blue)} .cced .zc-body{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;padding:26px 28px;align-items:center} .cced .zc-body p{font-size:15px;color:#3a4a56;max-width:560px} .cced .zc-body .elink{display:inline-flex;align-items:center;margin-top:16px;padding:12px 22px;border:2px solid var(–sky);border-radius:999px;background:#fff;color:var(–blue);font-weight:800;font-size:13.5px;letter-spacing:.05em;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.cced .zc-body .elink:hover{background:var(–blue);border-color:var(–blue);color:#fff} .cced .zc-body .elink::after{content:”→”;margin-left:9px} .cced .zc-img{display:grid;place-items:center;min-height:220px} .cced .zc-img img{max-height:225px;max-width:94%;object-fit:contain} .cced .zc-img.photo{min-height:0} .cced .zc-img.photo img{width:100%;height:100%;max-height:280px;object-fit:cover;border:1px solid var(–rule)} .cced .zc-pick{display:grid;grid-template-columns:1fr auto;gap:18px 44px;align-items:center;border-top:2px solid var(–rulehard);padding:20px 28px 22px;background:var(–soft)} .cced .zc-pick .pctag{display:block;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(–blue)} .cced .zc-pick .pcname{display:block;font-size:15px;font-weight:800;color:var(–ink);margin-top:5px} .cced .zc-specs{display:flex;flex-wrap:wrap;margin-top:14px;row-gap:10px} .cced .zc-spec{padding:0 20px;border-left:1px solid #d5dde2} .cced .zc-spec:first-child{border-left:0;padding-left:0} .cced .zc-spec small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(–mut);margin-bottom:2px} .cced .zc-spec b{font-size:13.5px;font-weight:700;color:var(–ink);white-space:nowrap} .cced .zc-buy{display:grid;gap:4px;justify-items:end;text-align:right} .cced .zc-buy .pprice{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:27px;color:var(–navy)} .cced .zc-buy .pprice small{font-family:’Figtree’,system-ui,sans-serif;font-size:11.5px;font-weight:700;color:var(–mut)} .cced .zc-buy .fin{font-size:11.5px;color:var(–mut)} .cced .zc-buy a.pcbtn{display:inline-block;margin-top:8px;padding:12px 24px;border:1.5px solid var(–ink);font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(–ink);text-decoration:none;transition:background .2s ease,color .2s ease} .cced .zc-buy a.pcbtn:hover{background:var(–ink);color:#fff} .cced .zc-pick .zc-note{font-size:13px;color:#3a4a56;margin-top:8px;max-width:640px} @media(max-width:980px){.cced .zc-body{grid-template-columns:1fr;gap:20px}.cced .zc-pick{grid-template-columns:1fr}.cced .zc-buy{justify-items:start;text-align:left}} @media(max-width:700px){.cced .zc-head{padding:16px 18px}.cced .zc-body{padding:20px 18px}.cced .zc-pick{padding:18px 18px 20px}.cced .zc-count{margin-left:0;flex-basis:100%}.cced .zc-spec{padding:0 14px}} /* ———— the shop plan: drawn survey sketch, tap a zone (concept, 1 Aug) ———— */ .cced .shopplan{margin-top:38px;border:1px solid var(–rule);background:var(–plate);padding:clamp(16px,3vw,34px) clamp(16px,3vw,34px) 0} .cced .shopplan svg{width:100%;height:auto;display:block} .cced .shopplan svg a{cursor:pointer} .cced .shopplan svg a circle{fill:#fff;stroke:var(–blue);stroke-width:2;transition:fill .18s ease} .cced .shopplan svg a text{font-family:’Figtree’,system-ui,sans-serif;font-size:12.5px;font-weight:800;fill:var(–ink);text-anchor:middle;dominant-baseline:central;transition:fill .18s ease} .cced .shopplan svg a:hover circle{fill:var(–blue)} .cced .shopplan svg a:hover text{fill:#fff} .cced .plancap{font-size:12.5px;color:var(–mut);padding:14px 2px 0;line-height:1.55} .cced .plancap b{color:var(–ink)} .cced .plancap a{color:var(–blue);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(0,114,198,.4)} .cced .planlegend{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 2px 16px;border-top:1px solid var(–rule);margin-top:12px} .cced .planlegend span{font-size:12px;color:var(–mut);font-weight:600} .cced .planlegend span i{font-style:normal;font-family:’Fraunces’,Georgia,serif;color:var(–blue);font-weight:600;margin-right:7px} .cced .zonecard{scroll-margin-top:90px} /* ———— plan pill: tap a zone, the product pops on the map ———— */ .cced .planwrap{position:relative} .cced .planpill{position:absolute;z-index:5;width:min(300px,88%);background:#fff;border:1px solid var(–rule);border-top:3px solid var(–blue);box-shadow:0 18px 44px rgba(7,19,29,.16);padding:18px 18px 16px} .cced .planpill[hidden]{display:none} .cced .pp-close{position:absolute;top:8px;right:10px;border:0;background:none;font-size:20px;font-weight:800;color:var(–mut);cursor:pointer;line-height:1;padding:4px} .cced .pp-img{height:110px;display:grid;place-items:center;margin-bottom:10px} .cced .pp-img img{max-height:105px;max-width:80%;object-fit:contain} .cced .pp-zone{display:block;font-size:9.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(–blue)} .cced .pp-name{display:block;font-size:13.5px;font-weight:800;color:var(–ink);margin-top:4px;line-height:1.3} .cced .pp-spec{display:block;font-size:11.5px;color:var(–mut);margin-top:3px} .cced .pp-price{font-family:’Fraunces’,Georgia,serif;font-weight:600;font-size:21px;color:var(–navy);margin-top:8px} .cced .pp-price small{font-family:’Figtree’,system-ui,sans-serif;font-size:10.5px;font-weight:700;color:var(–mut)} .cced .pp-actions{display:flex;gap:14px;align-items:center;margin-top:12px;border-top:1px solid var(–rule);padding-top:12px} .cced .pp-actions a{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none} .cced .pp-actions .pp-view{color:#fff;background:var(–blue);padding:9px 14px} .cced .pp-actions .pp-read{color:var(–ink)} /* ———— neon plan variant: Nick’s generated map, hotspots + neon pills (1 Aug) ———— */ .cced .planwrap.neon .planbase{width:100%;height:auto;display:block} .cced .shopplan:has(.planwrap.neon){background:#06121c;border-color:#0e2c40} .cced .shopplan:has(.planwrap.neon) .plancap{color:#8fb6c9} .cced .shopplan:has(.planwrap.neon) .plancap b{color:#eaf7ff} .cced .shopplan:has(.planwrap.neon) .plancap a{color:#7fdcff;border-bottom-color:rgba(127,220,255,.4)} .cced .shopplan:has(.planwrap.neon) .planlegend{border-top-color:#0e2c40} .cced .shopplan:has(.planwrap.neon) .planlegend span{color:#8fb6c9} .cced .shopplan:has(.planwrap.neon) .planlegend span i{color:#7fdcff} .cced .planmark-img{position:absolute;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid transparent;transition:border-color .18s ease,box-shadow .18s ease;cursor:pointer} .cced .planmark-img:hover{border-color:#7fdcff;box-shadow:0 0 18px rgba(0,174,239,.75),inset 0 0 12px rgba(0,174,239,.35)} .cced .planwrap.neon .planpill{background:#06121c;border:1.5px solid #00AEEF;border-top-width:1.5px;box-shadow:0 0 22px rgba(0,174,239,.55),0 18px 44px rgba(2,10,18,.6)} .cced .planwrap.neon .pp-close{color:#7fdcff} .cced .planwrap.neon .pp-img{background:rgba(0,174,239,.06);border:1px solid rgba(0,174,239,.25)} .cced .planwrap.neon .pp-img img{mix-blend-mode:normal;filter:drop-shadow(0 0 10px rgba(0,174,239,.35))} .cced .planwrap.neon .pp-zone{color:#7fdcff} .cced .planwrap.neon .pp-name{color:#fff} .cced .planwrap.neon .pp-spec{color:#8fb6c9} .cced .planwrap.neon .pp-price{color:#7fdcff} .cced .planwrap.neon .pp-price small{color:#8fb6c9} .cced .planwrap.neon .pp-actions{border-top-color:#0e2c40} .cced .planwrap.neon .pp-actions .pp-view{background:transparent;border:1.5px solid #00AEEF;color:#7fdcff;box-shadow:0 0 12px rgba(0,174,239,.35)} .cced .planwrap.neon .pp-actions .pp-view:hover{background:#00AEEF;color:#04121c} .cced .planwrap.neon .pp-actions .pp-read{color:#eaf7ff} /* ———— pill rounding + skins (Nick, 1 Aug: rounded, black vs blue — switcher to decide) ———— */ .cced .planpill{border-radius:18px} .cced .pp-img{border-radius:12px} .cced .pp-actions .pp-view{border-radius:999px} .cced .planwrap.neon .planpill{background:linear-gradient(160deg,rgba(10,58,88,.96),rgba(4,30,48,.97));backdrop-filter:blur(6px);border:1.5px solid #00AEEF;box-shadow:0 0 24px rgba(0,174,239,.55),0 18px 44px rgba(2,10,18,.55)} .cced .planwrap.neon.pill-black .planpill{background:#06121c} .cced .planwrap.neon.pill-paper .planpill{background:#fff;backdrop-filter:none;box-shadow:0 0 24px rgba(0,174,239,.4),0 18px 44px rgba(2,10,18,.35)} .cced .planwrap.neon.pill-paper .pp-zone{color:var(–blue)} .cced .planwrap.neon.pill-paper .pp-name{color:var(–ink)} .cced .planwrap.neon.pill-paper .pp-spec{color:var(–mut)} .cced .planwrap.neon.pill-paper .pp-price{color:var(–navy)} .cced .planwrap.neon.pill-paper .pp-price small{color:var(–mut)} .cced .planwrap.neon.pill-paper .pp-img{background:var(–soft);border-color:var(–rule)} .cced .planwrap.neon.pill-paper .pp-actions{border-top-color:var(–rule)} .cced .planwrap.neon.pill-paper .pp-actions .pp-view{background:var(–blue);border-color:var(–blue);color:#fff;box-shadow:none} .cced .planwrap.neon.pill-paper .pp-actions .pp-read{color:var(–ink)} .cced .planwrap.neon.pill-paper .pp-close{color:var(–mut)} .cced .planskins{position:absolute;top:12px;right:12px;z-index:6;display:flex;gap:8px} .cced .planskins button{font-family:’Figtree’,system-ui,sans-serif;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;border-radius:999px;border:1px solid rgba(127,220,255,.5);background:rgba(4,18,28,.6);color:#7fdcff;cursor:pointer;transition:all .18s ease} .cced .planskins button.on{background:#00AEEF;border-color:#00AEEF;color:#04121c} /* ———— light glass map variant: paper world, our own numbered markers (1 Aug) ———— */ .cced .shopplan:has(.planwrap.lightmap){background:var(–plate);border-color:var(–rule)} .cced .shopplan:has(.planwrap.lightmap) .plancap{color:var(–mut)} .cced .shopplan:has(.planwrap.lightmap) .plancap b{color:var(–ink)} .cced .shopplan:has(.planwrap.lightmap) .plancap a{color:var(–blue);border-bottom-color:rgba(0,114,198,.4)} .cced .shopplan:has(.planwrap.lightmap) .planlegend{border-top-color:var(–rule)} .cced .shopplan:has(.planwrap.lightmap) .planlegend span{color:var(–mut)} .cced .shopplan:has(.planwrap.lightmap) .planlegend span i{color:var(–blue)} .cced .planmark-num{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(–blue);border:2px solid #fff;color:#fff;font-family:’Figtree’,system-ui,sans-serif;font-size:12px;font-weight:800;display:grid;place-items:center;text-decoration:none;box-shadow:0 0 16px rgba(0,174,239,.6),0 4px 12px rgba(7,19,29,.18);transition:transform .18s ease,box-shadow .18s ease;cursor:pointer} .cced .planmark-num:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 0 26px rgba(0,174,239,.85),0 6px 16px rgba(7,19,29,.22)} .cced .planwrap.lightmap .planskins button{border-color:rgba(0,114,198,.45);background:rgba(255,255,255,.75);color:var(–deep,#0072c6)} .cced .planwrap.lightmap .planskins button.on{background:#00AEEF;border-color:#00AEEF;color:#fff} /* ———— map venue labels + the walk spine down the page (Nick, 1 Aug: paper wins) ———— */ .cced .planlabel{position:absolute;transform:translate(-50%,-50%);font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#3f606f;text-shadow:0 0 6px #fff,0 0 12px #fff;pointer-events:none} .cced .entries.walk{position:relative;padding-left:70px} .cced .entries.walk::before{content:””;position:absolute;left:16px;top:-30px;bottom:-6px;border-left:2px dashed rgba(0,114,198,.4)} .cced .entries.walk::after{content:”2193″;position:absolute;left:9px;bottom:-36px;font-size:19px;font-weight:800;color:var(–blue)} .cced .zonecard{position:relative} .cced .wstation{position:absolute;left:-70px;top:18px;width:34px;height:34px;border-radius:50%;background:var(–blue);border:2px solid #fff;color:#fff;font-family:’Figtree’,system-ui,sans-serif;font-size:12px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 16px rgba(0,174,239,.5),0 4px 12px rgba(7,19,29,.15)} @media(max-width:700px){.cced .entries.walk{padding-left:44px}.cced .entries.walk::before{left:10px}.cced .wstation{left:-44px;width:26px;height:26px;font-size:10px;border-width:1.5px}.cced .entries.walk::after{left:3px}} /* ———— zone cards match the range-fit shelf frame (Nick, 1 Aug: blue line sets it off) ———— */ .cced .zonecard{border:2px solid var(–sky);border-radius:22px} .cced .zonecard .zc-head{border-radius:20px 20px 0 0} .cced .zonecard .zc-pick{border-radius:0 0 20px 20px} /* ———— map card joins the family: same blue frame as cards + shelf ———— */ .cced .shopplan{border:2px solid var(–sky);border-radius:22px} .cced .planwrap .planbase{border-radius:12px} /* ———— legend: centred, round numbered dots matching map + spine ———— */ .cced .planlegend{justify-content:center;gap:12px 26px} .cced .planlegend a{display:inline-flex;align-items:center;font-size:12.5px;color:var(–mut);font-weight:600;text-decoration:none;transition:color .18s ease} .cced .planlegend a:hover{color:var(–ink)} .cced .planlegend a i,.cced .planlegend span i{font-style:normal;font-family:’Figtree’,system-ui,sans-serif;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(–blue);border:1.5px solid #fff;color:#fff;font-size:9.5px;font-weight:800;margin-right:8px;box-shadow:0 0 10px rgba(0,174,239,.45),0 2px 6px rgba(7,19,29,.15)} .cced .shopplan:has(.planwrap.lightmap){border:2px solid var(–sky);border-radius:22px} /* live counts inherit their context */ .cced .zc-count i.lc{font-style:normal} .cced .byline a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,114,198,.4)} .entry-meta{display:none!important}
Sector guide · Craven Cooling

Café & coffee shop equipment.

The counter is the shop window. Build it cold.

Patisserie displays, coffee machines, ovens, blenders, ice machines — and the cups it all gets served in. That’s The Crazy Baker & Co in the photo: a brand-new Swansea café we designed and fitted front to back for opening day. Walk your café with us, zone by zone, live prices included.

The finished counter at The Crazy Baker & Co, Swansea city centre — stocked patisserie displays, doughnut tower and drinks fridge, fitted by Craven Cooling
The finished counter at The Crazy Baker & Co, Swansea city centre — stocked patisserie displays, doughnut tower and drinks fridge, fitted by Craven Cooling
0Patisserie display lines in stock
0Coffee & hot drinks lines
0Glasswasher lines in stock
At a glance

Built for busy cafés & coffee shops.

Patisserie display198 cake display lines
Undercounter & prep246 counter fridge lines
Grab-and-go drinks313 cooler & merchandiser lines
Glasswasher corner127 glasswasher lines
Coffee side36 bean-to-cup lines
No. 01 — The brief

Where the margin lives

A café earns its living twice: once on the coffee, once on what the customer picks up while they wait. Both depend on cold — the cake display that makes the decision for them, the milk that never runs warm, the cold brew and cans by the till.

The kit list for a café is short but every piece works all day: a patisserie display at the counter, refrigerated prep and milk storage below it, a grab-and-go cabinet, and a glasswasher that turns cups around faster than the queue builds. Get those four right and the shop runs itself. This guide walks each one with real prices from our catalogue.

Behind the counter at The Crazy Baker & Co — jacket potato oven, blenders, espresso machine, ice machine and refrigerated prep counter
One supplier, the whole counter. Behind the counter at The Crazy Baker & Co — jacket oven, blenders, espresso, ice machine and the prep fridge, laid out by us so the team keeps moving through the rush.
No. 02 — The buying guide

Walk the café

Five zones make a café. Here’s each one, what it earns, and where we’d start — with live prices from our catalogue, all + VAT.

Illustrated glass survey plan of a typical venue for this sector — cold zones drawn as glowing glass outlines 01 02 03 04 05 Counter Entrance

A typical layout, drawn the way we survey one. Tap a zone number to jump to its kit — no two shops are the same, so plan yours in 3D.

Zone01

The patisserie display

198 cake display lines

The first thing every customer looks at while they order. Curved or flat glass, ambient or chilled — this cabinet sells the second item.

All cake displays
Polar U-Series Deli Display Fridge 485Ltr UA062 product image
The dealer’s pickPolar U-Series Deli Display Fridge 485Ltr UA062
Size W×D×H1200 × 1500 × 680 mmCapacity485 LTemp range+2 to +8 °CEnergyClass B · 5.64 kWh/day
£2,349 + VAT
Finance from £12.57/week over 5 years, subject to statusView this product
Zone02

Undercounter & prep

246 counter fridge lines

Milk, prep and back-up stock within arm’s reach of the machine. A refrigerated counter saves a walk to the back room on every single order.

All counter fridges
Fagor Concept 700 Gastronorm Counter Fridge 2 Door CCP-2G FU022 product image
The dealer’s pickFagor Concept 700 Gastronorm Counter Fridge 2 Door CCP-2G FU022
Size W×D×H850 × 1342 × 700 mmCapacity143 LEnergyClass B · 2.06 kWh/dayPower0.203 W
£1,583 + VAT
Finance from £8.47/week over 5 years, subject to statusView this product
Zone03

Grab-and-go drinks

313 cooler & merchandiser lines

Cans, juices, iced coffee, water. A slim glass-door merchandiser near the till sells cold drinks all day from half a square metre.

All coolers & merchandisers
IMC Mistral M60 Bottle Cooler 119Ltr F77/151 FP721 product image
The dealer’s pickIMC Mistral M60 Bottle Cooler 119Ltr F77/151 FP721
Size W×D×H850 × 600 × 500 mmCapacity133 LTemp range+2 to +6 °CEnergyClass C · 1.62 kWh/day
£1,317 + VAT
Finance from £7.04/week over 5 years, subject to statusView this product
Zone04

The glasswasher corner

127 glasswasher lines

Nothing kills service speed like running out of clean cups mid-rush. A proper undercounter glasswasher turns a rack around in minutes.

All glasswashers
DC SXD45A IS Standard Extra Dishwashers – frontloading 450×450 product image
The dealer’s pickDC SXD45A IS Standard Extra Dishwashers – frontloading 450×450
£3,570 + VAT
Finance from £19.10/week over 5 years, subject to statusView this product
Zone05

The coffee side

36 bean-to-cup lines

Bean-to-cup for consistency, traditional for theatre — either way it’s the engine of the shop, and it deserves kit that holds up to the queue.

All bean-to-cup machines
Bravilor Bolero Turbo 43 Instant Drinks Machine with Installation and Training JC852 product image
The dealer’s pickBravilor Bolero Turbo 43 Instant Drinks Machine with Installation and Training JC852
Size W×D×H845 × 326 × 504 mmPower3000 W
£2,592 + VAT
Finance from £13.87/week over 5 years, subject to statusView this product
In our catalogue right now 0 coffee & hot drinks equipment lines — in stock and priced

Machines, grinders, water boilers and the cold kit around them. Every line links to a live price on our site, today.

No. 03 — The dealer’s column

The dealer’s verdict

What we’d tell you across the counter, before a penny changes hands.

The display sells the cake

A tired cabinet makes fresh baking look like yesterday’s. Good glass, good light and the right temperature band lift the take on every tray you put in.

Small footprint, full duty

Café kit runs all day in a warm, busy room. We spec compact cabinets that are rated for it — not domestic lookalikes that quit the first summer.

One call, whole counter

Display, undercounter, glasswasher, coffee — we supply and install the lot, with a 2-year parts warranty and our own service engineers afterwards.

Where we’d slow you down

Don’t buy a bigger patisserie display than your baking fills — a half-empty cabinet sells nothing. Sort the glasswasher before the second grinder; clean cups win more customers than faster espresso. And check the energy class on anything that runs 24/7 — our energy decoder does the maths.

No. 04 — The range

One van. The whole café.

Cups to coffee machines, ladles to ice cream. 34,000+ products in the catalogue today — and climbing toward 50,000. The cold is where we start, not where we stop. All live-priced, all one supplier.

Clean cups, cold milk, cake in the light. That’s a café working.
The Craven Cooling install team · Swansea
No. 06 — Running costs

What it costs to run

Café cabinets run all day in a warm room — the buying price is half the story.

Efficient doored cabinet — 6 kWh/day≈ £548/year

Worked example at £0.25/kWh (kWh/day × 365 × unit rate). Check any cabinet’s real consumption with our energy label decoder — a £547-a-year gap is £2,738 over five years, which buys a lot of cabinet.

No. 07 — Plan it

Plan it before you plumb it

Only from Craven Cooling

Lay your café out in 3D. Free.

Drag real cabinets — with real prices — around a 3D model of your floor plan. Check the clearances, total the kit, get a finance figure and send us the layout. No other refrigeration dealer in the UK gives you this.

No. 08 — From the catalogue

Live from the range

Straight from the catalogue — tap a zone. Prices are pulled live from the site as the page loads.

No. 09 — Q & A

Asked across the counter

What refrigeration does a café actually need?
Most cafés run four cold zones: a patisserie or cake display at the counter, refrigerated undercounter storage for milk and prep, a grab-and-go drinks cabinet, and back-up storage. Add a glasswasher for the cups and the coffee side is covered. You don’t need everything on day one — start with the display and the undercounter, they earn most.
Chilled or ambient cake display?
Cream cakes, cheesecakes and anything dairy need a chilled display. Traybakes, pastries and cookies sell better ambient — chilling dries them out. Many cafés run a split: chilled below, ambient on top. If you only have room for one cabinet, match it to what you actually bake, not what the brochure shows.
What does café refrigeration cost?
From our live catalogue: cake display fridges from around £176 + VAT with a median around £1,878, counter fridges from around £426 + VAT, glass-door drinks merchandisers from around £537 + VAT, and glasswashers from around £129 + VAT. Finance is available on equipment over £1,000, subject to status.
Can you fit a café that’s already trading?
Yes. Counter swaps and single-cabinet installs are routine — we recently supplied, installed and commissioned a full serve-over counter for a working shop inside a single day’s closure. We plan the delivery route, the rip-out and the commissioning around your opening hours.
Do you install and service as well as supply?
We supply, deliver, install, commission and service — UK-wide, from our Swansea base. Everything carries a 2-year parts warranty, and our own engineers come back after handover: servicing and maintenance is part of the business, not an afterthought.
One call covers the lot

Tell us the café. We’ll spec the counter.

Send us a floor plan, a photo, or just the postcode. One call covers survey, supply, installation, commissioning — and the engineers who come back afterwards.

Craven Cooling · Sector guideSwansea · 01792 732702