.site-header .nav { gap:24px; padding:12px 0; }
.site-header .brand { flex-shrink:0; }
.site-header .brand-text { display:flex; flex-direction:column; gap:1px; }
.site-header .brand-title { font-size:20px; }
.site-header .tagline { font-size:12px; }
.site-header .nav-links { margin-left:auto; gap:8px; }
.site-header .nav-actions { display:flex; gap:16px; align-items:center; }
.header-basket { font:inherit; font-size:15px; font-weight:600; color:var(--teal); background:transparent; border:1px solid var(--teal); border-radius:4px; padding:10px 14px; min-height:44px; cursor:pointer; }
.nav-shop { position:relative; border:0; padding:0; background:transparent; border-radius:0; }
.nav-shop summary { font:inherit; padding:10px 12px; cursor:pointer; color:var(--teal); }
.shop-menu { position:absolute; right:0; top:100%; min-width:190px; padding:10px; background:var(--cream); border:1px solid rgba(0,0,0,.12); box-shadow:0 8px 20px rgba(0,0,0,.08); }
.site-header .shop-menu a { display:block; padding:10px 12px; border-radius:3px; }
.shop-menu a:hover { background:rgba(0,109,119,.08); }
.site-header a:focus-visible,.site-header button:focus-visible,.nav-shop summary:focus-visible,footer a:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.burger { min-width:44px; min-height:44px; justify-content:center; align-items:center; cursor:pointer; }
footer .footer-grid { grid-template-columns:1.5fr 1fr 1.2fr 1fr; gap:32px; }
footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
footer nav strong { margin-bottom:8px; font-size:16px; }
footer nav a { font-size:15px; padding:5px 0; }
footer .footer-brand { color:white; font-size:15px; }
footer a:focus-visible { outline-color:white; }
@media(max-width:900px) {
 .site-header .nav { gap:10px; padding:10px 0; }
 .site-header .brand-title { font-size:18px; }
 .site-header .brand img { width:40px; height:40px; }
 .site-header .nav-actions { gap:8px; }
 .mobile-menu { max-height:calc(100dvh - 80px); overflow-y:auto; padding:12px 20px 20px; box-sizing:border-box; }
 .mobile-menu .mobile-shop,.mobile-menu .mobile-info { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
 .mobile-menu a { padding:12px 0; min-height:44px; box-sizing:border-box; border-top:0; font-size:16px; }
 .mobile-menu .mobile-shop { padding-bottom:12px; border-bottom:1px solid rgba(0,0,0,.12); }
 .mobile-menu .mobile-info { padding-top:12px; }
 footer .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
}
@media(max-width:480px) { .site-header .tagline { display:none; } .site-header .brand { gap:8px; } .header-basket { padding:9px 10px; } footer .footer-grid>div { grid-column:1/-1; } }

/* Only shown to readers who enter through the Christmas campaign. */
.wss-reader-offer{background:#e6ebe1;border-bottom:1px solid #bdd0c7;padding:12px 20px;font-size:15px;line-height:1.6}
.wss-reader-offer-inner{max-width:1160px;margin:auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wss-reader-offer p{margin:0;flex:1;min-width:190px}
.wss-reader-offer strong{user-select:all}
.wss-reader-offer button{font:inherit;color:var(--teal);background:none;border:0;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:8px;cursor:pointer}
.wss-reader-offer button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.wss-reader-offer .wss-reader-status:empty{display:none}
.wss-reader-offer .wss-reader-status{flex-basis:100%;font-size:14px;color:var(--teal)}

/* UK delivery: £20.00 inclusive; display information only. */
.delivery-announcement{background:var(--teal);color:var(--cream);text-align:center;font-size:14px;font-weight:600;line-height:1.4;padding:7px 16px}
.product-delivery-progress{color:var(--teal);background:#e6ebe1;border-left:3px solid var(--teal);padding:10px 14px;margin:0 0 16px;font-size:15px;font-weight:600;line-height:1.5}
@media(max-width:900px){.site-header .mobile-menu{max-height:calc(100dvh - 112px)}}
