/* ==========================================================================
   Nursecall Mats 2026: design pages (home, Maxalert and the rest)
   Ported automatically from the signed-off demo stylesheet (site.css,
   22/09/26). Every rule is scoped to .ncm-home, so none of it can reach the
   shop, the theme or our header and footer. Do not edit by hand: change the
   demo stylesheet and re-port, or add to the ADAPTER block at the end.
   Built by Rob Richardson, Digital Design NE Ltd (digdes.co.uk)
   ========================================================================== */
.ncm-home{--green:#008037; --green-d:#00662c; --green-l:#e9f4ee; --green-xl:#f4faf6; --grey:#525050; --grey-l:#F1EFEF; --white:#fff; --ink:#4a4949; --mute:#6f6d6d; --line:#e6e4e4; --pink:#EA4498; --pink-l:#fdeef6; --blue:#0092CF; --blue-l:#e6f4fb; --orange:#F99D31; --orange-l:#fef4e8; --red:#F04E23; --red-l:#fdeee9; --accent:var(--pink); --accent-l:var(--pink-l); --f:'Poppins','Segoe UI',-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif; --r:16px; --r-lg:22px; --shadow:0 12px 34px rgba(0,0,0,.09); --wrap:1240px;}
.ncm-home{--accent:var(--pink);--accent-l:var(--pink-l)}
.ncm-home *{box-sizing:border-box;margin:0;padding:0}
.ncm-home{font-family:var(--f);color:var(--ink);background:#fff;font-size:16.5px;line-height:1.62}
.ncm-home img{max-width:100%;display:block}
.ncm-home a{color:inherit;text-decoration:none}
.ncm-home button{font-family:var(--f);cursor:pointer;border:none;background:none}
.ncm-home :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){
.ncm-home *{animation:none!important;transition:none!important}
}
.ncm-home .wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
.ncm-home .wrap-n{max-width:920px;margin:0 auto;padding:0 26px}
.ncm-home section{padding:76px 0}
.ncm-home section.tight{padding:52px 0}
.ncm-home section.flush-top{padding-top:0}
.ncm-home h1,.ncm-home h2,.ncm-home h3,.ncm-home h4{color:var(--grey);font-weight:800;letter-spacing:-.6px;line-height:1.12}
.ncm-home h1{font-size:clamp(31px,4.3vw,54px)}
.ncm-home h2{font-size:clamp(25px,3.1vw,39px)}
.ncm-home h3{font-size:20px;letter-spacing:-.3px}
.ncm-home h4{font-size:16.5px;letter-spacing:-.2px}
.ncm-home em.g{font-style:normal;color:var(--green)}
.ncm-home em.a{font-style:normal;color:var(--accent)}
.ncm-home .lead{font-size:18.5px;color:var(--mute);line-height:1.6}
.ncm-home .sm{font-size:14.5px}
.ncm-home .xs{font-size:12.8px;line-height:1.5}
.ncm-home p+p{margin-top:14px}
.ncm-home .center{text-align:center}
.ncm-home .measure{max-width:760px}
.ncm-home .measure-c{max-width:760px;margin-left:auto;margin-right:auto}
.ncm-home .eyebrow{display:inline-block;align-self:flex-start;background:var(--green);color:#fff;font-size:12px; font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:7px 18px;border-radius:999px}
.ncm-home .eyebrow.accent{background:var(--accent)}
.ncm-home .eyebrow.dark{background:var(--grey)}
.ncm-home .eyebrow.ghost{background:rgba(255,255,255,.16);color:#fff}
.ncm-home .rule{display:flex;align-items:center;margin:18px 0}
.ncm-home .rule i{height:3px;background:var(--green);flex:0 0 120px;border-radius:2px}
.ncm-home .rule b{width:12px;height:12px;border-radius:50%;background:var(--green);margin-left:-2px}
.ncm-home .rule.accent i,.ncm-home .rule.accent b{background:var(--accent)}
.ncm-home .rule.white i,.ncm-home .rule.white b{background:#fff}
.ncm-home .rule.c{justify-content:center}
.ncm-home .dots{position:absolute;pointer-events:none; background-image:radial-gradient(currentColor 1.9px,transparent 2px); background-size:19px 19px;opacity:.5}
.ncm-home .blob{position:absolute;border-radius:50%;pointer-events:none}
.ncm-home .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green); color:#fff;font-weight:600;font-size:15px;padding:14px 30px;border-radius:999px; transition:transform .15s,background .15s,box-shadow .15s;text-align:center}
.ncm-home .btn:hover{background:var(--green-d);transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,128,55,.22)}
.ncm-home .btn.accent{background:var(--accent)}
.ncm-home .btn.accent:hover{background:var(--accent);filter:brightness(.92)}
.ncm-home .btn.dark{background:var(--grey)}
.ncm-home .btn.dark:hover{background:#3f3e3e}
.ncm-home .btn.ghost{background:#fff;color:var(--grey);border:1.6px solid var(--line)}
.ncm-home .btn.ghost:hover{background:var(--grey-l);border-color:#d4d1d1}
.ncm-home .btn.white{background:#fff;color:var(--grey)}
.ncm-home .btn.white:hover{background:#f2f2f2}
.ncm-home .btn.outline-w{background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.5)}
.ncm-home .btn.outline-w:hover{background:rgba(255,255,255,.14)}
.ncm-home .btn.sm{padding:10px 22px;font-size:13.5px}
.ncm-home .btn.lg{padding:17px 38px;font-size:16.5px}
.ncm-home .btn.block{display:flex;width:100%}
.ncm-home .btn[disabled]{opacity:.55;pointer-events:none}
.ncm-home .btnrow{display:flex;gap:12px;flex-wrap:wrap}
.ncm-home .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.ncm-home .card.grey{background:var(--grey-l);border-color:transparent}
.ncm-home .card.green{background:var(--green);color:#fff;border-color:transparent}
.ncm-home .card.green h2,.ncm-home .card.green h3{color:#fff}
.ncm-home .card.dark{background:var(--grey);color:#fff;border-color:transparent}
.ncm-home .card.dark h2,.ncm-home .card.dark h3{color:#fff}
.ncm-home .card.accent-l{background:var(--accent-l);border-color:transparent}
.ncm-home .card.lift{transition:.18s}
.ncm-home .card.lift:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ncm-home .card.pad-lg{padding:34px}
.ncm-home .numdot{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;font-weight:800; font-size:18px;display:flex;align-items:center;justify-content:center;flex:0 0 44px}
.ncm-home .numdot.accent{background:var(--accent)}
.ncm-home .numdot.hollow{background:none;border:3px solid var(--green);color:var(--green)}
.ncm-home .pframe{border-radius:50%;padding:5px;background:var(--green);display:block}
.ncm-home .pframe.accent{background:var(--accent)}
.ncm-home .pframe.blue{background:var(--blue)}
.ncm-home .pframe.orange{background:var(--orange)}
.ncm-home .pframe img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover}
.ncm-home .tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.6px; text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--green-l);color:var(--green-d)}
.ncm-home .tag.accent{background:var(--accent-l);color:var(--grey)}
.ncm-home .tag.grey{background:var(--grey-l);color:var(--mute)}
.ncm-home .tag.red{background:var(--red-l);color:#c9401b}
.ncm-home .grid{display:grid;gap:22px}
.ncm-home .g2{grid-template-columns:repeat(2,1fr)}
.ncm-home .g3{grid-template-columns:repeat(3,1fr)}
.ncm-home .g4{grid-template-columns:repeat(4,1fr)}
.ncm-home .g-side{grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.ncm-home .row{display:flex;gap:20px}
.ncm-home .between{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.ncm-home .nav{display:flex;gap:22px;font-size:14.6px;font-weight:500;margin-left:auto}
.ncm-home .nav a{padding:6px 0;border-bottom:2px solid transparent;color:var(--mute);white-space:nowrap}
.ncm-home .nav a:hover,.ncm-home .nav a.on{color:var(--green);border-bottom-color:var(--green)}
.ncm-home .hero{position:relative;background:var(--green);color:#fff;overflow:hidden;padding:64px 0 76px}
.ncm-home .hero h1,.ncm-home .hero h2{color:#fff}
.ncm-home .hero p{color:rgba(255,255,255,.93)}
.ncm-home .hero .cols{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center;position:relative}
.ncm-home .hero .blob{width:720px;height:720px;background:rgba(255,255,255,.07);right:-250px;top:-320px}
.ncm-home .hero.compact{padding:52px 0 56px}
.ncm-home .hero.photo{background:var(--grey)}
.ncm-home .hero.photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ncm-home .hero.photo .veil{position:absolute;inset:0; background:linear-gradient(90deg,rgba(0,128,55,.96) 0%,rgba(0,128,55,.88) 44%,rgba(0,128,55,.42) 100%)}
.ncm-home .hero.photo.dark .veil{background:linear-gradient(90deg,rgba(82,80,80,.96) 0%,rgba(82,80,80,.86) 46%,rgba(82,80,80,.4) 100%)}
.ncm-home .hero .inner{position:relative}
.ncm-home .stats{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap}
.ncm-home .stats b{display:block;font-size:27px;font-weight:800;line-height:1;color:#fff}
.ncm-home .stats span{font-size:12.6px;color:rgba(255,255,255,.8)}
.ncm-home .engine{background:#fff;border-radius:var(--r-lg);padding:28px;box-shadow:0 26px 60px rgba(0,0,0,.22);color:var(--ink)}
.ncm-home .engine .step{font-size:11.5px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--accent)}
.ncm-home .engine h3{margin-top:7px;font-size:22px}
.ncm-home .syspick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.ncm-home .syspick button{background:var(--grey-l);color:var(--grey);font-size:12.4px;font-weight:600;padding:11px 6px; border-radius:10px;transition:.15s;border:1.6px solid transparent;line-height:1.25}
.ncm-home .syspick button:hover{background:var(--green-l);color:var(--green-d)}
.ncm-home .syspick button[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.ncm-home .wherepick{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.ncm-home .wherepick button{flex:1;min-width:104px;background:#fff;border:1.6px solid var(--line);border-radius:10px; padding:12px 8px;font-size:13px;font-weight:600;color:var(--grey);transition:.15s}
.ncm-home .wherepick button:hover{border-color:var(--green);color:var(--green-d)}
.ncm-home .wherepick button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.ncm-home .engine-foot{margin-top:16px;font-size:12.6px;color:var(--mute)}
.ncm-home .engine-foot a{color:var(--green);font-weight:600;text-decoration:underline}
.ncm-home .results{display:none;background:var(--green-xl);border-top:4px solid var(--green)}
.ncm-home .results.show{display:block}
.ncm-home .answer{background:#fff;border:1px solid var(--line);border-left:6px solid var(--green);border-radius:var(--r); padding:24px 28px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.ncm-home .answer .tick{width:50px;height:50px;border-radius:50%;background:var(--green);color:#fff;font-size:25px; display:flex;align-items:center;justify-content:center;flex:0 0 50px}
.ncm-home .prod{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden; display:flex;flex-direction:column;transition:.18s}
.ncm-home .prod:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ncm-home .prod .thumb{height:170px;background:var(--grey-l);position:relative;overflow:hidden; border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.ncm-home .prod .thumb img{width:100%;height:100%;object-fit:cover}
.ncm-home .prod .body{padding:18px 20px;display:flex;flex-direction:column;flex:1}
.ncm-home .prod h4{font-size:15.8px;line-height:1.3}
.ncm-home .prod .price{font-size:21px;font-weight:800;color:var(--grey);margin-top:auto;padding-top:14px}
.ncm-home .prod .price small{font-size:11.5px;font-weight:500;color:var(--mute);display:block;margin-top:2px}
.ncm-home .nophoto{font-size:11.5px;color:#a9a6a6;text-align:center;line-height:1.5;font-weight:600;letter-spacing:.3px;padding:16px}
.ncm-home .flag{position:absolute;top:10px;left:10px;font-size:10.4px;font-weight:700;letter-spacing:.6px; text-transform:uppercase;background:var(--red);color:#fff;padding:4px 10px;border-radius:999px;z-index:2}
.ncm-home .flag.ms{background:var(--orange)}
.ncm-home .flag.pc{background:var(--pink)}
.ncm-home .flag.grp{background:var(--grey)}
.ncm-home .bundle{background:var(--grey);color:#fff;border-radius:var(--r);padding:30px 32px}
.ncm-home .bundle h3{color:#fff}
.ncm-home .bundle .items{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin:18px 0}
.ncm-home .bundle .items em{font-style:normal;font-size:19px;opacity:.5}
.ncm-home .chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);border-radius:10px; padding:11px 16px;font-size:13px;font-weight:500}
.ncm-home .verb{background:var(--green);color:#fff;border-radius:var(--r);padding:26px 24px; display:flex;flex-direction:column}
.ncm-home .verb .btn{margin-top:auto;align-self:flex-start}
.ncm-home .verb h3{color:#fff;font-size:21px;margin-top:9px}
.ncm-home .verb p{color:rgba(255,255,255,.9);font-size:14px;margin-top:8px}
.ncm-home .verb .n{font-size:11.5px;font-weight:700;letter-spacing:1.3px;opacity:.7}
.ncm-home .photopanel{position:relative;border-radius:var(--r);overflow:hidden;min-height:330px;display:flex}
.ncm-home .photopanel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ncm-home .photopanel .veil{position:absolute;inset:0; background:linear-gradient(90deg,rgba(0,128,55,.95) 0%,rgba(0,128,55,.6) 32%,rgba(0,128,55,0) 62%)}
.ncm-home .photopanel.dark .veil{background:linear-gradient(90deg,rgba(82,80,80,.95) 0%,rgba(82,80,80,.6) 32%,rgba(82,80,80,0) 62%)}
.ncm-home .photopanel .inner{position:relative;padding:34px 36px;max-width:330px;align-self:center}
.ncm-home .photopanel h3{color:#fff;font-size:25px}
.ncm-home .photopanel p{color:rgba(255,255,255,.92)}
.ncm-home .caption{position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.6);color:#fff;font-size:12px; padding:7px 14px;border-radius:999px;z-index:2}
.ncm-home .tcard{background:#fff;border-radius:var(--r);padding:24px;text-align:center;border:1px solid var(--line)}
.ncm-home .tcard b{display:block;font-size:31px;font-weight:800;color:var(--green);line-height:1}
.ncm-home .tcard span{font-size:13px;color:var(--mute);display:block;margin-top:8px}
.ncm-home .stars{color:#f5a623;font-size:16px;letter-spacing:2px}
.ncm-home .review{background:#fff;border-radius:var(--r);padding:22px 24px;border:1px solid var(--line)}
.ncm-home .review p{font-size:14.5px;color:var(--ink);margin-top:10px}
.ncm-home .review .who{font-size:12.5px;color:var(--mute);margin-top:12px}
.ncm-home .fam-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;text-align:center; display:flex;flex-direction:column;align-items:center;transition:.18s}
.ncm-home .fam-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ncm-home .fam-card img{height:26px;width:auto;object-fit:contain;margin-bottom:15px}
.ncm-home .fam-card p{font-size:13.4px;color:var(--mute)}
.ncm-home .spec{list-style:none;margin-top:18px}
.ncm-home .spec li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between; gap:20px;font-size:14.4px}
.ncm-home .spec li span:last-child{font-weight:600;color:var(--grey);text-align:right}
.ncm-home .buybox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-top:22px}
.ncm-home .compat-note{background:var(--green-l);border:1px solid #bfe0cd;border-radius:12px;padding:14px 18px; display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--green-d);font-weight:500;margin-top:14px}
.ncm-home .acc{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ncm-home .acc+.acc{margin-top:12px}
.ncm-home .acc summary{padding:18px 22px;font-weight:600;color:var(--grey);cursor:pointer;list-style:none; display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15.5px}
.ncm-home .acc summary::-webkit-details-marker{display:none}
.ncm-home .acc summary::after{content:'+';font-size:22px;font-weight:400;color:var(--green);line-height:1}
.ncm-home .acc[open] summary::after{content:'\2212'}
.ncm-home .acc .body{padding:0 22px 20px;font-size:14.8px;color:var(--mute)}
.ncm-home .steps{counter-reset:s;display:grid;gap:16px}
.ncm-home .stepitem{display:flex;gap:18px;align-items:flex-start}
.ncm-home .trustline{display:flex;gap:14px;flex-wrap:wrap;font-size:12.4px;color:var(--mute);margin-top:14px}
.ncm-home .trustline span{display:inline-flex;gap:6px;align-items:center}
.ncm-home .field{margin-bottom:15px}
.ncm-home .field label{display:block;font-size:13.2px;font-weight:600;color:var(--grey);margin-bottom:6px}
.ncm-home .field .hint{font-weight:400;color:var(--mute);font-size:12.4px}
.ncm-home .field input,.ncm-home .field select,.ncm-home .field textarea{width:100%;font-family:var(--f);font-size:15px;color:var(--ink); padding:12px 14px;border:1.6px solid var(--line);border-radius:11px;background:#fff;transition:.15s}
.ncm-home .field input:focus,.ncm-home .field select:focus,.ncm-home .field textarea:focus{border-color:var(--green);outline:none; box-shadow:0 0 0 3px var(--green-l)}
.ncm-home .field textarea{min-height:96px;resize:vertical}
.ncm-home .field.err input,.ncm-home .field.err select,.ncm-home .field.err textarea{border-color:#d64545;box-shadow:0 0 0 3px #fdecec}
.ncm-home .errmsg{display:none;color:#c0392b;font-size:12.4px;margin-top:5px}
.ncm-home .field.err .errmsg{display:block}
.ncm-home .field2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ncm-home .check{display:flex;gap:10px;align-items:flex-start;font-size:13.4px;color:var(--mute)}
.ncm-home .check input{width:auto;margin-top:3px}
.ncm-home .formnote{font-size:12.4px;color:var(--mute);margin-top:12px}
.ncm-home .formmsg{display:none;border-radius:12px;padding:14px 18px;font-size:14.2px;margin-bottom:16px}
.ncm-home .formmsg.ok{display:block;background:var(--green-l);color:var(--green-d)}
.ncm-home .formmsg.bad{display:block;background:#fdecec;color:#c0392b}
.ncm-home .spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff; border-radius:50%;animation:ncmh-spin .7s linear infinite;display:none}
.ncm-home .btn.loading .spinner{display:block}
@keyframes ncmh-spin{to{transform:rotate(360deg)}}
.ncm-home .notice{background:var(--accent-l);border-left:5px solid var(--accent);border-radius:12px;padding:16px 20px;font-size:14.4px}
.ncm-home .hr{height:1px;background:var(--line);border:0;margin:0}
@media(max-width:1020px){
.ncm-home .hero .cols,.ncm-home .g-side{grid-template-columns:1fr}
.ncm-home .g4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
.ncm-home .nav{display:none}
.ncm-home .g2,.ncm-home .g3,.ncm-home .g4{grid-template-columns:1fr}
.ncm-home .syspick{grid-template-columns:repeat(2,1fr)}
.ncm-home section{padding:52px 0}
.ncm-home .photopanel .inner{max-width:none;padding:26px 24px}
.ncm-home .photopanel .veil{background:linear-gradient(0deg,rgba(0,128,55,.96) 30%,rgba(0,128,55,.55) 100%)}
.ncm-home .photopanel.dark .veil{background:linear-gradient(0deg,rgba(82,80,80,.96) 30%,rgba(82,80,80,.55) 100%)}
.ncm-home .field2{grid-template-columns:1fr}
}
.ncm-home .hero.video{background:var(--hero-bg,var(--green));isolation:isolate}
.ncm-home .hero.video .vid{position:absolute;inset:0;overflow:hidden;z-index:0;background:#fff}
.ncm-home .hero.video .vid video{width:100%;height:100%;object-fit:cover; filter:grayscale(100%) contrast(1.14) brightness(1.06);}
.ncm-home .hero.video .tint{position:absolute;inset:0;z-index:1; background:var(--hero-bg,var(--green));opacity:.52;mix-blend-mode:multiply}
.ncm-home .hero.video .scrim{position:absolute;inset:0;z-index:2; background:linear-gradient(90deg, color-mix(in srgb,var(--hero-bg,var(--green)) 96%,transparent) 0%, color-mix(in srgb,var(--hero-bg,var(--green)) 74%,transparent) 40%, transparent 76%)}
.ncm-home .hero.video .grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.5; background-image:radial-gradient(rgba(255,255,255,.35) 1.6px,transparent 1.7px); background-size:22px 22px; -webkit-mask-image:linear-gradient(90deg,transparent 45%,#000 100%); mask-image:linear-gradient(90deg,transparent 45%,#000 100%)}
.ncm-home .hero.video .cols,.ncm-home .hero.video .inner{position:relative;z-index:4}
@supports not (background:color-mix(in srgb,red 50%,transparent)){
.ncm-home .hero.video .scrim{background:linear-gradient(90deg,var(--hero-bg,var(--green)) 0%, rgba(0,0,0,.30) 40%,transparent 74%)}
}
@media (prefers-reduced-motion:reduce){
.ncm-home .hero.video .vid video{filter:grayscale(100%) contrast(1.14)}
}
.ncm-home .nav a{position:relative;border-bottom:none!important}
.ncm-home .nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--green); transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.4,0,.2,1)}
.ncm-home .nav a:hover::after,.ncm-home .nav a.on::after{transform:scaleX(1)}
html.ncm-js .ncm-home [data-reveal]{opacity:0;transform:translateY(18px)}
.ncm-home .revealed{opacity:1!important;transform:none!important; transition:opacity .62s cubic-bezier(.22,.8,.28,1),transform .62s cubic-bezier(.22,.8,.28,1)}
@media (prefers-reduced-motion:reduce){
html.ncm-js .ncm-home [data-reveal]{opacity:1!important;transform:none!important}
}
.ncm-home .btn{position:relative;overflow:hidden}
.ncm-home .btn>*{position:relative;z-index:1}
.ncm-home .btn::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.18); transform:translateX(-101%);transition:transform .42s cubic-bezier(.4,0,.2,1)}
.ncm-home .btn:hover::before{transform:translateX(0)}
.ncm-home .btn:active{transform:translateY(0) scale(.985)}
.ncm-home .card.lift{transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease,border-color .3s ease}
.ncm-home .card.lift:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.11);border-color:#dcd9d9}
.ncm-home .prod{transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease}
.ncm-home .prod:hover{transform:translateY(-5px)}
.ncm-home .prod .thumb img{transition:transform .55s cubic-bezier(.22,.8,.28,1)}
.ncm-home .prod:hover .thumb img{transform:scale(1.06)}
.ncm-home .fam-card{transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease}
.ncm-home .fam-card:hover{transform:translateY(-4px)}
.ncm-home .photopanel>img{transition:transform .7s cubic-bezier(.22,.8,.28,1)}
.ncm-home .photopanel:hover>img{transform:scale(1.045)}
.ncm-home .verb{transition:transform .3s cubic-bezier(.22,.8,.28,1)}
.ncm-home .verb:hover{transform:translateY(-4px)}
.ncm-home .acc summary::after{transition:transform .25s ease}
.ncm-home .acc[open] summary::after{transform:rotate(180deg)}
.ncm-home .acc .body{animation:ncmh-accIn .32s cubic-bezier(.22,.8,.28,1)}
@keyframes ncmh-accIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes ncmh-sheetIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ncmh-veilIn{from{opacity:0}to{opacity:1}}
.ncm-home .figure{font-size:clamp(34px,4.4vw,54px);font-weight:800;line-height:1;color:var(--accent);letter-spacing:-1.5px}
.ncm-home .figure.on-dark{color:#fff}
.ncm-home .figrow{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.ncm-home .figrow .lbl{font-size:13.2px;color:var(--mute);margin-top:8px;display:block}
.ncm-home .figrow.on-dark .lbl{color:rgba(255,255,255,.8)}
.ncm-home .scope{background:var(--grey);color:#fff;position:relative;overflow:hidden}
.ncm-home .scope h2{color:#fff}
.ncm-home .scope .dots{color:rgba(255,255,255,.22)}
.ncm-home .split{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r);overflow:hidden; border:1px solid var(--line)}
.ncm-home .split .txt{padding:42px 44px;display:flex;flex-direction:column;justify-content:center}
.ncm-home .split .pic{position:relative;min-height:360px}
.ncm-home .split .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ncm-home .split.rev .txt{order:2}
.ncm-home .split.dark{border:none}
.ncm-home .split.dark .txt{background:var(--grey);color:#fff}
.ncm-home .split.dark .txt h2,.ncm-home .split.dark .txt h3{color:#fff}
.ncm-home .split.green .txt{background:var(--green);color:#fff}
.ncm-home .split.green .txt h2,.ncm-home .split.green .txt h3{color:#fff}
.ncm-home .range{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ncm-home .range a{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff; transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease;display:flex;flex-direction:column}
.ncm-home .range a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ncm-home .range .pic{height:168px;position:relative;overflow:hidden;background:var(--grey-l)}
.ncm-home .range .pic img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.8,.28,1)}
.ncm-home .range a:hover .pic img{transform:scale(1.06)}
.ncm-home .range .in{padding:20px 22px;flex:1;display:flex;flex-direction:column}
.ncm-home .range h3{font-size:17px}
.ncm-home .range p{font-size:13.6px;color:var(--mute);margin-top:7px}
.ncm-home .range .go{margin-top:auto;padding-top:14px;font-size:13.4px;font-weight:700;color:var(--green); display:inline-flex;align-items:center;gap:7px}
.ncm-home .range a:hover .go{gap:11px}
.ncm-home .range .go span{transition:margin .25s ease}
.ncm-home .rail{position:relative;display:grid;gap:0}
.ncm-home .rail:before{content:'';position:absolute;left:21px;top:12px;bottom:12px;width:2px;background:var(--line)}
.ncm-home .rail .node{display:flex;gap:22px;padding:16px 0;position:relative}
.ncm-home .rail .node .numdot{z-index:1;box-shadow:0 0 0 6px #fff}
.ncm-home .quote{background:var(--accent-l);border-radius:var(--r);padding:36px 40px;position:relative}
.ncm-home .quote:before{content:'\201C';position:absolute;top:6px;left:22px;font-size:78px;line-height:1; color:var(--accent);opacity:.28;font-family:Georgia,serif}
.ncm-home .quote p{font-size:19px;line-height:1.55;color:var(--grey);font-weight:500;position:relative}
.ncm-home .quote .by{font-size:13.4px;color:var(--mute);margin-top:14px}
.ncm-home .strip{display:flex;gap:34px;align-items:center;flex-wrap:wrap;justify-content:center; padding:22px 0;opacity:.75}
.ncm-home .strip img{height:22px;width:auto;filter:grayscale(100%);transition:filter .3s ease,opacity .3s ease;opacity:.8}
.ncm-home .strip img:hover{filter:none;opacity:1}
@media(max-width:1020px){
.ncm-home .split,.ncm-home .range,.ncm-home .figrow{grid-template-columns:1fr}
.ncm-home .split.rev .txt{order:0}
.ncm-home .split .pic{min-height:260px}
}
@media(max-width:760px){
.ncm-home .figrow{grid-template-columns:repeat(2,1fr)}
.ncm-home .hero.video .scrim{background:linear-gradient(0deg, color-mix(in srgb,var(--hero-bg,var(--green)) 92%,transparent) 46%, color-mix(in srgb,var(--hero-bg,var(--green)) 40%,transparent) 100%)}
.ncm-home .split .txt{padding:30px 26px}
.ncm-home .quote{padding:28px 24px}
}
.ncm-home{--safe-b:env(safe-area-inset-bottom,0px);--tabbar-h:64px}
@media(max-width:760px){
.ncm-home{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none; padding-bottom:calc(var(--tabbar-h) + var(--safe-b))}
.ncm-home a,.ncm-home button,.ncm-home summary,.ncm-home input,.ncm-home select,.ncm-home textarea{touch-action:manipulation}
.ncm-home .btn{min-height:50px;padding:14px 26px;font-size:15.5px}
.ncm-home .btn.sm{min-height:44px;padding:11px 20px}
.ncm-home .btn.lg{min-height:54px}
.ncm-home .acc summary{padding:18px 20px;min-height:56px}
.ncm-home .spec li{padding:13px 0}
@keyframes ncmh-sheetUp{from{transform:translateY(100%)}to{transform:none}}
.ncm-home .field input,.ncm-home .field select,.ncm-home .field textarea{font-size:16px;padding:14px}
.ncm-home .snap{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;scrollbar-width:none; padding:2px 26px 6px;margin-left:-26px;margin-right:-26px}
.ncm-home .snap::-webkit-scrollbar{display:none}
.ncm-home .snap>*{scroll-snap-align:start;flex:0 0 78%;max-width:78%}
.ncm-home .snap.tight>*{flex-basis:62%;max-width:62%}
.ncm-home .swipehint{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--mute); margin-top:10px;justify-content:flex-end}
.ncm-home .swipehint::after{content:'›››';letter-spacing:-2px;color:var(--line);font-size:15px}
.ncm-home .hero{padding:40px 0 46px}
.ncm-home .hero .cols{gap:28px}
.ncm-home .engine{padding:20px;border-radius:18px}
.ncm-home .syspick{grid-template-columns:repeat(2,1fr);gap:9px}
.ncm-home .syspick button{min-height:50px;font-size:13.4px}
.ncm-home .wherepick button{min-height:52px;flex:1 1 46%}
.ncm-home .stats{gap:18px 22px}
.ncm-home .stack-sm{flex-direction:column;align-items:flex-start!important;gap:14px}
.ncm-home .split .txt{padding:28px 24px}
.ncm-home .rail:before{left:19px}
.ncm-home .quote{padding:26px 22px}
.ncm-home .quote p{font-size:17px}
.ncm-home .photopanel{min-height:280px}
.ncm-home .figrow{gap:20px 18px}
}
@media(max-width:400px){
.ncm-home .snap>*{flex-basis:86%;max-width:86%}
}
.ncm-home .duo{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.ncm-home .duo.even{grid-template-columns:1fr 1.05fr;gap:0;align-items:stretch}
.ncm-home .duo.even>*{min-height:100%}
.ncm-home .duo.even .shot-left,.ncm-home .duo.even .shot{position:relative;overflow:hidden}
.ncm-home .duo.even .shot-left>img,.ncm-home .duo.even .shot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
.ncm-home .duo,.ncm-home .duo.even{grid-template-columns:1fr;gap:26px}
.ncm-home .duo .shot{min-height:230px}
}
.ncm-home svg{max-width:100%}
.ncm-home .routes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}
.ncm-home .routes button{background:var(--grey-l);border:1.7px solid transparent;border-radius:12px; padding:13px 13px;text-align:left;transition:.16s;min-height:76px}
.ncm-home .routes button:hover{background:var(--accent-l);border-color:var(--accent)}
.ncm-home .routes button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}
.ncm-home .routes b{display:block;font-size:13.5px;font-weight:700;color:var(--grey);line-height:1.25}
.ncm-home .routes span{display:block;font-size:11.7px;color:var(--mute);margin-top:4px;line-height:1.35}
.ncm-home .routes button[aria-pressed="true"] b,.ncm-home .routes button[aria-pressed="true"] span{color:#fff}
.ncm-home .panel{display:none}
.ncm-home .panel.on{display:block;animation:ncmh-accIn .3s cubic-bezier(.22,.8,.28,1)}
.ncm-home .helpcard{background:var(--grey-l);border-radius:13px;padding:14px 16px;margin-top:15px}
.ncm-home .helpcard h4{font-size:13.8px}
.ncm-home .helpcard p{font-size:12.7px;color:var(--mute);margin-top:5px;line-height:1.5}
.ncm-home .helpcard ol{margin:8px 0 0 17px;font-size:12.7px;color:var(--mute);line-height:1.75}
.ncm-home .needgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.ncm-home .needgrid a{display:block;background:#fff;border:1.7px solid var(--line);border-radius:12px; padding:12px 14px;transition:.16s}
.ncm-home .needgrid a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.09)}
.ncm-home .needgrid b{display:block;font-size:13.3px;color:var(--grey);line-height:1.25}
.ncm-home .needgrid span{display:block;font-size:11.5px;color:var(--mute);margin-top:3px;line-height:1.35}
.ncm-home .needgrid .go{display:block;font-size:11.5px;font-weight:700;color:var(--accent);margin-top:7px}
@media(max-width:760px){
.ncm-home .routes{grid-template-columns:1fr}
.ncm-home .routes button{min-height:0;display:flex;align-items:baseline;gap:9px}
.ncm-home .routes span{margin-top:0}
.ncm-home .needgrid{grid-template-columns:1fr}
}
.ncm-home .spectrum{display:flex;height:5px;border-radius:99px;overflow:hidden;width:160px}
.ncm-home .spectrum i{flex:1}
.ncm-home .spectrum i:nth-child(1){background:var(--green)}
.ncm-home .spectrum i:nth-child(2){background:var(--pink)}
.ncm-home .spectrum i:nth-child(3){background:var(--orange)}
.ncm-home .spectrum i:nth-child(4){background:var(--blue)}
.ncm-home .spectrum.c{margin:0 auto}
.ncm-home .spectrum.wide{width:100%;height:6px;border-radius:0}
.ncm-home .spectrum.on-dark i:nth-child(1){background:#fff}
.ncm-home .nav .dd{position:relative}
.ncm-home .nav .dd>button{font:inherit;color:var(--mute);padding:6px 0;display:inline-flex;align-items:center;gap:5px; background:none;border:none;cursor:pointer}
.ncm-home .nav .dd>button:hover,.ncm-home .nav .dd.open>button{color:var(--green)}
.ncm-home .nav .dd>button::after{content:'';width:6px;height:6px;border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.ncm-home .nav .dd.open>button::after{transform:rotate(-135deg) translateY(-1px)}
.ncm-home .nav .menu{position:absolute;top:calc(100% + 12px);left:-18px;min-width:250px;background:#fff; border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.13);padding:8px; opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60}
.ncm-home .nav .dd:hover .menu,.ncm-home .nav .dd.open .menu,.ncm-home .nav .dd:focus-within .menu{opacity:1;visibility:visible;transform:none}
.ncm-home .nav .menu a{display:flex;gap:11px;align-items:center;padding:10px 12px;border-radius:9px;color:var(--grey); font-size:14px;border-bottom:none}
.ncm-home .nav .menu a::after{display:none}
.ncm-home .nav .menu a:hover{background:var(--grey-l);color:var(--green)}
.ncm-home .nav .menu .sw{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.ncm-home .ico{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex:0 0 52px}
.ncm-home .ico svg{width:25px;height:25px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ncm-home .ico.g{background:var(--green)}
.ncm-home .ico.p{background:var(--pink)}
.ncm-home .ico.o{background:var(--orange)}
.ncm-home .ico.b{background:var(--blue)}
.ncm-home .valcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:.25s}
.ncm-home .valcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ncm-home .valcard h3{font-size:17.5px;margin-top:16px}
.ncm-home .valcard p{font-size:14.2px;color:var(--mute);margin-top:8px}
.ncm-home .tree{position:relative;max-width:980px;margin:36px auto 0}
.ncm-home .tree::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:4px; background:linear-gradient(180deg,var(--green),var(--pink),var(--orange),var(--blue),var(--green))}
.ncm-home .leaf{position:relative;width:50%;padding:0 46px 34px}
.ncm-home .leaf:nth-child(odd){margin-left:0;text-align:right}
.ncm-home .leaf:nth-child(even){margin-left:50%}
.ncm-home .leaf .node{position:absolute;top:4px;width:22px;height:22px;border-radius:50%;background:#fff; border:5px solid var(--green);box-shadow:0 0 0 5px #fff}
.ncm-home .leaf:nth-child(odd) .node{right:-11px}
.ncm-home .leaf:nth-child(even) .node{left:-11px}
.ncm-home .leaf:nth-child(4n+2) .node{border-color:var(--pink)}
.ncm-home .leaf:nth-child(4n+3) .node{border-color:var(--orange)}
.ncm-home .leaf:nth-child(4n+4) .node{border-color:var(--blue)}
.ncm-home .leaf .card{display:inline-block;text-align:left;max-width:420px;padding:20px 22px}
.ncm-home .leaf h3{font-size:17px}
.ncm-home .leaf p{font-size:14.2px;color:var(--mute);margin-top:7px}
.ncm-home .brandblock{display:grid;grid-template-columns:1fr 1.1fr;gap:0;border-radius:var(--r-lg);overflow:hidden; border:1px solid var(--line);background:#fff}
.ncm-home .brandblock+.brandblock{margin-top:26px}
.ncm-home .brandblock .bb-pic{position:relative;min-height:380px;background:var(--grey-l)}
.ncm-home .brandblock .bb-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ncm-home .brandblock .bb-txt{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;border-top:6px solid var(--bb)}
.ncm-home .brandblock.rev .bb-pic{order:2}
.ncm-home .brandblock .bb-logo{height:30px;width:auto;align-self:flex-start}
.ncm-home .brandblock h2{font-size:28px;margin-top:18px}
.ncm-home .brandblock p{font-size:15px;color:var(--mute);margin-top:12px;line-height:1.68}
.ncm-home .brandblock .tagline{font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--bb);margin-top:14px}
.ncm-home .catgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ncm-home .catcard{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line); border-radius:var(--r);padding:22px 24px;transition:.25s;position:relative;overflow:hidden}
.ncm-home .catcard::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cc)}
.ncm-home .catcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#dcd9d9}
.ncm-home .catcard h3{font-size:16.5px}
.ncm-home .catcard p{font-size:13.8px;color:var(--mute);margin-top:6px;line-height:1.55}
.ncm-home .catcard .go{font-size:12.6px;font-weight:700;color:var(--cc);margin-top:10px;display:inline-block}
.ncm-home .people{display:grid;grid-template-columns:1fr 1.1fr;gap:0;border-radius:var(--r-lg);overflow:hidden}
.ncm-home .people .pp{position:relative;min-height:440px}
.ncm-home .people .pp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ncm-home .people .pt{background:var(--grey);color:#fff;padding:46px 48px;display:flex;flex-direction:column;justify-content:center}
.ncm-home .people .pt h2{color:#fff}
.ncm-home .people .pt p{color:rgba(255,255,255,.9);margin-top:14px;font-size:15.4px;line-height:1.7}
@media(max-width:900px){
.ncm-home .tree::before{left:18px}
.ncm-home .leaf,.ncm-home .leaf:nth-child(even){width:100%;margin-left:0;padding:0 0 26px 50px;text-align:left}
.ncm-home .leaf:nth-child(odd) .node,.ncm-home .leaf:nth-child(even) .node{left:7px;right:auto}
.ncm-home .brandblock,.ncm-home .people{grid-template-columns:1fr}
.ncm-home .brandblock.rev .bb-pic{order:0}
.ncm-home .brandblock .bb-pic,.ncm-home .people .pp{min-height:260px}
.ncm-home .brandblock .bb-txt,.ncm-home .people .pt{padding:30px 26px}
.ncm-home .catgrid{grid-template-columns:1fr}
}
.ncm-home .hero .spectrum i:nth-child(1){background:#fff}

/* ==========================================================================
   ADAPTER
   The demo's finder card was a mock-up. On the site it is the real
   Compatibility Engine ([nursecall_engine]), which uses the plugin's own
   class names. These rules give the real engine the demo card's exact look.
   ========================================================================== */
.ncm-home{--wrap:1240px;overflow-x:clip}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine{background:#fff;border-radius:var(--r-lg);padding:28px;max-width:none;
  box-shadow:0 26px 60px rgba(0,0,0,.22);color:var(--ink);font-family:var(--f)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-step{font-size:11.5px;font-weight:700;letter-spacing:1.1px;
  text-transform:uppercase;color:var(--accent);margin:0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-panel .ncm-step{margin-top:18px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine h3{margin-top:7px;font-size:22px;color:var(--grey);font-weight:800;letter-spacing:-.6px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine h4{font-size:19px;color:var(--grey);margin:4px 0 0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine p,
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-sub{color:var(--mute);font-size:12.8px;line-height:1.5;margin-top:6px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes button{background:var(--grey-l);border:1.7px solid transparent;
  border-radius:12px;padding:13px;text-align:left;min-height:76px;color:var(--grey);box-shadow:none}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes button:hover{background:var(--accent-l);border-color:var(--accent)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes b{font-size:13.5px;font-weight:700;color:var(--grey);line-height:1.25}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes span{font-size:11.7px;color:var(--mute);margin-top:4px;line-height:1.35}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes button[aria-pressed="true"] b,
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes button[aria-pressed="true"] span{color:#fff}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-panel{margin-top:0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-panel.on{animation:ncmh-accIn .3s cubic-bezier(.22,.8,.28,1)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick button{background:var(--grey-l);color:var(--grey);font-size:12.4px;
  font-weight:600;padding:11px 6px;border-radius:10px;border:1.6px solid transparent;line-height:1.25;min-height:0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick button:hover{background:var(--green-l);color:var(--green-d);border-color:transparent}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick button[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-step2{margin-top:0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-wherepick{gap:8px;margin-top:13px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-wherepick button{flex:1;min-width:104px;background:#fff;border:1.6px solid var(--line);
  border-radius:10px;padding:12px 8px;font-size:13px;font-weight:600;color:var(--grey);min-height:0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-wherepick button:hover{border-color:var(--green);color:var(--green-d);background:#fff}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-wherepick button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-help{background:var(--grey-l);border-radius:13px;padding:14px 16px;margin-top:15px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-help h4{font-size:13.8px;margin:0}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-help p{font-size:12.7px;margin-top:5px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-help ol{margin:8px 0 0 17px;font-size:12.7px;color:var(--mute);line-height:1.75}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-help .ncm-btn{margin-top:12px;padding:10px 22px;font-size:13.5px;font-weight:600;
  background:var(--accent);color:#fff;border-radius:999px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-needgrid{gap:9px;margin-top:13px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-needgrid a{border-radius:12px;padding:12px 14px}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-needgrid a:hover{border-color:var(--accent)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-needgrid .ncm-go{display:block;color:var(--accent)}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-foot{margin-top:16px;font-size:12.6px;color:var(--mute);text-align:left}
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-foot a{color:var(--green);font-weight:600;text-decoration:underline}

/* the engine's answers appear in a band under the hero, as in the demo */
.ncm-home-results{background:var(--green-xl,#f4faf6);border-top:4px solid #008037;font-family:'Poppins',sans-serif}
.ncm-home-results .ncm-results{margin:0;padding:48px 0 56px}
.ncm-home-results .ncm-results[hidden]{display:none}
.ncm-home-results:has(.ncm-results[hidden]){display:none}

/* hero video: the poster carries the panel when no video is set */
.ncm-home .hero.video .vid img.poster{width:100%;height:100%;object-fit:cover;
  filter:grayscale(100%) contrast(1.14) brightness(1.06)}

/* preview-only note on the review quotes, never shown to customers */
.ncm-home .ncm-admin-note{margin-top:14px;background:#fff8e6;border:1px dashed #e3b341;border-radius:12px;
  padding:10px 14px;font-size:12.6px;color:#6b5200;line-height:1.5}

@media(max-width:760px){
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine{padding:20px;border-radius:18px}
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes{grid-template-columns:1fr}
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-routes button{min-height:0}
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick{grid-template-columns:repeat(2,1fr);gap:9px}
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick button{min-height:50px;font-size:13.4px}
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-wherepick button{min-height:52px;flex:1 1 46%}
  .ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-needgrid{grid-template-columns:1fr}
}

/* the theme's own heading and text fonts must not reach the page */
.ncm-home :is(h1,h2,h3,h4,h5,h6,p,a,li,button,span,b,strong,em,small,label,input){font-family:var(--f)}

/* the demo reserved space for its mobile tab bar; the site has none */
@media(max-width:760px){.ncm-home{padding-bottom:0}}

/* "Swipe for more" only makes sense where the row actually swipes. The demo
   showed it on desktop too; that was a slip in the demo, corrected here. */
@media(min-width:761px){.ncm-home .swipehint{display:none}}

/* ---- v1.7: pink header panels, as asked (the demo's were green) ---- */
.ncm-home .hero.pinkhero{background:var(--pink)}
.ncm-home .hero.pinkhero .blob{background:rgba(255,255,255,.1)}
.ncm-home .eyebrow.onpink{background:#fff;color:var(--pink)}
.ncm-home .ncm-finder{position:relative;margin-top:-6px}

/* ---- claims awaiting RGS confirmation: administrators only ---- */
.ncm-home .ncm-unconfirmed{position:relative;outline:2px dashed #e3b341;outline-offset:6px;border-radius:14px}
.ncm-home .ncm-unconfirmed-tag{display:inline-block;position:relative;z-index:5;margin:0 0 8px;background:#fff8e6;color:#6b5200;
  border:1px solid #e3b341;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.3px;padding:2px 10px;
  line-height:1.5;cursor:help}
.ncm-home section>.ncm-unconfirmed>.ncm-unconfirmed-tag,.ncm-home .ncm-unconfirmed>section{margin-top:0}
.ncm-home .ncm-unconfirmed>.ncm-unconfirmed-tag:first-child{margin-left:10px;margin-top:8px}
.ncm-home .ncm-unconfirmed-inline{background:rgba(227,179,65,.28);outline:1.5px dashed #e3b341;border-radius:4px;cursor:help}
.ncm-home .hero .ncm-unconfirmed-inline{background:rgba(255,248,230,.28);outline-color:#ffe08a}
.ncm-home .grid>.ncm-unconfirmed{display:flex;flex-direction:column}
.ncm-home .grid>.ncm-unconfirmed>.card{flex:1}

/* ---- systems table ---- */
.ncm-home .ncm-systable table{width:100%;border-collapse:collapse;font-size:14.5px}
.ncm-home .ncm-systable thead tr{background:var(--pink);color:#fff;text-align:left}
.ncm-home .ncm-systable th{padding:13px 18px;font-weight:700}
.ncm-home .ncm-systable td{padding:11px 18px;border-top:1px solid var(--line);color:var(--grey)}
.ncm-home .ncm-systable tbody tr:hover{background:var(--grey-l)}
.ncm-home .ncm-systable td a{color:var(--green);font-weight:600;white-space:nowrap}
.ncm-home .ncm-systable td a:hover{text-decoration:underline}

/* ---- insights ---- */
.ncm-home .ncm-noimg{height:180px;background:var(--grey-l);display:flex;align-items:center;justify-content:center}
.ncm-home .ncm-noimg img{height:44px;width:auto;opacity:.35;mix-blend-mode:multiply}
.ncm-home .ncm-postnav{margin-top:34px}
.ncm-home .ncm-postnav ul{display:flex;gap:6px;justify-content:center;list-style:none}
.ncm-home .ncm-postnav a,.ncm-home .ncm-postnav span{display:inline-block;min-width:40px;height:40px;line-height:40px;
  padding:0 10px;text-align:center;border-radius:999px;border:1.6px solid var(--line);color:var(--grey);font-weight:600}
.ncm-home .ncm-postnav span.current{background:var(--green);border-color:var(--green);color:#fff}

/* ---- the WPForms form on the contact page, in the design's field style ---- */
.ncm-home .ncm-formslot{margin-top:16px}
.ncm-home .ncm-formslot .wpforms-field{padding:0 0 15px!important}
.ncm-home .ncm-formslot .wpforms-field-label{font-size:13.2px!important;font-weight:600!important;color:var(--grey)!important;margin-bottom:6px!important}
.ncm-home .ncm-formslot input[type=text],.ncm-home .ncm-formslot input[type=email],.ncm-home .ncm-formslot input[type=tel],
.ncm-home .ncm-formslot input[type=number],.ncm-home .ncm-formslot select,.ncm-home .ncm-formslot textarea{
  width:100%!important;max-width:100%!important;font-family:var(--f)!important;font-size:15px!important;color:var(--ink)!important;
  border:1.7px solid var(--line)!important;border-radius:12px!important;padding:12px 14px!important;background:#fff!important;box-shadow:none!important;height:auto!important}
.ncm-home .ncm-formslot input:focus,.ncm-home .ncm-formslot select:focus,.ncm-home .ncm-formslot textarea:focus{border-color:var(--green)!important;outline:none}
.ncm-home .ncm-formslot textarea{min-height:110px!important}
.ncm-home .ncm-formslot button[type=submit],.ncm-home .ncm-formslot .wpforms-submit{width:100%!important;background:var(--green)!important;
  color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 24px!important;font-family:var(--f)!important;
  font-size:16px!important;font-weight:700!important;height:auto!important;cursor:pointer}
.ncm-home .ncm-formslot button[type=submit]:hover{background:var(--green-d)!important}

@media(max-width:760px){
  .ncm-home .ncm-systable th:nth-child(2),.ncm-home .ncm-systable td:nth-child(2){display:none}
  .ncm-home .ncm-unconfirmed-tag{white-space:normal}
}

/* ---- v1.7.2: the finder's answer, in the demo's results design ---- */
.ncm-home-results .ncm-results{padding:44px 0 52px}
.ncm-home.ncm-engine-answer{background:transparent}
.ncm-home .answer h3{font-size:clamp(20px,2.2vw,25px);color:var(--grey)}
.ncm-home .answer .tick{font-weight:700}
.ncm-home .answer.warn{border-left-color:var(--orange)}
.ncm-home .answer.warn .tick{background:var(--orange)}
.ncm-home .answer a:not(.btn){color:var(--green);font-weight:600;text-decoration:underline}
.ncm-home .prod .thumb{height:200px}
.ncm-home .prod .body h4{color:var(--grey)}
.ncm-home .prod .price .amount{font-size:inherit}
.ncm-home .prod .price .from{font-size:13px;font-weight:600;color:var(--mute)}
.ncm-home .prod .price del{font-size:13px;font-weight:500;color:var(--mute);margin-left:6px}
.ncm-home .prod .price del .amount{font-size:13px}
.ncm-home .bundle .bbuy{display:flex;align-items:center;gap:18px 22px;flex-wrap:wrap;margin-top:20px}
.ncm-home .bundle .bprice{font-size:30px;font-weight:800;color:#fff}
.ncm-home .bundle .bprice del{font-size:16px;opacity:.6;margin-left:8px;font-weight:500}
@media(max-width:760px){
  .ncm-home .answer{padding:20px}
  .ncm-home .answer .btnrow{width:100%}
}


/* ---- v1.9.1: no blank frame before the hero video plays ---- */
/* the frame behind the video was white; it is now the hero colour, the
   still frame shows at once, and the video fades in when it is playing */
.ncm-home .hero.video .vid{background:var(--hero-bg,var(--pink))!important}
.ncm-home .hero.video .vid img.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(100%) contrast(1.14) brightness(1.06)}
.ncm-home .hero.video .vid video.ncm-hero-video{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.ncm-home .hero.video .vid.is-playing video.ncm-hero-video{opacity:1}

/* ---- v1.10: the looped video behind every pink header, as the home page ---- */
.ncm-home .hero.pinkhero{--hero-bg:var(--pink)}
.ncm-home .hero.video>.wrap{position:relative;z-index:4}
.ncm-home .hero.video>.dots{z-index:3}

/* ---- v1.10: headings balanced, no orphaned last words ---- */
.ncm-home :is(h1,h2,h3,h4),.ncm-home .lead{text-wrap:balance}
.ncm-home :is(p,li,.lbl,.body){text-wrap:pretty}

/* ---- v1.10: the team ---- */
.ncm-home .ncm-team{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 26px;margin-top:34px}
.ncm-home .ncm-person{flex:0 0 calc(20% - 21px);min-width:150px;text-align:center}
.ncm-home .ncm-person .pframe{width:min(168px,100%);margin:0 auto}
.ncm-home .ncm-person .initials{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:50%;
  background:var(--grey-l);color:var(--grey);font-size:42px;font-weight:800;letter-spacing:-1px}
.ncm-home .ncm-person h3{font-size:18px;margin-top:14px}
.ncm-home .ncm-person p{font-size:13.6px;color:var(--mute);margin-top:4px;line-height:1.45}
@media(max-width:1000px){.ncm-home .ncm-person{flex-basis:calc(33.333% - 18px)}}
@media(max-width:600px){.ncm-home .ncm-team{gap:30px 16px}.ncm-home .ncm-person{flex-basis:calc(50% - 8px);min-width:0}
  .ncm-home .ncm-person h3{font-size:16px}}

/* insights cards: summary keeps its space above the button, buttons line up */
.ncm-home .grid>a.card>div>p.sm{margin-bottom:16px}

/* pillar cards: the paragraph always keeps its space above the button */
.ncm-home .verb p{margin-bottom:22px}

/* ==========================================================================
   v1.13.0 (29/09/26, RGS feedback before launch)
   ========================================================================== */
.ncm-home .ln{display:block;text-wrap:balance}

/* shop by nurse call system: a picture of each call point */
.ncm-home .ncm-sysgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:16px;margin-top:26px}
.ncm-home .ncm-systile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;text-decoration:none;color:var(--grey);transition:transform .25s cubic-bezier(.22,.8,.28,1),box-shadow .25s,border-color .25s}
.ncm-home .ncm-systile:hover,.ncm-home .ncm-systile:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--pink)}
.ncm-home .ncm-systile .pic{display:flex;align-items:center;justify-content:center;aspect-ratio:1/.86;background:var(--grey-l);
  border-bottom:4px solid var(--pink);overflow:hidden}
.ncm-home .ncm-systile .pic img{width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:multiply;transition:transform .35s ease}
.ncm-home .ncm-systile:hover .pic img{transform:scale(1.05)}
.ncm-home .ncm-systile .ncm-sys-ph{width:46%;height:auto;fill:#fff;stroke:#c9c5c5;stroke-width:2.4}
.ncm-home .ncm-systile .nm{display:block;padding:13px 15px 0;font-size:15px;font-weight:700;line-height:1.3;text-wrap:balance}
.ncm-home .ncm-systile .ct{display:block;padding:4px 15px 15px;font-size:12.8px;font-weight:600;color:var(--green);margin-top:auto}
@media(max-width:600px){.ncm-home .ncm-sysgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ncm-home .ncm-systile .nm{font-size:14px;padding:11px 12px 0}.ncm-home .ncm-systile .ct{padding:3px 12px 12px}}

/* VAT exemption: HMRC's guidance, easy to find */
.ncm-home .ncm-hmrc{margin-top:26px;background:#fff;border:2px solid var(--green);border-radius:var(--r-lg);padding:24px 26px;
  display:flex;flex-direction:column;gap:18px}
.ncm-home .ncm-hmrc-in{display:flex;gap:18px;align-items:flex-start}
.ncm-home .ncm-hmrc-badge{flex:0 0 auto;background:#0b0c0c;color:#fff;font-weight:800;font-size:13px;letter-spacing:.3px;
  padding:9px 12px;border-radius:8px;line-height:1}
.ncm-home .ncm-hmrc h3{font-size:19px}
.ncm-home .ncm-hmrc p{font-size:14.5px;color:var(--mute);margin-top:6px}
@media(max-width:600px){.ncm-home .ncm-hmrc-in{flex-direction:column;gap:12px}.ncm-home .ncm-hmrc .btn{width:100%;justify-content:center}}

/* the team: large rounded squares with a brand-colour bar, as RGS */
.ncm-home .ncm-team{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 26px;margin-top:38px}
.ncm-home .ncm-person{flex:0 0 calc(25% - 19.5px);min-width:0;text-align:left}
.ncm-home .psq{display:block;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1/1.04;background:var(--grey-l);
  border-bottom:9px solid var(--bar,var(--pink));box-shadow:0 10px 26px rgba(40,40,40,.08)}
.ncm-home .psq img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.ncm-home .psq .initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:auto;aspect-ratio:auto;
  border-radius:0;background:none;color:var(--grey);opacity:.55;font-size:64px;font-weight:800;letter-spacing:-2px}
.ncm-home .ncm-person h3{font-size:19px;margin-top:16px}
.ncm-home .ncm-person p{font-size:14px;color:var(--mute);margin-top:3px;line-height:1.45;text-wrap:balance}
.ncm-home .ncm-teamgroups h3{margin-top:16px!important}
@media(max-width:1000px){.ncm-home .ncm-person{flex-basis:calc(33.333% - 17.4px)}}
@media(max-width:640px){.ncm-home .ncm-team{gap:28px 14px}.ncm-home .ncm-person{flex-basis:calc(50% - 7px)}
  .ncm-home .psq{border-radius:16px;border-bottom-width:7px}.ncm-home .ncm-person h3{font-size:16px;margin-top:12px}
  .ncm-home .ncm-person p{font-size:13px}.ncm-home .psq .initials{font-size:46px}}

/* the policies: contents down the side, the text at a comfortable width (as the signed-off demo) */
.ncm-home .legal{display:grid;grid-template-columns:250px 1fr;gap:48px;align-items:start}
.ncm-home .toc{position:sticky;top:calc(var(--ncm-hdr-h,78px) + 70px);border-left:3px solid var(--line);padding-left:18px}
.ncm-home .toc h4{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.ncm-home .toc a{display:block;font-size:13.4px;color:var(--mute);padding:5px 0;line-height:1.4}
.ncm-home .toc a:hover{color:var(--green)}
.ncm-home .legal-body{max-width:780px}
.ncm-home .legal-body h2{font-size:23px;margin-top:38px;scroll-margin-top:170px}
.ncm-home .legal-body h2:first-child{margin-top:0}
.ncm-home .legal-body h3{font-size:17px;margin-top:24px}
.ncm-home .legal-body p{margin-top:12px;font-size:15.6px;line-height:1.72}
.ncm-home .legal-body ul{margin:12px 0 0 20px;font-size:15.6px;line-height:1.8}
.ncm-home .legal-body li{margin-bottom:4px}
.ncm-home .legal-body a{color:var(--green);text-decoration:underline}
.ncm-home .legal-meta{background:var(--grey-l);border-radius:12px;padding:16px 20px;font-size:14px;color:var(--mute)}
.ncm-home .legal-meta strong{color:var(--grey)}
@media(max-width:900px){.ncm-home .legal{grid-template-columns:1fr;gap:26px}
  .ncm-home .toc{position:static;border-left:none;border-top:3px solid var(--line);border-bottom:3px solid var(--line);padding:16px 0}
  .ncm-home .toc a{display:inline-block;margin-right:16px}}
/* ==========================================================================
   Nursecall Mats 2026
   Built by Rob Richardson, Digital Design NE Ltd (digdes.co.uk)

   PART 1  our own components (group bar, catalogue bar, search, engine,
           dialogs). Our markup, so it renders exactly as designed.
   PART 2  restyling of Shoptimizer and WooCommerce output. v1.2 corrected
           against the live site from the 24/09/26 preview screenshots.
           Appearance only, never behaviour.
   PART 3  chrome takeover: our header, drawer and footer.

   v1.2 FIXES
   1. Links in the group bar, header, catalogue bar and footer were green,
      so green on grey and green on pink. Cause: PART 2's site-wide link rule
      (body.ncm-2026 a) outranked our own component rules. It now uses
      :where(), which carries no weight, so it can never beat anything.
   2. Add to basket text sat low in the button and was cut off on product
      cards. Cause: Shoptimizer gives these buttons a fixed height and
      line-height, and our 14px top padding pushed the text down inside
      them. We now set horizontal padding only and leave height to the theme.
   3. Footer logo line stretched across the whole column. Replaced by the
      supplied RGS logo, as in the signed-off design.
   4. Catalogue bar cut off the last categories with no sign there were
      more. It now fades at the edge with an arrow, and scrolls the current
      category into view.
   5. Grey strip down the right edge of every page: the closed mobile
      drawer's shadow. Now only drawn when the drawer is open.
   ========================================================================== */

:root{
  --ncm-green:#008037; --ncm-green-d:#00662c; --ncm-green-l:#e6f2eb;
  --ncm-pink:#EA4498;  --ncm-pink-l:#fdeaf4;
  --ncm-orange:#F99D31; --ncm-blue:#0092CF; --ncm-red:#F04E23;
  --ncm-grey:#525050; --ncm-grey-l:#F1EFEF; --ncm-line:#e4e1e1; --ncm-mute:#6f6d6d;
  --ncm-r:14px; --ncm-r-lg:20px;
  --ncm-shadow:0 14px 34px rgba(0,0,0,.09);
  --ncm-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

/* ==========================================================================
   PART 1: our components
   ========================================================================== */
.ncm-wrap{max-width:1240px;margin:0 auto;padding:0 26px}   /* 1240, as the signed-off design */

/* ---- group bar ---- */
.ncm-groupbar{background:var(--ncm-grey);color:#fff;font-family:var(--ncm-font);font-size:12.6px}
.ncm-groupbar .ncm-wrap{display:flex;align-items:center;gap:16px;min-height:44px;flex-wrap:wrap}
.ncm-gb-label{color:rgba(255,255,255,.62);font-weight:500}
.ncm-gb-links{display:flex;gap:16px;flex-wrap:wrap}
.ncm-gb-util{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
.ncm-groupbar a{color:rgba(255,255,255,.88);text-decoration:none;font-weight:500;padding:3px 0;
  border-bottom:2px solid transparent;transition:.2s}
.ncm-groupbar a:hover{color:#fff}
.ncm-groupbar a.on{color:#fff;font-weight:600;border-bottom-color:var(--ncm-pink)}

/* ---- catalogue bar, in the brand colour ---- */
.ncm-catbar{background:var(--ncm-pink);font-family:var(--ncm-font)}
.ncm-cat-shell{display:flex;align-items:center}
.ncm-cat-track{position:relative;flex:1 1 auto;min-width:0}
.ncm-cat-scroll{display:flex;align-items:center;gap:2px;overflow-x:auto;position:relative;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ncm-cat-scroll::-webkit-scrollbar{display:none}
.ncm-cat-arrow{position:absolute;top:0;bottom:0;width:54px;border:0;padding:0 6px;margin:0;
  display:none;align-items:center;color:#fff;cursor:pointer;z-index:2;border-radius:0;box-shadow:none}
/* doubled-up selectors so the theme's own button:hover styles cannot win */
.ncm-catbar .ncm-cat-arrow.prev,.ncm-catbar .ncm-cat-arrow.prev:hover,.ncm-catbar .ncm-cat-arrow.prev:focus{
  left:0;justify-content:flex-start;color:#fff;
  background:linear-gradient(90deg,var(--ncm-pink) 42%,rgba(234,68,152,0))}
.ncm-catbar .ncm-cat-arrow.next,.ncm-catbar .ncm-cat-arrow.next:hover,.ncm-catbar .ncm-cat-arrow.next:focus{
  right:0;justify-content:flex-end;color:#fff;
  background:linear-gradient(270deg,var(--ncm-pink) 42%,rgba(234,68,152,0))}
.ncm-cat-track.can-l .ncm-cat-arrow.prev,.ncm-cat-track.can-r .ncm-cat-arrow.next{display:flex}
.ncm-cat-arrow svg{display:block}
.ncm-catbar a{color:#fff;font-size:13.8px;font-weight:600;letter-spacing:.2px;padding:13px 15px;
  white-space:nowrap;text-decoration:none;position:relative;opacity:.93;flex:0 0 auto}
.ncm-catbar a:hover,.ncm-catbar a:focus{color:#fff}
.ncm-catbar a:focus-visible{outline:2px solid #fff;outline-offset:-4px;border-radius:6px}
.ncm-catbar a::after{content:'';position:absolute;left:15px;right:15px;bottom:7px;height:2px;
  background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .26s}
.ncm-catbar a:hover{opacity:1}
.ncm-catbar a:hover::after,.ncm-catbar a.on::after{transform:scaleX(1)}
.ncm-cat-label{color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;padding-right:13px;white-space:nowrap;flex:0 0 auto;
  border-right:1px solid rgba(255,255,255,.3);margin-right:9px}

/* ---- product search, under the header ---- */
.ncm-search{background:#fff;border-bottom:1px solid var(--ncm-line);font-family:var(--ncm-font);
  position:relative;z-index:49}
.ncm-search[hidden]{display:none!important}
.ncm-search .ncm-wrap{padding-top:14px;padding-bottom:14px}
.ncm-search form{display:flex;gap:10px;max-width:760px;margin:0 auto;align-items:center}
.ncm-search .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap}
.ncm-search input[type="search"]{flex:1 1 auto;min-width:0;height:48px;margin:0;
  border:1.7px solid var(--ncm-line);border-radius:99px;padding:0 20px;background:var(--ncm-grey-l);
  font-family:var(--ncm-font);font-size:15px;font-weight:500;color:var(--ncm-grey);box-shadow:none}
.ncm-search input[type="search"]:focus{outline:none;border-color:var(--ncm-green);background:#fff}
.ncm-search button,.ncm-search input[type="submit"]{height:48px;margin:0;border:0;border-radius:99px;
  padding:0 24px;background:var(--ncm-green);color:#fff;font-family:var(--ncm-font);font-size:14px;
  font-weight:700;cursor:pointer;flex:0 0 auto;line-height:48px}
.ncm-search button:hover,.ncm-search input[type="submit"]:hover{background:var(--ncm-green-d)}

/* ---- the engine ---- */
.ncm-engine{background:#fff;border-radius:var(--ncm-r-lg);padding:30px;box-shadow:var(--ncm-shadow);
  font-family:var(--ncm-font);max-width:640px}
.ncm-engine h3{font-size:24px;font-weight:800;color:var(--ncm-grey);margin:0}
.ncm-engine h4{font-size:19px;font-weight:700;color:var(--ncm-grey);margin:0 0 12px}
.ncm-step{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--ncm-pink);margin-bottom:8px}
.ncm-sub{font-size:13.6px;color:var(--ncm-mute);margin:8px 0 0;line-height:1.55}
.ncm-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.ncm-routes button{background:var(--ncm-grey-l);border:1.7px solid transparent;border-radius:12px;
  padding:13px;text-align:left;cursor:pointer;transition:.16s;min-height:76px;font-family:inherit}
.ncm-routes button:hover{background:var(--ncm-pink-l);border-color:var(--ncm-pink)}
.ncm-routes button[aria-pressed="true"]{background:var(--ncm-pink);border-color:var(--ncm-pink)}
.ncm-routes b{display:block;font-size:13.5px;color:var(--ncm-grey);line-height:1.25}
.ncm-routes span{display:block;font-size:11.7px;color:var(--ncm-mute);margin-top:4px;line-height:1.35}
.ncm-routes button[aria-pressed="true"] b,.ncm-routes button[aria-pressed="true"] span{color:#fff}
.ncm-panel{display:none;margin-top:20px}
.ncm-panel.on{display:block}
.ncm-syspick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ncm-syspick button,.ncm-wherepick button{background:var(--ncm-grey-l);border:1.7px solid transparent;
  border-radius:10px;padding:12px 10px;font-size:13.2px;font-weight:600;color:var(--ncm-grey);
  cursor:pointer;transition:.16s;font-family:inherit;min-height:46px}
.ncm-syspick button:hover,.ncm-wherepick button:hover{background:var(--ncm-pink-l);border-color:var(--ncm-pink)}
.ncm-syspick button[aria-pressed="true"],.ncm-wherepick button[aria-pressed="true"]{
  background:var(--ncm-pink);border-color:var(--ncm-pink);color:#fff}
.ncm-step2{margin-top:20px}
.ncm-wherepick{display:flex;gap:8px;flex-wrap:wrap}
.ncm-wherepick button{flex:1 1 44%}
.ncm-help{background:var(--ncm-grey-l);border-radius:13px;padding:16px 18px}
.ncm-help h4{font-size:14.5px;margin-bottom:6px}
.ncm-help ol{margin:8px 0 0 18px;font-size:12.9px;color:var(--ncm-mute);line-height:1.75}
.ncm-help p{font-size:13px;color:var(--ncm-mute);margin:6px 0 0;line-height:1.6}
.ncm-btn,.ncm-btn:visited{display:inline-block;background:var(--ncm-pink);color:#fff;text-decoration:none;
  border-radius:99px;padding:11px 22px;font-weight:700;font-size:13.6px;margin-top:12px}
.ncm-btn:hover{background:var(--ncm-green);color:#fff}
.ncm-needgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.ncm-needgrid a{display:block;background:#fff;border:1.7px solid var(--ncm-line);border-radius:12px;
  padding:12px 14px;text-decoration:none;transition:.16s}
.ncm-needgrid a:hover{border-color:var(--ncm-pink);transform:translateY(-2px);box-shadow:var(--ncm-shadow)}
.ncm-needgrid b{display:block;font-size:13.3px;color:var(--ncm-grey)}
.ncm-needgrid span{display:block;font-size:11.5px;color:var(--ncm-mute);margin-top:3px;line-height:1.35}
.ncm-needgrid .ncm-go{font-size:11.5px;font-weight:700;color:var(--ncm-pink);margin-top:7px}
.ncm-foot{font-size:12.4px;color:var(--ncm-mute);margin:18px 0 0;text-align:center}
.ncm-foot a{color:var(--ncm-green);font-weight:700}
.ncm-loading{font-size:14px;color:var(--ncm-mute);padding:20px 0}

/* results: WooCommerce renders the cards, we only frame them */
.ncm-results{margin-top:28px}
/* the engine's product list has no WooCommerce column class, so lay it out
   ourselves, and switch off the theme's float clearfix, which would otherwise
   become two empty grid cells */
.ncm-results ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
  margin:0!important;padding:0!important;list-style:none;width:auto!important}
.ncm-results ul.products::before,.ncm-results ul.products::after{display:none!important;content:none!important}
.ncm-results ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important;
  max-width:none!important}
.ncm-results ul.products li.product img{width:100%;height:auto}
.ncm-results-grid{margin-top:24px}
.ncm-results-more{text-align:center;margin:26px 0 0}
@media(max-width:1000px){.ncm-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ncm-results ul.products{grid-template-columns:1fr}}
.ncm-answer{background:var(--ncm-green-l);border-left:5px solid var(--ncm-green);
  border-radius:0 14px 14px 0;padding:20px 24px;margin-bottom:22px}
.ncm-answer h3{font-size:21px;color:var(--ncm-green-d)}
.ncm-answer p{font-size:13.8px;color:var(--ncm-grey);margin:8px 0 0;line-height:1.6}

/* ---- dialogs ---- */
.ncm-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  padding:24px;background:rgba(28,28,28,.55);font-family:var(--ncm-font)}
.ncm-modal.open{display:flex}
.ncm-modal .ncm-sheet{background:#fff;border-radius:var(--ncm-r-lg);max-width:520px;width:100%;
  max-height:90vh;overflow:auto;padding:30px}
.ncm-modal .ncm-sheet.ncm-sheet-wide{max-width:640px}
.ncm-modal h3{font-size:24px;font-weight:800;color:var(--ncm-grey);margin:6px 0 0;letter-spacing:-.4px}
.ncm-modal .ncm-routes{margin-top:16px}
@media(max-width:560px){.ncm-modal .ncm-tsroutes{grid-template-columns:1fr!important}}

/* ---- reveal ---- */
[data-ncm-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
[data-ncm-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-ncm-reveal]{opacity:1;transform:none;transition:none}
}

@media(max-width:860px){
  .ncm-groupbar .ncm-wrap{font-size:11.8px;gap:12px;overflow-x:auto;flex-wrap:nowrap;
    scrollbar-width:none;min-height:40px}
  .ncm-groupbar .ncm-wrap::-webkit-scrollbar{display:none}
  .ncm-gb-links,.ncm-gb-util{flex-wrap:nowrap;white-space:nowrap;gap:12px;flex:0 0 auto}
  .ncm-gb-label{display:none}
  .ncm-engine{padding:22px;border-radius:16px}
  .ncm-routes{grid-template-columns:1fr}
  .ncm-routes button{min-height:0;display:flex;align-items:baseline;gap:9px}
  .ncm-routes span{margin-top:0}
  .ncm-syspick{grid-template-columns:repeat(2,1fr)}
  .ncm-needgrid{grid-template-columns:1fr}
  .ncm-cat-label{display:none}
  .ncm-catbar a{font-size:13.2px;padding:12px 13px}
  .ncm-catbar a::after{left:13px;right:13px}
}

/* ==========================================================================
   PART 2: restyling Shoptimizer and WooCommerce
   Appearance only. Corrected against the live site, 24/09/26.
   ========================================================================== */
body.ncm-2026{font-family:var(--ncm-font)}
/* :where() so this shop heading style can never outrank the home page's */
:where(body.ncm-2026) h1,:where(body.ncm-2026) h2,:where(body.ncm-2026) h3,
:where(body.ncm-2026) .entry-title,:where(body.ncm-2026) .product_title{
  font-family:var(--ncm-font);font-weight:800;letter-spacing:-.01em;color:var(--ncm-grey)}

/* buttons: one pill shape, colour carries hierarchy */
body.ncm-2026 .button,
body.ncm-2026 button.button,
body.ncm-2026 input[type="submit"],
body.ncm-2026 .woocommerce a.button,
body.ncm-2026 .woocommerce button.button,
body.ncm-2026 .woocommerce .button.alt,
body.ncm-2026 .single_add_to_cart_button{
  border-radius:99px!important;font-family:var(--ncm-font)!important;font-weight:700!important;
  letter-spacing:.1px!important;padding-left:26px!important;padding-right:26px!important;
  transition:background-color .2s,border-color .2s,color .2s!important}
/* Shoptimizer sets a fixed height and line-height on these buttons. v1.1 added
   14px of top padding on top, which pushed the label down and, on product
   cards, out of the bottom of the button. Vertical sizing is left to the theme. */

/* the primary buying action is pink, as agreed */
body.ncm-2026 .single_add_to_cart_button,
body.ncm-2026 .woocommerce .button.alt,
body.ncm-2026 .checkout-button,
body.ncm-2026 #place_order{
  background:var(--ncm-pink)!important;border-color:var(--ncm-pink)!important;color:#fff!important}
body.ncm-2026 .single_add_to_cart_button:hover,
body.ncm-2026 .woocommerce .button.alt:hover,
body.ncm-2026 .checkout-button:hover,
body.ncm-2026 #place_order:hover{
  background:var(--ncm-green)!important;border-color:var(--ncm-green)!important}

/* product cards */
body.ncm-2026 ul.products li.product{border-radius:var(--ncm-r);overflow:hidden;
  background:#fff;border:1px solid var(--ncm-line);transition:.25s}
body.ncm-2026 ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--ncm-shadow)}
body.ncm-2026 ul.products li.product .price{color:var(--ncm-grey);font-weight:800}
body.ncm-2026 .price ins{text-decoration:none}

/* links and accents.
   :where() gives this rule no weight at all, so it colours plain content
   links but can never override our group bar, header, catalogue bar or
   footer, which is exactly what went wrong in v1.1. */
:where(body.ncm-2026) a{color:var(--ncm-green)}

/* sale badge. .onsale is WooCommerce's own class. The -24% badge in the
   screenshot is Shoptimizer's, which (unconfirmed) uses .product-label.
   If the badge is still red in preview, Inspect it and send the class. */
body.ncm-2026 .onsale,
body.ncm-2026 .product-label{background:var(--ncm-pink)!important;color:#fff!important;
  border-radius:99px!important;font-family:var(--ncm-font)!important}

/* when the theme's category menu is kept (Settings), give it the brand type */
body.ncm-keep-nav .col-full-nav,
body.ncm-keep-nav .col-full-nav a{font-family:var(--ncm-font)!important}

/* forms: 16px stops iOS zooming the page on focus */
@media(max-width:760px){
  body.ncm-2026 input[type="text"],body.ncm-2026 input[type="email"],body.ncm-2026 input[type="search"],
  body.ncm-2026 input[type="tel"],body.ncm-2026 input[type="password"],
  body.ncm-2026 select,body.ncm-2026 textarea{font-size:16px!important}
}

/* ==========================================================================
   PART 3: chrome takeover
   Our own header, drawer and footer. This is our markup, so it renders
   exactly as designed rather than depending on Shoptimizer's class names.
   ========================================================================== */
body.ncm-takeover{font-family:var(--ncm-font)}

/* ---- header ---- */
.ncm-header{background:#fff;border-bottom:1px solid var(--ncm-line);position:relative;z-index:50}
.ncm-header .ncm-wrap{display:flex;align-items:center;gap:28px;min-height:76px}
.ncm-logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.ncm-logo img{height:34px;width:auto;display:block;max-width:none}
.ncm-wordmark{display:inline-block;font-weight:800;font-size:23px;color:var(--ncm-grey);letter-spacing:-.02em;line-height:1}
.ncm-wordmark em{font-style:normal;display:block;font-size:13px;font-weight:700;letter-spacing:.32em;
  text-transform:lowercase;text-align:right;color:var(--ncm-grey);border-top:2px solid var(--ncm-green);
  margin-top:2px;padding-top:2px}
.ncm-wordmark.small{font-size:19px}
.ncm-wordmark.small em{font-size:11px}
.ncm-wordmark.light,.ncm-wordmark.light em{color:#fff;border-color:var(--ncm-pink)}

.ncm-nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.ncm-nav a,.ncm-nav a:visited{color:var(--ncm-mute);text-decoration:none;font-size:14.6px;font-weight:600;
  position:relative;padding:6px 0;white-space:nowrap}
.ncm-nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ncm-pink);
  transform:scaleX(0);transform-origin:left;transition:transform .26s}
.ncm-nav a:hover{color:var(--ncm-green)}
.ncm-nav a:hover::after,.ncm-nav a.on::after,.ncm-nav li.current-menu-item a::after{transform:scaleX(1)}
.ncm-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.ncm-nav li{list-style:none}

.ncm-acts{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.ncm-searchbtn{width:42px;height:42px;border:0;border-radius:12px;background:transparent;
  color:var(--ncm-grey);cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;margin:0;box-shadow:none}
.ncm-searchbtn:hover,.ncm-searchbtn[aria-expanded="true"]{background:var(--ncm-grey-l);color:var(--ncm-green)}
.ncm-searchbtn:focus-visible,.ncm-burger:focus-visible,.ncm-cart:focus-visible{outline:2px solid var(--ncm-green);outline-offset:2px}
.ncm-btn.ghost{background:#fff;color:var(--ncm-grey);border:1.8px solid var(--ncm-line)}
.ncm-btn.ghost:hover{border-color:var(--ncm-green);color:var(--ncm-green);background:#fff}
.ncm-acts .ncm-btn{margin-top:0;padding:11px 22px;font-size:14px}
.ncm-cart{position:relative;color:var(--ncm-grey);display:flex;align-items:center;padding:6px}
.ncm-cart:hover{color:var(--ncm-green)}
.ncm-count{position:absolute;top:-2px;right:-4px;background:var(--ncm-pink);color:#fff;font-size:10.5px;
  font-weight:700;min-width:18px;height:18px;border-radius:99px;display:flex;align-items:center;
  justify-content:center;padding:0 5px}
.ncm-burger{display:none;width:46px;height:46px;border:none;border-radius:12px;background:var(--ncm-grey-l);
  font-size:21px;color:var(--ncm-grey);cursor:pointer;margin-left:auto}

/* ---- drawer ---- */
.ncm-drawer-backdrop{position:fixed;inset:0;z-index:78;background:rgba(28,28,28,.5);
  opacity:0;visibility:hidden;transition:.28s}
.ncm-drawer-backdrop.on{opacity:1;visibility:visible}
/* v1.2: the shadow is only applied when open. In v1.1 the closed drawer's
   shadow showed as a grey strip down the right edge of every page. */
.ncm-drawer{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(84vw,340px);background:#fff;
  transform:translateX(100%);visibility:hidden;box-shadow:none;
  transition:transform .32s cubic-bezier(.22,.9,.28,1),visibility 0s linear .32s,box-shadow .32s;
  overflow-y:auto;display:flex;flex-direction:column}
.ncm-drawer.open{transform:none;visibility:visible;box-shadow:-14px 0 44px rgba(0,0,0,.2);
  transition:transform .32s cubic-bezier(.22,.9,.28,1),visibility 0s,box-shadow .32s}
.ncm-dhead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;
  border-bottom:1px solid var(--ncm-line)}
.ncm-dlogo{height:30px;width:auto;display:block}
.ncm-dclose{width:42px;height:42px;border:none;border-radius:12px;background:var(--ncm-grey-l);
  font-size:22px;color:var(--ncm-grey);cursor:pointer}
.ncm-drawer a{display:block;padding:16px 20px;font-weight:600;font-size:16px;color:var(--ncm-grey);
  text-decoration:none;border-bottom:1px solid var(--ncm-grey-l)}
.ncm-drawer ul{list-style:none;margin:0;padding:0}
.ncm-dfoot{padding:20px;margin-top:auto}
.ncm-dfoot .ncm-btn{width:100%;text-align:center;margin:0}

/* ---- footer ---- */
.ncm-footer{background:var(--ncm-grey);color:rgba(255,255,255,.78);padding:60px 0 34px;margin-top:60px}
.ncm-fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.ncm-footer h4{color:#fff;font-size:12px;letter-spacing:1.1px;text-transform:uppercase;
  margin:0 0 16px;font-weight:700}
.ncm-footer p{font-size:14px;line-height:1.7;margin:14px 0 0}
.ncm-addr{font-size:13.4px}
.ncm-footer ul{list-style:none;margin:0;padding:0}
.ncm-footer li{margin-bottom:10px}
.ncm-footer a,.ncm-footer a:visited{color:rgba(255,255,255,.78);text-decoration:none;font-size:14px}
.ncm-footer a:hover{color:#fff}
.ncm-flogo{height:56px;width:auto;display:block;max-width:none}
.ncm-footer strong{color:#fff}
.ncm-fbot{border-top:1px solid rgba(255,255,255,.16);margin-top:40px;padding-top:22px;font-size:12.4px;
  color:rgba(255,255,255,.62);line-height:1.7;display:flex;justify-content:space-between;
  align-items:flex-end;gap:20px;flex-wrap:wrap}
.ncm-dim{opacity:.72}
.ncm-legal{display:inline-block;margin-top:7px;font-size:11.8px;opacity:.85}
.ncm-footer .ncm-legal a{font-size:inherit}
.ncm-footer .ncm-legal a:hover{text-decoration:underline}
.ncm-credit{display:inline-flex;align-items:center;gap:12px;opacity:.68;transition:opacity .25s;flex:0 0 auto}
.ncm-footer a.ncm-credit:hover{opacity:1;text-decoration:none}
.ncm-credit span{font-size:11.5px;letter-spacing:.4px;white-space:nowrap}
.ncm-credit img{height:34px;width:auto;display:block}

@media(max-width:1000px){
  .ncm-fgrid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:860px){
  .ncm-header .ncm-wrap{min-height:64px;gap:14px}
  .ncm-nav,.ncm-acts .ncm-btn{display:none}
  .ncm-acts{margin-left:auto;gap:6px}
  .ncm-burger{display:block;margin-left:0}
  .ncm-fgrid{grid-template-columns:1fr}
  .ncm-footer{padding:44px 0 28px}
  .ncm-fbot{align-items:flex-start}
  .ncm-searchbtn{width:40px;height:40px}
}

/* ==========================================================================
   v1.3: chrome matched to the signed-off design's own measurements
   (site.css: .groupbar, .hdr, .nav, .ftr), so the home page and the shop
   share one header and footer that look exactly like the demo.
   ========================================================================== */
.ncm-groupbar,.ncm-groupbar *,.ncm-header,.ncm-header *,.ncm-catbar,.ncm-catbar *,
.ncm-search,.ncm-search *,.ncm-drawer,.ncm-drawer *,.ncm-footer,.ncm-footer *,
.ncm-modal,.ncm-modal *,.ncm-engine,.ncm-engine *,.ncm-home-results *{box-sizing:border-box}
.ncm-groupbar,.ncm-header,.ncm-catbar,.ncm-drawer,.ncm-footer,.ncm-modal,.ncm-engine{font-family:var(--ncm-font)}
.ncm-footer h4,.ncm-modal h3,.ncm-modal h4,.ncm-engine h3,.ncm-engine h4,.ncm-help h4,.ncm-answer h3{font-family:var(--ncm-font)}

.ncm-groupbar .ncm-wrap{min-height:0;padding-top:9px;padding-bottom:9px}

/* sticky header that tightens on scroll, as in the design */
.ncm-header{position:sticky;top:0;z-index:50;transition:box-shadow .25s ease}
body.admin-bar .ncm-header{top:32px}
@media(max-width:782px){body.admin-bar .ncm-header{top:46px}}
@media(max-width:600px){body.admin-bar .ncm-header{top:0}}
.ncm-header .ncm-wrap{min-height:0;gap:26px;padding-top:15px;padding-bottom:15px;transition:padding .25s ease}
.ncm-header.stuck{box-shadow:0 6px 24px rgba(0,0,0,.09)}
.ncm-header.stuck .ncm-wrap{padding-top:9px;padding-bottom:9px}
.ncm-logo img{transition:transform .25s ease}
.ncm-header.stuck .ncm-logo img{transform:scale(.86);transform-origin:left center}
.ncm-nav{gap:22px}
.ncm-nav a,.ncm-nav a:visited{font-size:14.6px;font-weight:500}
.ncm-nav a::after{background:var(--ncm-green)}
.ncm-acts .ncm-btn{padding:10px 22px;font-size:13.5px;font-weight:600}
.ncm-acts .ncm-btn:not(.ghost),.ncm-acts .ncm-btn:not(.ghost):visited{background:var(--ncm-green);color:#fff}
.ncm-acts .ncm-btn:not(.ghost):hover{background:var(--ncm-green-d)}
.ncm-btn.ghost{border-width:1.6px}

/* footer */
.ncm-footer{padding:56px 0 28px;font-size:13.6px;line-height:1.62;color:rgba(255,255,255,.74)}
body.ncm-home-page .ncm-footer{margin-top:0}
.ncm-fgrid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.ncm-footer h4{font-size:13.4px;letter-spacing:.7px;margin:0 0 14px;font-weight:800;line-height:1.12}
.ncm-footer p{font-size:13.6px;margin:15px 0 0;line-height:1.62}
.ncm-footer .ncm-fgrid>div:first-child>p:first-of-type{max-width:310px}
.ncm-footer li{margin:0 0 8px;padding:0}
.ncm-footer a,.ncm-footer a:visited{font-size:13.6px;color:inherit}
.ncm-footer a:hover{color:#fff;text-decoration:underline}
.ncm-fbot{margin-top:34px;padding-top:20px;border-top-color:rgba(255,255,255,.13);font-size:12px}
@media(max-width:1020px){.ncm-fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ncm-fgrid{grid-template-columns:1fr}}

/* answers scroll into view below the sticky header, not behind it */
.ncm-results{scroll-margin-top:120px}
/* keep theme heading, list and button styles out of our dialogs and help cards */
.ncm-help h4,.ncm-modal h4{font-weight:700;color:var(--ncm-grey);line-height:1.3}
.ncm-help ol{padding:0}
.ncm-modal [data-ncm-close]{border:0;box-shadow:none;font-family:var(--ncm-font);cursor:pointer}

.ncm-nav a.on,.ncm-nav a.on:visited{color:var(--ncm-green)}

/* ==========================================================================
   v1.5: PRODUCT PAGES, to the signed-off product page design.
   WooCommerce still renders every part; these rules restyle it, and style
   the pieces added in inc/product.php (.ncm-maxbox, .ncm-spec, .ncm-buybox).
   ========================================================================== */
body.ncm-pdp .woocommerce-breadcrumb{font-family:var(--ncm-font);font-size:13px;color:var(--ncm-mute);padding:20px 0;margin:0}
body.ncm-pdp .woocommerce-breadcrumb a{color:var(--ncm-mute);text-decoration:none}
body.ncm-pdp .woocommerce-breadcrumb a:hover{color:var(--ncm-green)}

/* gallery: rounded main image and a thumbnail strip */
body.ncm-pdp .woocommerce-product-gallery{position:relative}
body.ncm-pdp .woocommerce-product-gallery .flex-viewport,
body.ncm-pdp .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:only-child{
  border-radius:var(--ncm-r-lg);overflow:hidden;background:var(--ncm-grey-l)}
body.ncm-pdp .woocommerce-product-gallery__image img{border-radius:0}
body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;
  margin:12px 0 0!important;padding:0!important;list-style:none}
body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs li{width:84px!important;flex:0 0 84px;
  margin:0!important;float:none!important;clear:none!important}
body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs img{width:84px;height:64px;object-fit:cover;
  border-radius:10px;border:2px solid transparent;opacity:1!important;cursor:pointer;transition:border-color .15s}
body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs img:hover{border-color:#cfcccc}
body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active{border-color:var(--ncm-green)}
/* the flag, only on products with the Maxalert brand */
body.ncm-pdp-maxalert .woocommerce-product-gallery::before{content:'Maxalert \00B7  Made by RGS';
  position:absolute;top:10px;left:10px;z-index:9;font-family:var(--ncm-font);font-size:10.4px;font-weight:700;
  letter-spacing:.6px;text-transform:uppercase;background:#F04E23;color:#fff;padding:4px 10px;border-radius:999px;
  pointer-events:none}
body.ncm-pdp-maxalert .woocommerce-product-gallery .onsale{top:42px!important}

/* summary */
body.ncm-pdp .summary{font-family:var(--ncm-font)}
body.ncm-pdp .summary .product_title{font-size:35px;line-height:1.12;letter-spacing:-.6px;margin:13px 0 0}
body.ncm-pdp .summary .woocommerce-product-rating{margin:10px 0 0;display:flex;align-items:center;gap:8px;font-size:12.8px}
body.ncm-pdp .summary .star-rating span::before,body.ncm-pdp .summary .star-rating::before{color:#f5a623}
body.ncm-pdp .summary .woocommerce-review-link{color:var(--ncm-mute)}
body.ncm-pdp .summary .woocommerce-product-details__short-description{margin-top:15px;font-size:16px;
  line-height:1.65;color:var(--ncm-mute)}
body.ncm-pdp .summary .woocommerce-product-details__short-description p{margin:0 0 .8em}

.ncm-maxbox{display:block;font-family:var(--ncm-font);line-height:1.6}
.ncm-maxbox img{height:26px;width:auto;display:block;margin:0 0 6px}
.ncm-maxbox span{font-size:13.6px;color:var(--ncm-mute);margin-right:10px}
.ncm-maxbox a,.ncm-maxbox a:visited{font-size:13.6px;font-weight:700;color:var(--ncm-green);text-decoration:none;white-space:nowrap}
.ncm-maxbox a:hover{text-decoration:underline}

.ncm-spec{list-style:none;margin:18px 0 0!important;padding:0!important;font-family:var(--ncm-font)}
.ncm-spec li{padding:10px 0;margin:0;border-bottom:1px solid var(--ncm-line);display:flex;
  justify-content:space-between;gap:20px;font-size:14.4px;color:var(--ncm-mute)}
.ncm-spec li span:last-child{font-weight:600;color:var(--ncm-grey);text-align:right}
.ncm-spec li span.ncm-ok{color:var(--ncm-green)}
.ncm-spec li span.ncm-out{color:#c62828}

/* buy box: price and Add to basket in one card */
.ncm-buybox{background:#fff;border:1px solid var(--ncm-line);border-radius:var(--ncm-r);padding:24px;margin-top:22px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-family:var(--ncm-font)}
.ncm-buybox-price{flex:1 1 200px;min-width:0}
.ncm-buybox .price{margin:0!important;font-size:33px!important;font-weight:800;color:var(--ncm-grey)!important;line-height:1.15}
.ncm-buybox .price del{font-size:.55em;font-weight:500;color:var(--ncm-mute);opacity:1}
.ncm-buybox .price ins{text-decoration:none}
.ncm-buybox .price small,.ncm-buybox .price .woocommerce-price-suffix{display:block;font-size:12.8px;
  font-weight:500;color:var(--ncm-mute);margin-top:4px}
.ncm-vatlink{display:block;margin-top:6px;font-size:12.8px}
.ncm-vatlink a{color:var(--ncm-green);text-decoration:underline}
.ncm-buybox form.cart{margin:0!important;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ncm-buybox form.variations_form,.ncm-buybox form.grouped_form{flex:1 1 100%;display:block}
.ncm-buybox .stock{flex:1 1 100%;margin:0;font-size:13.6px}
.ncm-buybox form.cart .quantity{margin:0}
.ncm-buybox form.cart .quantity{flex:0 0 auto;width:auto}
.ncm-buybox form.cart .quantity .qty{height:52px;width:72px;min-width:0;padding:0 6px;border:1.7px solid var(--ncm-line);border-radius:12px;
  font-family:var(--ncm-font);font-size:15px;text-align:center}
.ncm-buybox form.cart .single_add_to_cart_button{min-width:160px}

/* the RGS logo file has a white background; let the grey card show through */
.ncm-pdp-more img[alt="RGS Group"]{mix-blend-mode:multiply}
/* the pink band runs straight into the footer, as in the design */
body.ncm-pdp .ncm-footer{margin-top:0}

/* design blocks under the product */
.ncm-pdp-more{margin:10px 0 40px}
.ncm-pdp-more .grid.g1{grid-template-columns:1fr}

@media(max-width:760px){
  body.ncm-pdp .summary .product_title{font-size:27px}
  body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs li{width:66px!important;flex:0 0 66px}
  body.ncm-pdp .woocommerce-product-gallery ol.flex-control-thumbs img{width:66px;height:52px}
  .ncm-buybox{padding:18px}
  .ncm-buybox form.cart{flex:1 1 100%}
  .ncm-buybox form.cart .single_add_to_cart_button{flex:1}
  .ncm-spec li{padding:13px 0}
}

/* ==========================================================================
   v1.6: SHOP, CATEGORY AND BRAND LISTINGS, to the signed-off listing design.
   WooCommerce still renders the grid, filters, sorting and paging.
   ========================================================================== */
body.ncm-plp .woocommerce-breadcrumb{font-family:var(--ncm-font);font-size:13px;color:var(--ncm-mute);padding:20px 0;margin:0}
body.ncm-plp .woocommerce-breadcrumb a{color:var(--ncm-mute);text-decoration:none}
body.ncm-plp .woocommerce-breadcrumb a:hover{color:var(--ncm-green)}
/* the theme's own title band; our header replaces it */
body.ncm-plp .woocommerce-products-header{display:none}

.ncm-plp-intro{margin:4px 0 28px;overflow:visible}
.ncm-plp-intro .between{align-items:flex-end}
.ncm-plp-intro .ncm-plp-desc{margin-top:0}
.ncm-plp-intro .ncm-plp-desc p{margin:0 0 .6em}
.ncm-plp-intro .ncm-plp-desc p:last-child{margin-bottom:0}

/* product cards */
body.ncm-2026 ul.products li.product{text-align:left;position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease}
body.ncm-2026 ul.products li.product:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(0,0,0,.11)}
body.ncm-2026 ul.products li.product img{background:var(--ncm-grey-l)}
body.ncm-2026 ul.products li.product .woocommerce-loop-product__title,
body.ncm-2026 ul.products li.product h2,
body.ncm-2026 ul.products li.product h3{font-family:var(--ncm-font);font-size:15.8px!important;font-weight:800;
  line-height:1.3;color:var(--ncm-grey);text-align:left}
body.ncm-2026 ul.products li.product .price{font-family:var(--ncm-font);font-size:21px!important;font-weight:800;
  color:var(--ncm-grey)!important;text-align:left;display:block}
body.ncm-2026 ul.products li.product .price small,
body.ncm-2026 ul.products li.product .price .woocommerce-price-suffix{font-size:11.5px;font-weight:500;color:var(--ncm-mute)}
.ncm-card-desc{font-family:var(--ncm-font);font-size:14px;line-height:1.55;color:var(--ncm-mute);margin:8px 0 0;text-align:left}
.ncm-card-vat{display:block;font-family:var(--ncm-font);font-size:11.5px;font-weight:500;color:var(--ncm-mute);margin-top:2px;text-align:left}
.ncm-flag{position:absolute;top:10px;left:10px;z-index:3;font-family:var(--ncm-font);font-size:10.4px;font-weight:700;
  letter-spacing:.6px;text-transform:uppercase;color:#fff;padding:4px 10px;border-radius:999px;line-height:1.4;
  pointer-events:none;background:#F04E23}
.ncm-flag-pc{background:var(--ncm-pink)}
.ncm-flag-ms{background:#F99D31}
/* a sale badge moves down so it does not sit on the brand flag */
body.ncm-2026 ul.products li.product .ncm-flag~.onsale,
body.ncm-2026 ul.products li.product .ncm-flag~.product-label{top:40px!important}

/* paging */
body.ncm-plp .woocommerce-pagination ul{border:0!important;display:flex;gap:6px;justify-content:center}
body.ncm-plp .woocommerce-pagination ul li{border:0!important}
body.ncm-plp .woocommerce-pagination ul li a,body.ncm-plp .woocommerce-pagination ul li span{
  font-family:var(--ncm-font);min-width:40px;height:40px;line-height:40px;padding:0 10px;border-radius:999px;
  display:inline-block;text-align:center;border:1.6px solid var(--ncm-line);color:var(--ncm-grey);font-weight:600}
body.ncm-plp .woocommerce-pagination ul li span.current{background:var(--ncm-green);border-color:var(--ncm-green);color:#fff}

/* the listing's sections run straight into the band and the footer */
body.ncm-plp .ncm-footer{margin-top:0}

/* ==========================================================================
   v1.7.3: PRODUCT CARDS padded like the design, button inside the card.
   Shoptimizer pins the button to the card's bottom edge (absolute), which
   put it on the border. It is returned to the flow here, and the card
   gets the design's 20px inner spacing.
   ========================================================================== */
body.ncm-2026 ul.products li.product{display:flex!important;flex-direction:column;padding:14px 0 20px!important;
  height:auto!important;min-height:0!important}
body.ncm-2026 ul.products li.product>*:not(.ncm-flag):not(.onsale):not(.product-label){margin-left:20px!important;
  margin-right:20px!important;max-width:calc(100% - 40px)}
body.ncm-2026 ul.products li.product .woocommerce-card__header{display:flex;flex-direction:column;flex:1 1 auto;
  padding:0!important;position:static!important}
body.ncm-2026 ul.products li.product .price{margin-bottom:14px!important}
body.ncm-2026 ul.products li.product a.button,
body.ncm-2026 ul.products li.product .add_to_cart_button,
body.ncm-2026 ul.products li.product .product_type_variable,
body.ncm-2026 ul.products li.product .product_type_simple{position:static!important;left:auto!important;right:auto!important;
  bottom:auto!important;top:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;
  display:flex!important;align-items:center;justify-content:center;width:auto!important;max-width:none!important;
  align-self:stretch;margin-top:auto!important;margin-bottom:0!important}
body.ncm-2026 ul.products li.product .added_to_cart{position:static!important;display:block;text-align:center;
  margin-top:8px!important;font-size:13px;font-weight:600;color:var(--ncm-green)}

/* ==========================================================================
   v1.7.3: the theme's own title band on listings ("BED SENSOR MATS" above
   the breadcrumb). Our header already carries the title. The known
   Shoptimizer and WooCommerce wrappers are hidden here; ncm.js removes any
   other page-level heading band the theme prints before the breadcrumb.
   The heading text is hidden straight away so it never flashes.
   ========================================================================== */
body.ncm-plp .archive-header,
body.ncm-plp .shoptimizer-category-banner,
body.ncm-plp .woocommerce-products-header{display:none!important}
body.ncm-plp h1:not(.ncm-plp-intro h1):not(.ncm-header h1){visibility:hidden}

/* ==========================================================================
   v1.7.4: LISTINGS closer to the demo.
   - Our own breadcrumb at the top of our header, with room above it. (1.7.3
     hid the theme's title band, which evidently also held its breadcrumb.)
   - Full width: the filter sidebar moves into a "Filter products" panel.
   - The category description sits behind "About this range".
   ========================================================================== */
body.ncm-plp .woocommerce-breadcrumb:not(.ncm-crumbs){display:none!important}
body.ncm-plp .ncm-plp-intro{padding-top:34px;margin-top:0}
body.ncm-plp .ncm-plp-intro .ncm-crumbs{display:block;padding:0 0 30px;margin:0;font-family:var(--ncm-font);
  font-size:13px;color:var(--ncm-mute)}
body.ncm-plp .ncm-plp-intro .ncm-crumbs a{color:var(--ncm-mute);text-decoration:none}
body.ncm-plp .ncm-plp-intro .ncm-crumbs a:hover{color:var(--ncm-green)}

/* full width, as the demo: the sidebar lives in the filter panel instead */
body.ncm-plp #secondary{display:none}
body.ncm-plp .ncm-filterpanel #secondary{display:grid!important}
body.ncm-plp #primary{width:100%!important;max-width:100%!important;float:none!important;
  margin-left:0!important;margin-right:0!important;grid-column:1/-1}
body.ncm-plp .mobile-filter{display:none!important}
/* four across, as the demo, whatever column count the theme is set to */
body.ncm-plp ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important;
  margin:0 0 30px!important;padding:0!important;width:auto!important}
body.ncm-plp ul.products::before,body.ncm-plp ul.products::after{display:none!important;content:none!important}
body.ncm-plp ul.products li.product{width:auto!important;max-width:none!important;float:none!important;clear:none!important;
  margin:0!important}

/* About this range */
.ncm-plp-intro .ncm-infobtn{display:inline-flex;align-items:center;gap:9px}
.ncm-plp-intro .ncm-i{width:20px;height:20px;border-radius:50%;background:var(--ncm-pink);color:#fff;font:700 12px/20px Georgia,serif;
  font-style:italic;text-align:center;flex:0 0 20px}
.ncm-plp-intro .ncm-infobtn[aria-expanded="true"]{border-color:var(--ncm-pink)}
.ncm-plp-intro .ncm-catinfo[hidden]{display:none}
.ncm-plp-intro .ncm-catinfo{margin-top:22px;animation:ncmh-accIn .3s cubic-bezier(.22,.8,.28,1)}
.ncm-plp-intro .ncm-catinfo-in{position:relative;background:var(--ncm-grey-l);border-radius:16px;padding:22px 56px 22px 24px;
  font-size:14.5px;line-height:1.7;color:var(--ncm-mute);max-height:340px;overflow:auto}
.ncm-plp-intro .ncm-catinfo-in p{margin:0 0 .8em}
.ncm-plp-intro .ncm-catinfo-in p:last-of-type{margin-bottom:0}
.ncm-plp-intro .ncm-catinfo-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;
  background:#fff;color:var(--ncm-grey);font-size:20px;line-height:1;cursor:pointer;padding:0}

/* Filter products */
.ncm-plp-intro .ncm-filterbar{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.ncm-plp-intro .ncm-filterbar[hidden]{display:none}
.ncm-plp-intro .ncm-filterbtn{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 20px;border-radius:999px;
  border:1.6px solid var(--ncm-line);background:#fff;color:var(--ncm-grey);font:600 14.5px var(--ncm-font);cursor:pointer;
  transition:border-color .2s,box-shadow .2s}
.ncm-plp-intro .ncm-filterbtn:hover{border-color:var(--ncm-green);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.ncm-plp-intro .ncm-filterbtn[aria-expanded="true"]{border-color:var(--ncm-green);color:var(--ncm-green)}
.ncm-plp-intro .ncm-filterbtn .ncm-chev{transition:transform .2s}
.ncm-plp-intro .ncm-filterbtn[aria-expanded="true"] .ncm-chev{transform:rotate(180deg)}
.ncm-plp-intro .ncm-filtercount{min-width:22px;height:22px;border-radius:999px;background:var(--ncm-pink);color:#fff;
  font-size:12px;font-weight:700;line-height:22px;text-align:center;padding:0 6px}
.ncm-plp-intro .ncm-filterclear{font-size:13.5px;font-weight:600;color:var(--ncm-green);text-decoration:underline}
.ncm-plp-intro .ncm-filterpanel{flex:1 1 100%}
.ncm-plp-intro .ncm-filterpanel[hidden]{display:none}
.ncm-plp-intro .ncm-filterpanel #secondary{width:auto!important;max-width:none!important;float:none!important;margin:0!important;
  padding:24px!important;background:#fff;border:1px solid var(--ncm-line);border-radius:16px;box-shadow:0 14px 34px rgba(0,0,0,.07);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px 30px;animation:ncmh-accIn .3s cubic-bezier(.22,.8,.28,1)}
.ncm-plp-intro .ncm-filterpanel .widget{margin:0!important;padding:0!important;border:0!important}
.ncm-plp-intro .ncm-filterpanel .widget ul{max-height:250px;overflow:auto;margin:0;padding:0 6px 0 0}
.ncm-plp-intro .ncm-filterpanel .widget-title,.ncm-plp-intro .ncm-filterpanel .widgettitle,
.ncm-plp-intro .ncm-filterpanel h2,.ncm-plp-intro .ncm-filterpanel h3{font:700 14.5px var(--ncm-font)!important;
  color:var(--ncm-grey)!important;margin:0 0 12px!important;text-transform:none;letter-spacing:0}

@media(max-width:1100px){body.ncm-plp ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){
  body.ncm-plp ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ncm-plp .ncm-plp-intro{padding-top:22px}
  .ncm-plp-intro .ncm-catinfo-in{padding:18px 48px 18px 18px}
}
@media(max-width:520px){body.ncm-plp ul.products{grid-template-columns:1fr}}

/* ==========================================================================
   v1.7.5: PRODUCT PAGES tidied, in keeping with the other new pages.
   ========================================================================== */
/* same container and white page as the rest of the design */
body.ncm-plp .site-content .col-full{max-width:1240px!important;padding-left:26px!important;padding-right:26px!important;
  box-sizing:border-box}
body.ncm-pdp,body.ncm-pdp .site-content,body.ncm-pdp #content,body.ncm-pdp div.product{background:#fff!important}

/* v1.7.6: every wrapper the theme puts around the product, whatever its
   class, is un-floated, full width and white (one was floated to one side
   for a sidebar product pages don't have, and carried the faint grey); the
   outermost is then centred at the design's width */
body.ncm-pdp .site-content :has(div.product){float:none!important;width:auto!important;max-width:none!important;
  flex:1 1 100%!important;grid-column:1/-1!important;margin-left:0!important;margin-right:0!important;
  background:#fff!important;background-image:none!important}
body.ncm-pdp .site-content>:has(div.product){max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:26px!important;padding-right:26px!important;box-sizing:border-box}
body.ncm-pdp #secondary{display:none!important}
body.ncm-pdp div.product,body.ncm-pdp div.product .summary,body.ncm-pdp .product-details-wrapper{background:#fff!important}

/* our breadcrumb, inside the container, with room above it (the theme's
   one sat outside the container, against the edge of the screen) */
body.ncm-pdp .woocommerce-breadcrumb:not(.ncm-crumbs){display:none!important}
body.ncm-pdp .ncm-crumbs{display:block;padding:34px 0 26px!important;margin:0;font-family:var(--ncm-font);font-size:13px;
  color:var(--ncm-mute)}
body.ncm-pdp .ncm-crumbs a{color:var(--ncm-mute);text-decoration:none}
body.ncm-pdp .ncm-crumbs a:hover{color:var(--ncm-green)}

/* gallery in a rounded frame */
body.ncm-pdp .woocommerce-product-gallery{border:1px solid var(--ncm-line);border-radius:var(--ncm-r-lg);padding:14px;background:#fff}
body.ncm-pdp .woocommerce-product-gallery .flex-viewport,
body.ncm-pdp .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:only-child{background:#fff}

/* summary spacing */
body.ncm-pdp .summary .product_title{margin-top:6px}
body.ncm-pdp .summary .woocommerce-product-details__short-description{margin-top:14px;margin-bottom:0}
body.ncm-pdp .product_meta{display:none!important}   /* SKU is in the spec table, category in the breadcrumb */
.ncm-readmore{margin:16px 0 0!important;font-family:var(--ncm-font)}
.ncm-readmore a{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--ncm-green)!important;
  text-decoration:none}
.ncm-readmore a:hover{text-decoration:underline}
.ncm-readmore .ncm-i,.ncm-pdp-details .ncm-i{width:20px;height:20px;border-radius:50%;background:var(--ncm-pink);color:#fff;
  font:italic 700 12px/20px Georgia,serif;text-align:center;flex:0 0 20px}

/* buy box: price large, the VAT wording small, quantity and button on one row */
.ncm-buybox{display:block}
.ncm-buybox .price{font-size:33px!important;line-height:1.15}
.ncm-buybox .price *:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol):not(bdi):not(del):not(ins){
  font-size:14px!important;font-weight:600!important;font-style:normal!important;color:var(--ncm-mute)!important;
  letter-spacing:0}
.ncm-buybox .price>.woocommerce-Price-amount,.ncm-buybox .price>ins>.woocommerce-Price-amount{font-size:33px!important;
  font-weight:800!important;color:var(--ncm-grey)!important}
.ncm-buybox-price>*:not(.price){font-size:14px!important;font-weight:500;color:var(--ncm-mute);margin:4px 0 0!important}
.ncm-buybox-price>*:not(.price) em,.ncm-buybox-price>*:not(.price) i{font-style:normal}
.ncm-buybox form.cart{display:flex!important;flex-wrap:nowrap;align-items:stretch;gap:10px;margin:20px 0 0!important;width:100%}
.ncm-buybox form.cart::before,.ncm-buybox form.cart::after{display:none!important;content:none!important}
.ncm-buybox form.cart .quantity{float:none!important;margin:0!important;display:flex;align-items:stretch}
.ncm-buybox form.cart .single_add_to_cart_button{flex:1 1 auto;float:none!important;margin:0!important;min-width:0}
.ncm-buybox form.variations_form{display:block!important}
.ncm-buybox .woocommerce-variation-add-to-cart{display:flex!important;gap:10px;align-items:stretch;margin-top:14px}
.ncm-buybox .woocommerce-variation-add-to-cart::before,.ncm-buybox .woocommerce-variation-add-to-cart::after{display:none!important}
.ncm-buybox table.variations{width:100%;margin:0 0 6px}
.ncm-buybox table.variations select{border:1.7px solid var(--ncm-line);border-radius:12px;padding:10px 12px;font-family:var(--ncm-font)}

/* description, reviews and any other tabs: click to read */
.ncm-pdp-details{clear:both;margin:46px 0 10px;display:grid;gap:12px;font-family:var(--ncm-font)}
.ncm-pdp-details .ncm-acc{border:1px solid var(--ncm-line);border-radius:16px;background:#fff;overflow:hidden}
.ncm-pdp-details .ncm-acc>summary{list-style:none;cursor:pointer;padding:20px 60px 20px 24px;position:relative;
  font-size:16.5px;font-weight:700;color:var(--ncm-grey)}
.ncm-pdp-details .ncm-acc>summary::-webkit-details-marker{display:none}
.ncm-pdp-details .ncm-acc>summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border-radius:50%;background:var(--ncm-grey-l);color:var(--ncm-green);font-size:20px;font-weight:600;
  line-height:30px;text-align:center}
.ncm-pdp-details .ncm-acc[open]>summary::after{content:'\2212'}
.ncm-pdp-details .ncm-acc>summary:hover{color:var(--ncm-green)}
.ncm-pdp-details .ncm-acc-body{padding:0 24px 24px;font-size:15px;line-height:1.7;color:var(--ncm-mute)}
.ncm-pdp-details .ncm-acc-body>*:first-child{margin-top:0}
.ncm-pdp-details .ncm-acc-body img{max-width:100%;height:auto;border-radius:12px}

/* related and upsell products: spaced like the listings */
body.ncm-pdp section.related,body.ncm-pdp section.upsells{clear:both;margin:50px 0 10px}
body.ncm-pdp section.related>h2,body.ncm-pdp section.upsells>h2{font-family:var(--ncm-font);font-size:clamp(22px,2.4vw,28px);
  font-weight:800;color:var(--ncm-grey);letter-spacing:-.4px;margin:0 0 22px}
body.ncm-pdp section.related ul.products,body.ncm-pdp section.upsells ul.products{display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important;margin:0!important;padding:0!important;width:auto!important}
body.ncm-pdp section.related ul.products::before,body.ncm-pdp section.related ul.products::after,
body.ncm-pdp section.upsells ul.products::before,body.ncm-pdp section.upsells ul.products::after{display:none!important;content:none!important}
body.ncm-pdp section.related ul.products li.product,body.ncm-pdp section.upsells ul.products li.product{width:auto!important;
  max-width:none!important;float:none!important;clear:none!important;margin:0!important}
@media(max-width:1000px){body.ncm-pdp section.related ul.products,body.ncm-pdp section.upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){body.ncm-pdp section.related ul.products,body.ncm-pdp section.upsells ul.products{grid-template-columns:1fr}}
@media(max-width:760px){
  body.ncm-pdp .ncm-crumbs{padding:22px 0 18px!important}
  .ncm-pdp-details .ncm-acc>summary{padding:18px 56px 18px 18px}
  .ncm-pdp-details .ncm-acc-body{padding:0 18px 20px}
}

/* ==========================================================================
   v1.8: BASKET AND CHECKOUT in the design's style.
   Appearance only. Every field, button, coupon, shipping option, surcharge
   and payment method is WooCommerce's (and the payment plugin's) own, in the
   same place, doing the same thing. Card number, expiry and security code
   are Stripe's secure frames, styled from the Stripe plugin, not here.
   ========================================================================== */
body.ncm-basket{background:#fff}
body.ncm-basket .site-main{padding-top:36px;padding-bottom:40px}
body.ncm-basket .site-content :is(p,label,span,a,td,th,h1,h2,h3,li,strong,input,select,textarea,button,bdi,small,em){
  font-family:var(--ncm-font)}

/* page title, as the other pages' headings */
body.ncm-basket h1.entry-title,body.ncm-basket .entry-header h1{font-size:clamp(28px,3.4vw,42px)!important;font-weight:800!important;
  color:var(--ncm-grey)!important;letter-spacing:-.8px;line-height:1.1;margin:0 0 30px!important}
body.ncm-basket h1.entry-title::after,body.ncm-basket .entry-header h1::after{content:'';display:block;width:110px;height:3px;
  border-radius:3px;background:var(--ncm-pink);margin-top:16px}

/* section headings: Billing details, Your order, Cart totals and so on */
body.ncm-basket .woocommerce :is(h2,h3):not(.woocommerce-loop-product__title),
body.ncm-basket #order_review_heading{font-size:21px!important;font-weight:800!important;color:var(--ncm-grey)!important;
  letter-spacing:-.3px;margin-bottom:16px}
body.ncm-basket #ship-to-different-address{font-size:17px!important}
body.ncm-basket #ship-to-different-address label{display:inline-flex;align-items:center;gap:10px;cursor:pointer}

/* fields */
body.ncm-basket .woocommerce form .form-row label{font-size:13.4px;font-weight:600;color:var(--ncm-grey);margin-bottom:6px}
body.ncm-basket .woocommerce form .form-row .required{color:var(--ncm-pink);text-decoration:none}
body.ncm-basket .woocommerce :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],textarea,select):not(.qty),
body.ncm-basket .woocommerce .select2-container .select2-selection--single{border:1.7px solid var(--ncm-line)!important;
  border-radius:12px!important;background:#fff!important;box-shadow:none!important;font-size:15px!important;color:#4a4949!important;
  min-height:50px;padding:12px 14px!important;transition:border-color .2s,box-shadow .2s}
body.ncm-basket .woocommerce textarea{min-height:110px}
body.ncm-basket .woocommerce :is(input.input-text,input[type=text],input[type=email],input[type=tel],textarea,select):focus,
body.ncm-basket .woocommerce .select2-container--focus .select2-selection--single,
body.ncm-basket .woocommerce .select2-container--open .select2-selection--single{border-color:var(--ncm-green)!important;
  box-shadow:0 0 0 4px rgba(0,128,55,.1)!important;outline:none}
body.ncm-basket .woocommerce .select2-container .select2-selection--single{height:50px!important;padding:0 14px!important;
  display:flex;align-items:center}
body.ncm-basket .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.3!important;padding:0!important}
body.ncm-basket .woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:48px!important;right:10px!important}
body.ncm-basket .woocommerce form .form-row.woocommerce-invalid :is(input.input-text,select),
body.ncm-basket .woocommerce form .form-row.woocommerce-invalid .select2-selection{border-color:#d64545!important}
body.ncm-basket .woocommerce input[type=checkbox],body.ncm-basket .woocommerce input[type=radio]{accent-color:var(--ncm-green);
  width:18px;height:18px}

/* the checkout's divider rules, softened */
body.ncm-basket .woocommerce hr,body.ncm-basket .woocommerce-shipping-fields{border-color:var(--ncm-line)}

/* order summary and basket totals: one clean card */
body.ncm-basket .cart_totals,body.ncm-basket #order_review .shop_table{background:#fff;border:1px solid var(--ncm-line)!important;
  border-radius:16px!important;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.05)}
body.ncm-basket .cart_totals table,body.ncm-basket #order_review table.shop_table{border:0!important;margin:0!important;
  border-collapse:collapse!important;border-spacing:0!important;width:100%}
body.ncm-basket #order_review .shop_table .product-name{text-align:left!important}
body.ncm-basket .cart_totals :is(th,td),body.ncm-basket #order_review .shop_table :is(th,td){border-color:var(--ncm-line)!important;
  padding:15px 20px!important;font-size:14.5px;color:var(--ncm-grey);background:transparent!important}
body.ncm-basket :is(.cart_totals,#order_review) .order-total :is(th,td){font-size:19px!important;font-weight:800!important;
  background:var(--ncm-grey-l)!important;border-top:0!important}
body.ncm-basket :is(.cart_totals,#order_review) .order-total .amount{color:var(--ncm-grey)}
body.ncm-basket :is(.cart_totals,#order_review) a{color:var(--ncm-green);font-weight:600}
body.ncm-basket #order_review .cart_item td{font-size:13.8px}
body.ncm-basket #order_review .product-name{color:var(--ncm-grey);font-weight:500}
body.ncm-basket #order_review img{border-radius:10px;background:var(--ncm-grey-l)}

/* payment: the design's grey panel, the card area on white */
body.ncm-basket #payment{background:var(--ncm-grey-l)!important;border-radius:16px!important;padding:6px 6px 18px!important;margin-top:22px}
body.ncm-basket #payment ul.payment_methods{border:0!important;padding:14px 16px 4px!important;margin:0!important}
body.ncm-basket #payment ul.payment_methods li{list-style:none;font-weight:700;color:var(--ncm-grey)}
body.ncm-basket #payment div.payment_box{background:#fff!important;border:1px solid var(--ncm-line);border-radius:14px!important;
  margin:12px 0 4px!important;padding:18px!important;color:var(--ncm-mute);font-size:13.8px}
body.ncm-basket #payment div.payment_box::before{display:none!important}
body.ncm-basket #payment .place-order{padding:10px 16px 0!important;margin:0!important}
body.ncm-basket .woocommerce-privacy-policy-text p,body.ncm-basket .woocommerce-terms-and-conditions-wrapper{font-size:13.2px;
  color:var(--ncm-mute);line-height:1.6}
body.ncm-basket .woocommerce-privacy-policy-text a,body.ncm-basket .woocommerce-terms-and-conditions-wrapper a{color:var(--ncm-green)}

/* the two big buttons, as the design's pink buying action */
body.ncm-basket #place_order,body.ncm-basket .wc-proceed-to-checkout .checkout-button{width:100%;min-height:56px;
  border-radius:999px!important;background:var(--ncm-pink)!important;border:0!important;color:#fff!important;font-size:17px!important;
  font-weight:700!important;letter-spacing:.1px;display:flex!important;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 10px 24px rgba(234,68,152,.25);transition:filter .2s,transform .2s}
body.ncm-basket #place_order:hover,body.ncm-basket .wc-proceed-to-checkout .checkout-button:hover{filter:brightness(.93);
  transform:translateY(-1px)}

/* basket table */
body.ncm-basket table.shop_table.cart{border:0!important;border-collapse:collapse}
body.ncm-basket table.shop_table.cart :is(th,td){border-color:var(--ncm-line)!important;padding-top:18px!important;
  padding-bottom:18px!important;vertical-align:middle}
body.ncm-basket table.shop_table.cart .product-name a{color:var(--ncm-grey)!important;font-weight:600;text-decoration:none}
body.ncm-basket table.shop_table.cart .product-name a:hover{color:var(--ncm-green)!important}
body.ncm-basket table.shop_table.cart .product-thumbnail img{border-radius:10px;background:var(--ncm-grey-l)}
body.ncm-basket table.shop_table.cart :is(.product-subtotal,.product-price) .amount{font-weight:700;color:var(--ncm-grey)}
body.ncm-basket table.shop_table.cart .product-remove a{color:var(--ncm-mute)!important;border-radius:50%;transition:color .2s,background .2s}
body.ncm-basket table.shop_table.cart .product-remove a:hover{color:#c62828!important;background:#fdecec}
body.ncm-basket .woocommerce .quantity{border-radius:12px;overflow:hidden}
body.ncm-basket .woocommerce .quantity .qty{border-radius:12px;font-weight:600}

/* coupon */
body.ncm-basket .coupon{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
body.ncm-basket .coupon #coupon_code{min-height:48px;border:1.7px solid var(--ncm-line)!important;border-radius:999px!important;
  padding:0 18px!important;width:auto!important;flex:0 1 240px;min-width:0}
body.ncm-basket .coupon .button,body.ncm-basket button[name=update_cart]{min-height:48px;border-radius:999px!important;
  background:#fff!important;color:var(--ncm-grey)!important;border:1.6px solid var(--ncm-line)!important;font-weight:700!important}
body.ncm-basket .coupon .button:hover,body.ncm-basket button[name=update_cart]:hover{border-color:var(--ncm-green)!important;
  color:var(--ncm-green)!important}
body.ncm-basket .woocommerce-form-coupon-toggle .woocommerce-info{border-radius:12px}

/* notices: the design's soft panels */
body.ncm-basket :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){border:0!important;border-left:5px solid var(--ncm-green)!important;
  border-radius:12px!important;background:var(--ncm-green-l,#e9f4ee)!important;color:var(--ncm-grey)!important;
  padding:16px 20px!important;font-size:14.4px}
body.ncm-basket .woocommerce-info{border-left-color:var(--ncm-pink)!important;background:#fdeef6!important}
body.ncm-basket .woocommerce-error{border-left-color:#d64545!important;background:#fdecec!important}
body.ncm-basket :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{color:inherit}
body.ncm-basket :is(.woocommerce-message,.woocommerce-info) a{color:var(--ncm-green);font-weight:600}

/* "You may be interested in": spaced like the listings */
body.ncm-basket .cross-sells{margin-top:50px}
body.ncm-basket .cross-sells>h2{font-size:clamp(22px,2.4vw,28px)!important}
body.ncm-basket .cross-sells ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important;
  margin:0!important;padding:0!important;width:auto!important}
body.ncm-basket .cross-sells ul.products::before,body.ncm-basket .cross-sells ul.products::after{display:none!important;content:none!important}
body.ncm-basket .cross-sells ul.products li.product{width:auto!important;max-width:none!important;float:none!important;margin:0!important}
@media(max-width:1000px){body.ncm-basket .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  body.ncm-basket .site-main{padding-top:22px}
  body.ncm-basket .coupon #coupon_code{min-width:0;flex:1 1 160px}
}
@media(max-width:520px){body.ncm-basket .cross-sells ul.products{grid-template-columns:1fr}}

/* ==========================================================================
   v1.9: "Speak to an expert" pop-up, in the design's form style, holding the
   site's own WPForms contact form. And the pink band above every footer.
   ========================================================================== */
.ncm-footer{margin-top:0!important}

.ncm-modal.ncm-expert{align-items:center}
.ncm-modal .ncm-sheet.ncm-sheet-form{position:relative;max-width:640px;padding:34px 38px 30px;border-radius:24px;
  font-family:var(--ncm-font);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.ncm-expert .ncm-x{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:12px;border:1.6px solid var(--ncm-line);
  background:#fff;color:var(--ncm-grey);font-size:24px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;
  justify-content:center;transition:border-color .2s,color .2s}
.ncm-expert .ncm-x:hover,.ncm-expert .ncm-x:focus-visible{border-color:var(--ncm-green);color:var(--ncm-green);outline:none}
.ncm-expert .ncm-eyebrow{display:inline-block;background:var(--ncm-pink);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;padding:7px 16px;border-radius:999px}
.ncm-expert h2{font-size:27px;font-weight:800;color:var(--ncm-grey);letter-spacing:-.6px;line-height:1.15;margin:14px 50px 0 0}
.ncm-expert .ncm-sub{font-size:14.8px;line-height:1.6;color:var(--ncm-mute);margin:10px 0 0}
.ncm-expert .ncm-formnote{margin:14px 0 0;font-size:13px;color:var(--ncm-mute)}
.ncm-expert .ncm-formnote a{color:var(--ncm-green);font-weight:700;text-decoration:none}
.ncm-expert .ncm-btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.ncm-expert .ncm-btnrow .ncm-btn{margin:0}
.ncm-expert .ncm-unconfirmed-inline{background:rgba(227,179,65,.28);outline:1.5px dashed #e3b341;border-radius:4px;cursor:help}

/* the WPForms form, in the design's field style (pop-up and Contact page) */
.ncm-modal .ncm-formslot{margin-top:18px}
.ncm-modal .ncm-formslot .wpforms-container{margin:0!important}
.ncm-modal .ncm-formslot .wpforms-field{padding:0 0 15px!important}
.ncm-modal .ncm-formslot .wpforms-field-label{font-size:13.2px!important;font-weight:600!important;color:var(--ncm-grey)!important;
  margin-bottom:6px!important}
.ncm-modal .ncm-formslot .wpforms-required-label{color:var(--ncm-pink)!important}
.ncm-modal .ncm-formslot :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],select,textarea){
  width:100%!important;max-width:100%!important;font-family:var(--ncm-font)!important;font-size:15px!important;color:#4a4949!important;
  border:1.7px solid var(--ncm-line)!important;border-radius:12px!important;padding:12px 14px!important;background:#fff!important;
  box-shadow:none!important;height:auto!important;min-height:50px}
.ncm-modal .ncm-formslot textarea{min-height:110px!important}
.ncm-modal .ncm-formslot :is(input,select,textarea):focus{border-color:var(--ncm-green)!important;
  box-shadow:0 0 0 4px rgba(0,128,55,.1)!important;outline:none}
.ncm-modal .ncm-formslot input[type=checkbox],.ncm-modal .ncm-formslot input[type=radio]{accent-color:var(--ncm-green);width:18px;height:18px}
.ncm-modal .ncm-formslot .wpforms-field-layout-rows,.ncm-modal .ncm-formslot .wpforms-one-half{margin-left:0}
.ncm-modal .ncm-formslot :is(button[type=submit],.wpforms-submit){width:100%!important;min-height:56px;background:var(--ncm-green)!important;
  color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 24px!important;font-family:var(--ncm-font)!important;
  font-size:17px!important;font-weight:700!important;height:auto!important;cursor:pointer;margin-top:4px}
.ncm-modal .ncm-formslot :is(button[type=submit],.wpforms-submit):hover{background:var(--ncm-green-d)!important}
.ncm-modal .ncm-formslot .wpforms-confirmation-container-full,.ncm-modal .ncm-formslot .wpforms-confirmation-container{
  background:var(--ncm-green-l,#e9f4ee)!important;border:0!important;border-left:5px solid var(--ncm-green)!important;border-radius:12px!important;
  color:var(--ncm-grey)!important;padding:18px 20px!important;font-size:15px}
.ncm-modal .ncm-formslot label.wpforms-error,.ncm-modal .ncm-formslot .wpforms-error{color:#c62828!important;font-size:12.6px!important}
@media(max-width:600px){
  .ncm-modal .ncm-sheet.ncm-sheet-form{padding:26px 20px 22px;border-radius:20px;max-height:92vh}
  .ncm-expert h2{font-size:22px}
}
/* the page behind the pop-up dimmed and softly blurred, as the design */
.ncm-modal.ncm-expert.open{background:rgba(35,35,35,.55)!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}

/* ==========================================================================
   v1.10
   ========================================================================== */
/* headings balanced everywhere in the design, no orphaned last words */
:is(.ncm-plp-intro,.ncm-pdp-more,.ncm-pdp-details,.ncm-modal,.ncm-footer,.ncm-answer) :is(h1,h2,h3,h4),
body.ncm-pdp .product_title,body.ncm-basket h1.entry-title,
body.ncm-2026 ul.products li.product .woocommerce-loop-product__title{text-wrap:balance}
:is(.ncm-modal,.ncm-pdp-details,.ncm-footer) p{text-wrap:pretty}

/* footer: the Nursecall Mats logo, and the Digital Design logo */
.ncm-flogo{height:44px!important;width:auto}
.ncm-credit img{height:22px!important;width:auto}
.ncm-credit{gap:14px}

/* the search button keeps its icon whatever the theme does to buttons */
.ncm-header .ncm-searchbtn{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ncm-grey)!important;
  padding:0!important;min-width:0!important;min-height:0!important}
.ncm-header .ncm-searchbtn svg{display:block!important;width:21px;height:21px;stroke:currentColor;fill:none}
.ncm-header .ncm-searchbtn:hover,.ncm-header .ncm-searchbtn[aria-expanded="true"]{background:var(--ncm-grey-l)!important;
  color:var(--ncm-green)!important}
.ncm-header .ncm-searchbtn:focus{outline:none}
.ncm-header .ncm-searchbtn:focus-visible{outline:2px solid var(--ncm-green)!important;outline-offset:2px}

/* ==========================================================================
   v1.11: INSIGHTS ARTICLES, in the design's reading style. The article's
   own content keeps its own spacing (it sits outside the design wrapper).
   ========================================================================== */
.ncm-article-sec{background:#fff;padding:0 0 56px;font-family:var(--ncm-font)}
.ncm-article-sec .ncm-wrap{max-width:872px}
.ncm-article-sec .ncm-crumbs{display:block;padding:30px 0 26px;font-size:13px;color:var(--ncm-mute)}
.ncm-article-sec .ncm-crumbs a{color:var(--ncm-mute);text-decoration:none}
.ncm-article-sec .ncm-crumbs a:hover{color:var(--ncm-green)}
.ncm-article-img{margin:0 0 32px;border-radius:22px;overflow:hidden;background:var(--ncm-grey-l);border:1px solid var(--ncm-line)}
.ncm-article-img img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;margin:0 auto}
.ncm-article-body{font-size:17px;line-height:1.75;color:#4a4949}
.ncm-article-body>*:first-child{margin-top:0}
.ncm-article-body p{margin:0 0 1.15em;text-wrap:pretty}
.ncm-article-body :is(h2,h3,h4){font-family:var(--ncm-font);font-weight:800;color:var(--ncm-grey);letter-spacing:-.4px;
  line-height:1.2;margin:1.7em 0 .6em;text-wrap:balance}
.ncm-article-body h2{font-size:clamp(23px,2.4vw,28px)}
.ncm-article-body h3{font-size:21px}
.ncm-article-body h4{font-size:18px}
.ncm-article-body a{color:var(--ncm-green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ncm-article-body a:hover{color:var(--ncm-green-d)}
.ncm-article-body :is(ul,ol){margin:0 0 1.15em;padding-left:1.35em}
.ncm-article-body li{margin:0 0 .4em}
.ncm-article-body li::marker{color:var(--ncm-pink);font-weight:700}
.ncm-article-body blockquote{margin:1.6em 0;padding:18px 22px;border-left:5px solid var(--ncm-pink);background:#fdeef6;
  border-radius:12px;font-size:18px;color:var(--ncm-grey)}
.ncm-article-body blockquote p:last-child{margin-bottom:0}
.ncm-article-body img{max-width:100%;height:auto;border-radius:14px}
.ncm-article-body figure{margin:1.6em 0}
.ncm-article-body figcaption{font-size:13.5px;color:var(--ncm-mute);margin-top:8px}
.ncm-article-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px}
.ncm-article-body :is(th,td){border-bottom:1px solid var(--ncm-line);padding:10px 12px;text-align:left}
.ncm-article-foot{margin-top:36px;padding-top:26px;border-top:1px solid var(--ncm-line);display:flex;gap:10px;flex-wrap:wrap}
.ncm-article-foot .ncm-btn{margin:0}
.ncm-btn.ncm-btn-green,.ncm-btn.ncm-btn-green:visited{background:var(--ncm-green);color:#fff}
.ncm-btn.ncm-btn-green:hover{background:var(--ncm-green-d)}
/* the theme's own author box and post navigation never show on articles */
body.ncm-article-page :is(.author-info,.post-author,.author-box,.entry-author,.post-navigation){display:none!important}
@media(max-width:760px){
  .ncm-article-sec .ncm-crumbs{padding:22px 0 18px}
  .ncm-article-body{font-size:16px}
  .ncm-article-img{border-radius:16px;margin-bottom:24px}
}
.ncm-btn.ghost,.ncm-btn.ghost:visited{background:#fff;color:var(--ncm-grey);border:1.6px solid var(--ncm-line)}
.ncm-btn.ghost:hover{background:#fff;border-color:var(--ncm-green);color:var(--ncm-green)}

/* ==========================================================================
   v1.12: LOG IN button in the header, and MY ACCOUNT in the design.
   Appearance only: logging in, registering, lost password, orders,
   addresses and account details are WooCommerce's own and work as before.
   ========================================================================== */
.ncm-account{display:flex;align-items:center;gap:7px;color:var(--ncm-grey);font:600 14px var(--ncm-font);
  text-decoration:none;padding:7px 9px;border-radius:10px;white-space:nowrap;transition:color .2s,background .2s}
.ncm-account:hover,.ncm-account:focus-visible{color:var(--ncm-green);background:var(--ncm-grey-l);outline:none}
body.ncm-accountpage .ncm-account{color:var(--ncm-green)}
/* header fit steps, applied by ncm.js only when the row would overflow */
.ncm-header .ncm-nav{flex:0 1 auto;min-width:0}
.ncm-header .ncm-nav a{white-space:nowrap}
.ncm-header.ncm-fit-1 .ncm-wrap{gap:18px}
.ncm-header.ncm-fit-1 .ncm-nav{gap:16px}
.ncm-header.ncm-fit-1 .ncm-acts{gap:6px}
.ncm-header.ncm-fit-1 .ncm-acts .ncm-btn{padding:10px 18px}
.ncm-header.ncm-fit-2 .ncm-account span{display:none}
.ncm-header.ncm-fit-3 .ncm-acts .ncm-btn.ghost{display:none}
.ncm-header.ncm-fit-4 .ncm-nav{display:none}
.ncm-header.ncm-fit-4 .ncm-acts{margin-left:auto}
.ncm-header.ncm-fit-4 .ncm-burger{display:block}

/* log in and register: two cards side by side */
body.ncm-accountpage #customer_login{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;
  max-width:1000px;margin:0!important}
body.ncm-accountpage #customer_login::before,body.ncm-accountpage #customer_login::after{display:none!important;content:none!important}
body.ncm-accountpage #customer_login>div{float:none!important;width:auto!important;max-width:none!important;margin:0!important;
  background:#fff;border:1px solid var(--ncm-line);border-radius:22px;padding:32px 32px 30px!important;box-shadow:0 14px 34px rgba(0,0,0,.05)}
body.ncm-accountpage #customer_login>div.u-column2{background:#fdeef6;border-color:#f6d3e5}
body.ncm-accountpage :is(#customer_login,.woocommerce-ResetPassword,.lost_reset_password) form{border:0!important;padding:0!important;margin:18px 0 0!important;
  background:transparent!important;box-shadow:none!important}
body.ncm-accountpage #customer_login h2{font-size:24px!important;margin:0!important}
body.ncm-accountpage #customer_login h2::after{content:'';display:block;width:84px;height:3px;border-radius:3px;background:var(--ncm-pink);margin-top:12px}
body.ncm-accountpage .woocommerce form .form-row{margin:0 0 16px;padding:0}
body.ncm-accountpage .woocommerce-form-login__rememberme{display:inline-flex!important;align-items:center;gap:9px;font-size:14px;
  color:var(--ncm-mute);font-weight:500!important;margin:4px 0 16px}
body.ncm-accountpage :is(.woocommerce-form-login__submit,.woocommerce-form-register__submit,.woocommerce-Button,.woocommerce-button,
  button[name=save_account_details],button[name=save_address],.woocommerce-ResetPassword .button){min-height:52px;border-radius:999px!important;
  background:var(--ncm-green)!important;color:#fff!important;border:0!important;font-size:16px!important;font-weight:700!important;
  padding:0 28px!important;cursor:pointer;transition:background .2s,transform .2s;display:inline-flex!important;align-items:center;justify-content:center}
body.ncm-accountpage :is(.woocommerce-form-login__submit,.woocommerce-form-register__submit){width:100%;margin:6px 0 0!important;float:none!important}
body.ncm-accountpage :is(.woocommerce-form-login__submit,.woocommerce-form-register__submit,.woocommerce-Button,.woocommerce-button,
  button[name=save_account_details],button[name=save_address]):hover{background:var(--ncm-green-d)!important;transform:translateY(-1px)}
body.ncm-accountpage .woocommerce-LostPassword{margin:16px 0 0;font-size:14px}
body.ncm-accountpage .woocommerce-LostPassword a,body.ncm-accountpage .woocommerce-privacy-policy-text a{color:var(--ncm-green);font-weight:600}
body.ncm-accountpage .woocommerce-privacy-policy-text p{font-size:13px;color:var(--ncm-mute);line-height:1.6}
body.ncm-accountpage .woocommerce-password-strength{border-radius:10px;padding:8px 12px!important;font-size:13px;margin-top:8px}
body.ncm-accountpage .woocommerce-password-hint{font-size:12.6px;color:var(--ncm-mute)}
body.ncm-accountpage .password-input{display:block;position:relative}
body.ncm-accountpage .show-password-input{top:50%!important;transform:translateY(-50%)}

/* signed in: menu card on the left, content on the right */
body.ncm-accountpage .woocommerce:has(>.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:260px minmax(0,1fr);
  gap:36px;align-items:start}
body.ncm-accountpage .woocommerce:has(>.woocommerce-MyAccount-navigation)>:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content){grid-column:1/-1}
body.ncm-accountpage .woocommerce::before,body.ncm-accountpage .woocommerce::after{display:none!important}
body.ncm-accountpage .woocommerce-MyAccount-navigation{float:none!important;width:auto!important;margin:0!important;background:#fff;
  border:1px solid var(--ncm-line);border-radius:20px;padding:10px!important;box-shadow:0 14px 34px rgba(0,0,0,.05);position:sticky;top:110px}
body.ncm-accountpage .woocommerce-MyAccount-navigation ul{list-style:none;margin:0!important;padding:0!important;border:0!important}
body.ncm-accountpage .woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important;border:0!important}
body.ncm-accountpage .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px!important;border-radius:12px;font-size:14.8px;
  font-weight:600;color:var(--ncm-grey)!important;text-decoration:none!important;transition:background .2s,color .2s}
body.ncm-accountpage .woocommerce-MyAccount-navigation li a::before{display:none!important}
body.ncm-accountpage .woocommerce-MyAccount-navigation li a:hover{background:var(--ncm-grey-l);color:var(--ncm-green)!important}
body.ncm-accountpage .woocommerce-MyAccount-navigation li.is-active a{background:var(--ncm-green-l);color:var(--ncm-green)!important;
  box-shadow:inset 4px 0 0 var(--ncm-green)}
body.ncm-accountpage .woocommerce-MyAccount-navigation-link--customer-logout{margin-top:6px!important;padding-top:6px!important;
  border-top:1px solid var(--ncm-line)!important}
body.ncm-accountpage .woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:#c62828!important;background:#fdecec}
body.ncm-accountpage .woocommerce-MyAccount-content{float:none!important;width:auto!important;margin:0!important;font-size:15.2px;
  line-height:1.7;color:#4a4949}
body.ncm-accountpage .woocommerce-MyAccount-content>p:first-child{background:var(--ncm-grey-l);border-radius:16px;padding:20px 22px;margin:0 0 18px}
body.ncm-accountpage .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button){color:var(--ncm-green);font-weight:600}
body.ncm-accountpage .woocommerce-MyAccount-content :is(h2,h3){font-size:21px!important;margin:6px 0 14px!important}

/* orders and order details */
body.ncm-accountpage .woocommerce-MyAccount-content table{width:100%;border:1px solid var(--ncm-line)!important;border-radius:16px!important;
  border-collapse:separate!important;border-spacing:0;overflow:hidden;background:#fff;margin:0 0 22px}
body.ncm-accountpage .woocommerce-MyAccount-content table :is(th,td){padding:14px 16px!important;border:0!important;
  border-bottom:1px solid var(--ncm-line)!important;font-size:14.2px;text-align:left;vertical-align:middle}
body.ncm-accountpage .woocommerce-MyAccount-content table thead th{background:var(--ncm-grey-l);font-weight:700;color:var(--ncm-grey)}
body.ncm-accountpage .woocommerce-MyAccount-content table tr:last-child :is(th,td){border-bottom:0!important}
body.ncm-accountpage .woocommerce-MyAccount-content table .button,body.ncm-accountpage .woocommerce-orders-table .woocommerce-button{
  min-height:36px!important;padding:0 16px!important;font-size:13px!important;background:#fff!important;color:var(--ncm-grey)!important;
  border:1.6px solid var(--ncm-line)!important;margin:2px 4px 2px 0!important}
body.ncm-accountpage .woocommerce-MyAccount-content table .button:hover,body.ncm-accountpage .woocommerce-orders-table .woocommerce-button:hover{
  border-color:var(--ncm-green)!important;color:var(--ncm-green)!important;transform:none}
body.ncm-accountpage .woocommerce-orders-table__cell-order-number a{font-weight:700}
body.ncm-accountpage mark{background:var(--ncm-green-l);color:var(--ncm-green-d);border-radius:6px;padding:1px 7px;font-weight:600}

/* addresses as cards */
body.ncm-accountpage .woocommerce-Addresses{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:0!important}
body.ncm-accountpage .woocommerce-Addresses::before,body.ncm-accountpage .woocommerce-Addresses::after{display:none!important}
body.ncm-accountpage .woocommerce-Address{float:none!important;width:auto!important;margin:0!important;background:#fff;border:1px solid var(--ncm-line);
  border-radius:18px;padding:22px 22px 20px}
body.ncm-accountpage .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
body.ncm-accountpage .woocommerce-Address-title h2,body.ncm-accountpage .woocommerce-Address-title h3{font-size:18px!important;margin:0!important}
body.ncm-accountpage .woocommerce-Address address{font-style:normal;line-height:1.7;color:var(--ncm-mute)}

/* account details form */
body.ncm-accountpage .woocommerce-EditAccountForm fieldset{border:1px solid var(--ncm-line);border-radius:18px;padding:18px 22px 6px;margin:10px 0 22px}
body.ncm-accountpage .woocommerce-EditAccountForm legend{font-weight:800;color:var(--ncm-grey);padding:0 8px;font-size:16px}
body.ncm-accountpage .woocommerce-EditAccountForm em{font-size:12.6px;color:var(--ncm-mute)}

@media(max-width:900px){
  body.ncm-accountpage .woocommerce:has(>.woocommerce-MyAccount-navigation){grid-template-columns:1fr;gap:22px}
  body.ncm-accountpage .woocommerce-MyAccount-navigation{position:static}
  body.ncm-accountpage .woocommerce-MyAccount-navigation ul{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  body.ncm-accountpage .woocommerce-MyAccount-navigation li a{white-space:nowrap;padding:10px 14px!important}
  body.ncm-accountpage .woocommerce-MyAccount-navigation-link--customer-logout{margin-top:0!important;padding-top:0!important;border-top:0!important}
  body.ncm-accountpage #customer_login>div{padding:24px 22px!important}
}

/* ==========================================================================
   v1.13.0 (29/09/26, RGS feedback before launch)
   ========================================================================== */

/* group bar: RGS Group first, each site with its brand colour (as RGS) */
.ncm-gb-links a{display:inline-flex;align-items:center;gap:7px}
.ncm-gb-links a::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gb,#fff);flex:0 0 7px}
.ncm-gb-links a.gb-rgs{--gb:var(--ncm-green)}
.ncm-gb-links a.gb-nursecall{--gb:var(--ncm-pink)}
.ncm-gb-links a.gb-medical{--gb:var(--ncm-orange)}
.ncm-gb-links a.gb-air{--gb:var(--ncm-blue)}
.ncm-groupbar .ncm-gb-links a:hover,.ncm-groupbar .ncm-gb-links a.on{border-bottom-color:var(--gb)}

/* the pink category bar stays with the header as the page scrolls.
   --ncm-hdr-h is the header's height, measured by ncm.js. */
.ncm-catbar{position:sticky;top:var(--ncm-hdr-h,78px);z-index:49}
body.admin-bar .ncm-catbar{top:calc(32px + var(--ncm-hdr-h,78px))}
@media(max-width:782px){body.admin-bar .ncm-catbar{top:calc(46px + var(--ncm-hdr-h,78px))}}
@media(max-width:600px){body.admin-bar .ncm-catbar{top:var(--ncm-hdr-h,70px)}}
.ncm-header.stuck:has(~ .ncm-catbar){box-shadow:none}
.ncm-catbar.stuck{box-shadow:0 6px 24px rgba(0,0,0,.12)}

/* finder: each system with a picture of its call point, when it has one */
.ncm-syspick button.has-pic,
.ncm-home :is(.hero,.ncm-finder) .ncm-engine .ncm-syspick button.has-pic{display:flex;align-items:center;gap:8px;text-align:left;
  padding:6px 8px 6px 6px}
.ncm-syspick button.has-pic img{width:38px;height:38px;flex:0 0 38px;object-fit:contain;background:#fff;border-radius:7px;padding:2px}
.ncm-syspick button span{min-width:0}

/* product cards: title, price and stock only */
.ncm-card-desc,.ncm-card-vat{display:none!important}
.ncm-stock{display:block;font-family:var(--ncm-font);font-size:12.6px;font-weight:600;margin:-6px 0 14px;text-align:left;
  line-height:1.3}
.ncm-stock::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;
  vertical-align:1px;background:currentColor}
.ncm-stock-ok{color:var(--ncm-green)}
.ncm-stock-back{color:#b36b00}
.ncm-stock-out{color:#c62828}
.ncm-home .prod .ncm-stock{margin:6px 0 0}
body.ncm-2026 ul.products li.product .product-out-of-stock,
body.ncm-2026 ul.products li.product .ncm-dup-stock{display:none!important}

/* Add to basket on cards: after adding, a clear "View basket" link
   (it was a green bar with green text, so it looked empty) */
body.ncm-2026 ul.products li.product .added_to_cart,
body.ncm-2026 ul.products li.product a.added_to_cart{display:flex!important;align-items:center;justify-content:center;
  margin-top:8px!important;margin-bottom:0!important;min-height:42px;height:auto!important;padding:9px 16px!important;
  border-radius:999px!important;background:#fff!important;border:1.6px solid var(--ncm-green)!important;
  color:var(--ncm-green)!important;font-family:var(--ncm-font);font-size:13.5px!important;font-weight:700!important;
  line-height:1.2!important;text-decoration:none!important;text-indent:0!important;width:auto!important;
  position:static!important;opacity:1!important;visibility:visible!important;transform:none!important}
body.ncm-2026 ul.products li.product .added_to_cart:hover{background:var(--ncm-green-l)!important}
body.ncm-2026 ul.products li.product .add_to_cart_button.added::after{content:' \2713';margin-left:6px;font-weight:800}
body.ncm-2026 ul.products li.product .add_to_cart_button.loading{opacity:.7!important}

/* quantity: a clear minus / number / plus stepper (ncm.js adds the buttons) */
.ncm-qty{display:inline-flex!important;align-items:stretch;border:1.7px solid var(--ncm-line);border-radius:12px;
  background:#fff;overflow:hidden;font-family:var(--ncm-font);height:52px;flex:0 0 auto}
.ncm-qty .ncm-qbtn{width:40px;border:0;background:var(--ncm-grey-l);color:var(--ncm-grey);font-size:20px;font-weight:600;
  line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s}
.ncm-qty .ncm-qbtn:hover{background:var(--ncm-pink-l);color:var(--ncm-pink)}
.ncm-qty .ncm-qbtn:disabled{opacity:.4;cursor:default;background:var(--ncm-grey-l);color:var(--ncm-grey)}
.ncm-qty input.qty{border:0!important;border-radius:0!important;height:100%!important;width:48px!important;min-width:0!important;
  padding:0!important;margin:0!important;text-align:center;font-size:16px!important;font-weight:700;color:var(--ncm-grey);
  background:#fff!important;box-shadow:none!important;-moz-appearance:textfield;appearance:textfield}
.ncm-qty input.qty::-webkit-outer-spin-button,.ncm-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ncm-qty .minus,.ncm-qty .plus,.ncm-qty .quantity-nav,.ncm-qty .quantity-button,.ncm-qty .qib-button{display:none!important}
.ncm-qty .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
.ncm-buybox form.cart .quantity.ncm-qty .qty{height:100%!important;width:48px!important;border:0!important}
body.ncm-basket .woocommerce .quantity.ncm-qty{height:44px}
body.ncm-basket .woocommerce .quantity.ncm-qty .ncm-qbtn{width:34px}
body.ncm-basket .woocommerce .quantity.ncm-qty .qty{width:42px!important}
