/* Empty carts keep the cart button, with no numeric count badge at any width. */
.hh-header-actions .hh-cart-count[data-empty="true"] { display:none; }
.hh-topbar { --hh-topbar-bg: var(--color-soft); position:relative; z-index:40; background: var(--hh-topbar-bg); color: var(--color-fg); border-bottom:0; font-size:12px; font-weight:600; }
.hh-topbar-inner { max-width:1440px; min-height:38px; margin:auto; padding:0 28px; display:grid; grid-template-columns:1fr minmax(0,1.5fr) 1fr; align-items:center; gap:16px; }
.hh-topbar-preferences { display:flex; align-items:center; gap:8px; min-width:0; }
.hh-topbar-currency { position:relative; justify-self:start; }
.hh-topbar-currency-toggle, .hh-topbar-support a { display:inline-flex; align-items:center; gap:7px; min-height:38px; }
.hh-topbar button:focus-visible, .hh-topbar a:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
.hh-topbar-support { display:flex; justify-content:flex-end; gap:22px; white-space:nowrap; }
.hh-topbar-support svg { color: var(--color-accent-ink); }
.hh-topbar-support a:hover { color: var(--color-accent-ink); }
.hh-topbar-currencies { position:absolute; left:0; top:100%; width:260px; max-height:360px; overflow:auto; background: var(--color-surface); border: 1px solid var(--color-line); border-radius:0 0 8px 8px; padding:6px; box-shadow:0 12px 24px rgb(0 0 0 / 10%); }
.hh-topbar-currencies button { display:flex; align-items:center; gap:9px; text-align:left; width:100%; padding:10px; border-radius:4px; }
.hh-topbar-currencies button:hover, .hh-topbar-currencies button[aria-current] { background: var(--color-hide-deep); color: var(--color-accent-ink); }
.hh-topbar-announcement { min-width:0; }
.hh-topbar .haroone-announcement-bar { --haroone-announcement-current-bg: var(--hh-topbar-bg) !important; --haroone-announcement-current-color: var(--color-fg) !important; }
.hh-topbar .haroone-announcement-bar__slide { --haroone-announcement-bg: var(--hh-topbar-bg) !important; --haroone-announcement-color: var(--color-fg) !important; }
.hh-topbar .haroone-announcement-bar__content { padding-inline:28px; font-size:13px; }
#cart-drawer .message.error { color: var(--color-fg-secondary); background: var(--color-hide-deep); border-color: var(--color-line); font-family:var(--font-sans); font-size:13px; line-height:1.5; text-transform:none; }
#cart-drawer ul > li .grow > div:first-child { flex-wrap:wrap; }
#cart-drawer ul > li .grow > div:first-child > p { flex:1 1 140px; }
.hh-cart-bag { display:none; }
/* Mobile follows the compact Scotland Heritage arrangement. */
@media (max-width:1199px) {
    .hh-topbar-inner { grid-template-columns:minmax(0,1fr); padding:0 16px; gap:12px; }
    .hh-topbar-preferences { display:none; }
    .hh-topbar-support { display:none; }
    .hh-topbar-announcement { border: 0; }
    .hh-topbar .haroone-announcement-bar__content { min-height:44px; font-size:12px; }
    .hh-header-bar { display:grid; grid-template-columns:calc(var(--spacing) * 11) minmax(0, 1fr) auto; gap:calc(var(--spacing) * 2); padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4); }
    .hh-header-bar > .hm-mobile { grid-column:1; grid-row:1; order:0; }
    .hh-header-bar .hh-logo { grid-column:2; grid-row:1; order:1; width:auto; padding:0; min-width:0; flex-shrink:1; }
    /* Keep the logo colour mask the same size as its image. */
    .hh-header-bar .hh-logo .hh-brand-logo { width:100%; max-width:calc(var(--spacing) * 44); }
    .hh-logo img { display:block; width:100%; max-width:calc(var(--spacing) * 44); height:auto; }
    .hh-header-actions { grid-column:3; grid-row:1; order:2; gap:0; margin:0; }
    .hh-header-actions > .btn, .hh-header-actions #customer-menu, .hh-header-actions #menu-cart-icon, #header .hm-mobile-open { display:flex; align-items:center; justify-content:center; width:calc(var(--spacing) * 11); height:calc(var(--spacing) * 11); min-height:0; padding:0; margin:0; border: 0; border-radius:0; background: transparent; color: var(--color-fg); }
    .hh-header-actions #menu-cart-icon { position:relative; }
    .hh-header-actions .hh-cart-bag { display:block; }
    .hh-header-actions .hh-cart-desktop { display:none; }
    .hh-header-actions .hh-cart-label { display:none; }
    .hh-header-actions .hh-cart-count { position:absolute; top:0; right:0; min-width:calc(var(--spacing) * 4); height:calc(var(--spacing) * 4); padding:0; background: var(--color-primary); color: var(--color-on-primary); font-size:var(--text-xs); }
    .hh-header-actions svg { width:calc(var(--spacing) * 5); height:calc(var(--spacing) * 5); }
    .hh-header-actions #menu-cart-icon:hover, #header .hm-mobile-open:hover { color: var(--color-accent-ink); }
}
.page-header { position:sticky; top:0; z-index:35; background: var(--color-surface); }
html { scroll-padding-top:calc(var(--hh-header-height, 128px) + 16px); }

