:root{color-scheme:light;--ink:#203740;--lime:#d6e522;--paper:#f7f8f0;--line:#cfdbd5;--green:#176145;--muted:#52625f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #258855;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-70px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}.masthead{padding:18px max(24px,calc((100vw - 1320px)/2));background:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:18px;align-items:center;text-decoration:none}.brand img{width:180px;height:auto;display:block}.brand span{font-size:14px;line-height:1.5}.masthead nav{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:700}.masthead nav a{text-decoration:none;border-bottom:1px solid #9aaa9f;padding-bottom:3px}.intro,.content,.services,.legal{max-width:1320px;margin:auto}.intro{padding:26px 24px 18px}.eyebrow{text-transform:uppercase;letter-spacing:1.3px;font-size:12px;font-weight:800;color:var(--green);margin:0 0 10px}h1{font-size:clamp(26px,3.1vw,40px);line-height:1.08;letter-spacing:-1px;margin:0 0 10px}.intro>p:last-child{font-size:16px;line-height:1.5;margin:0;max-width:860px}.content{padding:0 24px 25px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.board{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.board-heading{background:var(--ink);color:#fff;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.board-heading h2{font-size:20px;margin:0}.board-heading p{font-size:13px;margin:5px 0 0;color:#e1e9e4}.date-line{color:#e3eb49;font-weight:700}.notice{padding:11px 18px;background:#f2f4d7;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4}.notice strong{display:inline}.column-labels,.pharmacy-row{display:grid;grid-template-columns:29% 27% 33% 11%;gap:0}.column-labels{font-size:12px;font-weight:700;background:#edf2ee;padding:11px 15px;color:#465a51}.pharmacy-rows{display:grid}.pharmacy-row{padding:17px 15px;border-top:1px solid var(--line);min-height:125px;align-items:stretch;background:#fff}.pharmacy-row:nth-child(even){background:#edf6ef}.cell{padding:0 10px 0 0;min-width:0;display:flex;flex-direction:column;justify-content:center;overflow-wrap:anywhere}.region{font-weight:700;font-size:13px;color:var(--green);margin-bottom:7px}.address{font-weight:800;font-size:20px;line-height:1.18}.pharmacy-name{font-size:14px;line-height:1.22;margin-bottom:9px}.phone{font-size:21px;line-height:1.1;font-weight:800;color:#164d3d;text-decoration:none;white-space:nowrap}.hours{font-size:16px;line-height:1.2;font-weight:700;color:#842d28}.hours span{display:block}.hours span+span{margin-top:4px}.distance{font-size:22px;line-height:1.1;font-weight:800}.distance small{font-size:11px;font-weight:400;margin-top:5px;display:block}.board-footer{padding:10px 16px;display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.board-footer p{margin:0}.board-footer a{white-space:nowrap;font-weight:700}.unavailable{padding:40px 25px;min-height:260px;display:flex;flex-direction:column;justify-content:center}.unavailable h2{font-size:25px;line-height:1.2;margin:0 0 12px}.unavailable p{font-size:17px;line-height:1.5;margin:0 0 15px;max-width:600px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--ink);border-radius:100px;padding:11px 18px;background:var(--ink);color:#fff;font-weight:700;font-size:14px;min-height:43px}.button.secondary{background:#fff;color:var(--ink)}.actions{display:flex;gap:9px;flex-wrap:wrap}.qr-rail{background:var(--ink);color:#fff;border-radius:16px;padding:22px;text-align:center}.qr-rail h2{font-size:24px;line-height:1.1;margin:0 0 15px}.qr-rail>p{font-size:14px;line-height:1.4;margin:12px 0}.qr-link{display:block;background:white;border-radius:10px;padding:10px;width:210px;max-width:100%;margin:0 auto}.qr-link img{display:block;width:100%;height:auto;aspect-ratio:1;image-rendering:pixelated}.short-url{font-size:17px!important;font-weight:800;color:var(--lime);white-space:nowrap}.shop-contact{border-top:1px solid #687d78;margin-top:18px;padding-top:16px}.shop-contact h3{font-size:18px;margin:0 0 8px}.shop-contact p{font-size:14px;line-height:1.5;margin:5px 0}.shop-contact .shop-phone{display:block;font-size:24px;font-weight:800;text-decoration:none;margin:10px 0}.share{max-width:1320px;margin:0 auto;padding:0 24px 24px}.share details{background:#fff;border:1px solid var(--line);padding:16px 20px;border-radius:12px}.share summary{font-weight:700;cursor:pointer}.share input{width:100%;padding:11px;margin:14px 0;border:1px solid #7e9689;border-radius:6px}.share label{display:block;margin-top:15px;font-size:14px}.share p{font-size:14px;line-height:1.5}.services{padding:28px 24px 35px}.services>h2{font-size:29px;margin:0 0 20px;line-height:1.15}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{padding:23px;background:#e6edde;border:1px solid #d1ddc7;border-radius:12px;text-decoration:none}.service-card h3{margin:0 0 10px;font-size:21px}.service-card p{margin:0;font-size:15px;line-height:1.55}.service-card span{display:block;margin-top:15px;font-weight:700;font-size:14px}.legal{padding:0 24px 28px;font-size:13px;line-height:1.65;color:var(--muted)}.legal nav{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}.clock{text-align:right;white-space:nowrap}.clock strong{font-size:31px;line-height:1;display:block}.clock span{font-size:12px}.kiosk{height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:82px minmax(0,1fr) 84px;background:#e9eee1}.kiosk .masthead{padding:10px 24px;gap:18px;background:var(--ink);color:#fff;border:0}.kiosk .brand{background:#fff;border-radius:7px;padding:8px 12px}.kiosk .brand img{width:170px}.kiosk .brand span{display:none}.kiosk-title{flex:1}.kiosk-title p{margin:0;color:var(--lime);font-size:15px;font-weight:700}.kiosk-title h1{font-size:30px;letter-spacing:-.7px;margin:5px 0 0}.kiosk .content{width:100%;max-width:none;min-height:0;padding:14px 24px;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:stretch}.kiosk .board{display:flex;flex-direction:column;border-radius:12px;min-height:0}.kiosk .board-heading{padding:11px 16px;background:white;color:var(--ink)}.kiosk .board-heading h2{font-size:19px}.kiosk .board-heading p{color:var(--muted);font-size:13px}.kiosk .date-line{color:var(--green)}.kiosk .notice{font-size:15px;padding:9px 16px}.kiosk .column-labels{padding:10px 14px;font-size:13px}.kiosk .pharmacy-rows{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr)}.kiosk .pharmacy-row{min-height:0;padding:11px 14px}.kiosk .region{font-size:15px;margin-bottom:7px}.kiosk .address{font-size:23px;line-height:1.1}.kiosk .pharmacy-name{font-size:16px;line-height:1.13}.kiosk .phone{font-size:25px}.kiosk .hours{font-size:19px;line-height:1.13}.kiosk .distance{font-size:25px}.kiosk .distance small{font-size:12px}.kiosk .board-footer{font-size:12px;padding:9px 14px}.kiosk .unavailable{flex:1;min-height:0}.kiosk .qr-rail{border-radius:12px;padding:17px 15px;display:flex;flex-direction:column;justify-content:center}.kiosk .qr-rail h2{font-size:24px;margin-bottom:12px}.kiosk .qr-link{width:202px}.kiosk .qr-rail>p{font-size:14px;margin:10px 0}.kiosk .short-url{font-size:17px!important}.kiosk .shop-contact{padding-top:12px;margin-top:8px}.kiosk .shop-contact h3{font-size:17px}.kiosk .shop-contact p{font-size:14px;line-height:1.5}.kiosk .shop-phone{font-size:25px;margin:9px 0}.kiosk-bottom{padding:9px 24px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr 1.2fr;align-items:center;gap:20px}.kiosk-bottom p{margin:0;line-height:1.3;font-size:15px}.kiosk-bottom strong{display:block;color:var(--lime);font-size:20px;margin-bottom:3px}.kiosk-controls{position:fixed;bottom:7px;right:10px;z-index:10;opacity:0;transition:opacity .15s;display:flex;gap:5px}.kiosk-controls:hover,.kiosk-controls:focus-within{opacity:1}.kiosk-controls button{font-size:12px;border:1px solid #fff;background:#203740;color:#fff;padding:6px 9px;border-radius:5px}.fit-note{font-size:12px}.dense .address{font-size:20px!important}.dense .hours{font-size:17px!important}.dense .pharmacy-name{font-size:14px!important}.dense .phone{font-size:22px!important}.screen-help{padding:10px 20px;text-align:center;background:#e3edb6;font-size:14px}.live-status{font-size:12px;margin:7px 0 0}.feed-label{font-size:13px;font-weight:700;color:var(--green)}
@media(min-width:1700px){.kiosk{grid-template-rows:100px minmax(0,1fr) 108px}.kiosk .content{grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding:20px 30px}.kiosk .kiosk-title h1{font-size:40px}.kiosk .brand img{width:215px}.kiosk .qr-link{width:250px}.kiosk .qr-rail h2{font-size:31px}.kiosk .shop-contact p,.kiosk .qr-rail>p{font-size:19px}.kiosk .shop-phone{font-size:31px}.kiosk .address{font-size:33px}.kiosk .region{font-size:21px}.kiosk .pharmacy-name{font-size:22px}.kiosk .phone{font-size:33px}.kiosk .hours{font-size:27px}.kiosk .distance{font-size:34px}.kiosk .board-heading h2{font-size:26px}.kiosk .board-heading p,.kiosk .notice,.kiosk .column-labels{font-size:18px}.kiosk .board-footer{font-size:16px}.kiosk-bottom strong{font-size:27px}.kiosk-bottom p{font-size:20px}}
@media(min-width:1000px) and (max-height:690px){.kiosk{grid-template-rows:66px minmax(0,1fr) 66px}.kiosk .masthead{padding:7px 20px}.kiosk .brand img{width:150px}.kiosk-title h1{font-size:26px!important}.kiosk-title p{font-size:13px}.kiosk .content{padding:10px 20px;gap:14px;grid-template-columns:minmax(0,1fr) 235px}.kiosk .qr-link{width:155px}.kiosk .qr-rail h2{font-size:20px}.kiosk .qr-rail{padding:12px}.kiosk .qr-rail>p{font-size:12px;margin:7px 0}.kiosk .shop-contact p{font-size:12px}.kiosk .shop-phone{font-size:22px;margin:6px 0}.kiosk .shop-contact h3{font-size:15px}.kiosk .short-url{font-size:15px!important}.kiosk .pharmacy-row{padding:7px 11px}.kiosk .address{font-size:20px}.kiosk .hours{font-size:17px}.kiosk .phone{font-size:22px}.kiosk .region{font-size:13px}.kiosk .pharmacy-name{font-size:14px}.kiosk-bottom strong{font-size:18px}.kiosk-bottom p{font-size:13px}.kiosk .board-heading{padding:8px 13px}.kiosk .notice{padding:7px 13px;font-size:13px}}
@media(max-width:950px){.brand span{display:none}.masthead nav{gap:13px;font-size:12px}.content{grid-template-columns:minmax(0,1fr) 230px;gap:14px}.qr-rail{padding:18px 13px}.address{font-size:17px}.phone{font-size:17px}.hours{font-size:14px}.pharmacy-name{font-size:12px}.distance{font-size:18px}.region{font-size:12px}.column-labels{font-size:10px}}
@media(max-width:760px){.masthead{padding:13px 16px;gap:12px}.brand img{width:139px}.masthead nav{gap:11px}.masthead .catalogue{display:none}.intro{padding:22px 16px 16px}.intro>p:last-child{font-size:14px}.content{display:flex;flex-direction:column;padding:0 16px 18px;gap:18px}.board{width:100%}.board-heading{padding:14px;display:block}.board-heading h2{font-size:18px}.notice{font-size:13px;padding:11px 14px}.column-labels{display:none}.pharmacy-row{grid-template-columns:1fr 90px;padding:17px 15px;gap:12px;min-height:0}.cell{padding:0}.location{grid-column:1}.region{font-size:13px}.address{font-size:23px}.identity{grid-row:2;grid-column:1 / -1}.pharmacy-name{font-size:14px;margin-bottom:8px}.phone{font-size:25px}.hours{font-size:18px;grid-row:3;grid-column:1 / -1;background:#f9f1df;padding:10px 12px;border-radius:6px}.distance{grid-column:2;grid-row:1;font-size:26px;text-align:right}.board-footer{display:block;line-height:1.5}.board-footer a{display:inline-block;margin-top:5px}.qr-rail{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;text-align:left;padding:22px}.qr-rail h2{font-size:23px;grid-column:1}.qr-link{grid-column:2;grid-row:1 / 4;width:175px;align-self:center;padding:7px}.qr-rail>p{margin:0;font-size:13px}.qr-rail .short-url{grid-column:1 / -1;text-align:center;font-size:18px!important}.shop-contact{grid-column:1 / -1;margin-top:0;text-align:center}.share{padding:0 16px 15px}.services{padding:22px 16px}.services>h2{font-size:27px}.service-grid{grid-template-columns:1fr}.legal{padding:0 16px 25px}.kiosk{height:auto;min-height:100dvh;overflow:visible;display:block}.kiosk .masthead{padding:12px;flex-wrap:wrap}.kiosk .brand img{width:120px}.kiosk-title{min-width:180px}.kiosk-title h1{font-size:24px}.clock{display:none}.kiosk .content{padding:14px;display:flex}.kiosk .pharmacy-rows{display:block}.kiosk .pharmacy-row{min-height:190px;padding:16px;gap:12px}.kiosk .column-labels{display:none}.kiosk .qr-rail{display:grid}.kiosk .qr-link{width:170px}.kiosk .qr-rail h2{font-size:23px}.kiosk-bottom{grid-template-columns:1fr;padding:20px;gap:16px}.kiosk-controls{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the entire board and rail inside the kiosk grid track, including freshness and opening hours. */
@media(min-width:761px){.kiosk .content{height:100%;margin:0}.kiosk .qr-rail{min-height:0;justify-content:center}.kiosk .qr-rail h2{font-size:22px;line-height:1.08;margin-bottom:10px}.kiosk .qr-link{width:188px;flex-shrink:0}.kiosk .qr-rail>p{margin:6px 0}.kiosk .shop-contact{padding-top:8px;margin-top:6px}.kiosk .shop-contact p{line-height:1.35}.kiosk .shop-phone{margin:7px 0}.kiosk .distance{font-size:23px}}
@media(min-width:1000px) and (max-height:690px){.kiosk .qr-link{width:150px}.kiosk .qr-rail h2{font-size:20px}.kiosk .qr-rail>p{margin:5px 0}.kiosk .shop-contact h3{font-size:14px}.kiosk .shop-contact p{font-size:12px}.kiosk .shop-phone{margin:5px 0}}
@media(min-width:1700px){.kiosk .qr-link{width:250px}.kiosk .qr-rail h2{font-size:31px}.kiosk .distance{font-size:34px}.kiosk .shop-contact p{line-height:1.5}.kiosk .qr-rail>p{margin:12px 0}.kiosk .shop-contact{padding-top:20px;margin-top:15px}}
@media(min-width:1000px) and (max-height:690px){.kiosk{grid-template-rows:66px minmax(0,1fr) 74px}}
.public-duty .board-heading .feed-label{color:var(--lime)}
@media(max-width:760px){.public-duty .qr-rail{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.public-duty .qr-rail h2{margin:0;max-width:300px}.public-duty .qr-link{width:190px}.public-duty .shop-contact{width:100%;margin-top:5px}.public-duty .short-url{white-space:normal;overflow-wrap:anywhere}}