#cart-drawer ul > li dl { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
#cart-drawer ul > li dt { overflow-wrap:anywhere; }

.hh-currency-flag { display:block; width:20px; height:15px; flex-shrink:0; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgb(255 255 255 / 18%); }
html, .hh-topbar-currencies, #cart-drawer ul { scrollbar-width:thin; scrollbar-color: var(--color-sand) var(--color-hide); }
.hh-topbar-currencies { color-scheme: var(--hh-color-scheme); }
html::-webkit-scrollbar, .hh-topbar-currencies::-webkit-scrollbar, #cart-drawer ul::-webkit-scrollbar { width:8px; height:8px; }
html::-webkit-scrollbar-track, .hh-topbar-currencies::-webkit-scrollbar-track, #cart-drawer ul::-webkit-scrollbar-track { background: var(--color-surface); }
html::-webkit-scrollbar-thumb, .hh-topbar-currencies::-webkit-scrollbar-thumb, #cart-drawer ul::-webkit-scrollbar-thumb { background: #756331; border: 2px solid var(--color-line); border-radius:8px; }
html::-webkit-scrollbar-thumb:hover, .hh-topbar-currencies::-webkit-scrollbar-thumb:hover, #cart-drawer ul::-webkit-scrollbar-thumb:hover { background: #b69a4c; }
/* Header and breadcrumb navigation flow without divider lines. */
.page-header #header { border-bottom: 0; }
body .breadcrumbs { border-bottom: 0; box-shadow:none; }
/* Switch all navigation parts together before the desktop row gets crowded. */
.hh-header-bar .hh-header-actions { flex-shrink:0; }
@media (min-width:1200px) {
    .hh-topbar-inner { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr); }
}
.hh-topbar-announcement, .hh-topbar .haroone-announcement-bar { width:100%; min-width:0; }
@media (min-width:1200px) {
    .hh-header-bar { flex-wrap:nowrap; gap:24px; }
    .hh-header-bar .hh-logo { flex:0 0 180px; width:180px; }
    .hh-header-bar .hh-logo img { width:180px; height:auto; }
}
@media (max-width:1199px) {
    #header .hh-header-bar > .hm-desktop { display:none; }
    #header .hh-header-bar > .hm-mobile { display:block; }
}

@media (max-width:639px) {
    .hh-topbar-inner { padding-inline:8px; gap:8px; }
    .hh-topbar .haroone-announcement-bar__content {
        letter-spacing:0;
    }
}

/* Compact account navigation follows the shared light/dark appearance tokens. */
.hh-account-menu {
    position:absolute;
    z-index:20;
    top:calc(100% + 10px);
    right:0;
    width:240px;
    max-width:calc(100vw - 32px);
    max-height:calc(100dvh - var(--hh-header-height, 128px) - 24px);
    overflow-y:auto;
    padding:8px;
    border:1px solid var(--color-line);
    border-radius:12px;
    background:var(--color-surface);
    color:var(--color-fg);
    box-shadow:0 8px 24px rgb(0 0 0 / 12%);
    color-scheme:var(--hh-color-scheme);
}
.hh-account-menu-title {
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 10px 12px;
    font-size:14px;
    font-weight:600;
    line-height:20px;
}
.hh-account-menu-title svg { flex-shrink:0; color:var(--color-accent-ink); }
.hh-account-menu a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:44px;
    padding:10px 12px;
    border-radius:8px;
    color:var(--color-fg);
    background:transparent;
    font-size:14px;
    font-weight:500;
    line-height:20px;
    text-decoration:none;
    overflow-wrap:anywhere;
}
.hh-account-menu a::after { content:''; flex-shrink:0; width:6px; height:6px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); }
.hh-account-menu a + a { margin-top:4px; }
.hh-account-menu a:hover { background:var(--color-soft); color:var(--color-fg); }
.hh-account-menu a[id="customer.header.sign.in.link"] { background:var(--color-primary); color:var(--color-on-primary); font-weight:600; }
.hh-account-menu a[id="customer.header.sign.in.link"]:hover { background:var(--color-primary-lighter); }
.hh-account-menu a:focus-visible { outline:2px solid var(--color-fg); outline-offset:-3px; }
.hh-account #customer-menu[aria-expanded="true"] { color:var(--color-accent-ink); }
.hh-account #customer-menu:focus-visible { outline:2px solid var(--color-accent-ink); outline-offset:2px; }
.hh-account-menu hr { margin:8px 4px; border-color:var(--color-line); }
