/* The shared catalogue hierarchy: type headings, brand links, then their sizes. */
.sdw-browse { color:var(--jd-navy,var(--sdw-ink,#14264a)); font-size:15px; line-height:1.45; text-align:left; }
.sdw-browse a { color:inherit; text-decoration:none; }
.sdw-browse a:hover { text-decoration:underline; }
.sdw-browse a:focus-visible, .sdw-shop-all a:focus-visible { outline:2px solid currentColor; outline-offset:3px; border-radius:4px; }
.sdw-browse .sdw-browse-all { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 0 16px; margin:0 0 20px; border-bottom:1px solid #14264a20; font-size:17px; font-weight:650; }
.sdw-browse-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px; align-items:start; }
.sdw-browse-type h3 { margin:0 0 14px; padding:0; font-size:13px; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; font-weight:650; color:inherit; }
.sdw-browse .sdw-browse-type-link { padding:0; display:inline-block; }
.sdw-browse-brands { display:grid; gap:18px; }
.sdw-browse-type-general:only-child .sdw-browse-brands { grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:20px 28px; }
.sdw-browse .sdw-browse-brand-link { display:inline-block; padding:3px 0; min-height:24px; font-size:15px; font-weight:600; letter-spacing:0; }
.sdw-browse .sdw-browse-sizes { display:flex; flex-wrap:wrap; list-style:none; gap:8px; padding:0; margin:6px 0 0; }
.sdw-browse-sizes li { display:block; list-style:none; padding:0; margin:0; }
.sdw-browse .sdw-browse-sizes a { display:flex; align-items:center; justify-content:center; min-width:56px; min-height:36px; padding:6px 12px; border:1px solid #14264a26; border-radius:6px; background:#f6f8fb; font-size:13px; font-weight:450; line-height:1.3; white-space:nowrap; }
.sdw-browse .sdw-browse-sizes a:hover { background:#eaf0f8; border-color:currentColor; text-decoration:none; }
/* Wholesale: wide panel aligned to the navigation, rather than a stack of unrelated links. */
.sdw-storefront-header { z-index:1000; }
.sdw-nav-line { position:relative; }
.sdw-category-menu.sdw-catalogue-menu { position:static; }
.sdw-catalogue-menu > .sdw-browse-panel { left:0; right:0; top:100%; width:auto; min-width:0; padding:26px 30px 30px; border-radius:0 0 12px 12px; max-height:70vh; overflow:auto; }
.sdw-mobile-category { border-bottom:1px solid #14264a20; }
.sdw-mobile-category > summary { min-height:48px; padding:12px 0; cursor:pointer; font-weight:600; }
.sdw-mobile-category .sdw-browse { padding:8px 0 24px; }
.sdw-mobile-category .sdw-browse-groups { grid-template-columns:1fr; gap:24px; }
/* Just Drinks: native Shop disclosure holds the same grouped catalogue in columns. */
.jd-primary-nav .jd-shop-menu > .sdw-shop-columns { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 28px; width:min(1080px,calc(100vw - 96px))!important; padding:24px!important; max-height:75vh; overflow-y:auto!important; align-items:start; }
.jd-primary-nav .sdw-shop-all { grid-column:1/-1; display:block; width:100%; padding-bottom:14px; border-bottom:1px solid #14264a20; }
.sdw-shop-all > a { color:inherit; text-decoration:none; font-size:15px; font-weight:600; }
.jd-primary-nav .sdw-shop-department { display:block; width:100%; align-self:stretch; }
.sdw-shop-department .sdw-browse-groups { grid-template-columns:1fr; gap:22px; }
.sdw-shop-department .sdw-browse-type-general:only-child .sdw-browse-brands { grid-template-columns:1fr; }
.sdw-shop-department .sdw-browse-all { font-size:15px; padding-bottom:12px; margin-bottom:18px; }
@media (max-width:1023px) {
 .jd-primary-nav .is-menu-open .jd-shop-menu > .sdw-shop-columns { width:100%!important; min-width:0!important; grid-template-columns:1fr; padding:12px 0 24px!important; max-height:none; overflow:visible!important; gap:28px; }
 .sdw-browse .sdw-browse-brand-link { min-height:44px; display:inline-flex; align-items:center; }
 .sdw-browse .sdw-browse-sizes a { min-height:44px; min-width:60px; }
}
/* The header's hamburger styles must not size nested category disclosures. */
.sdw-storefront-header .sdw-mobile-menu .sdw-mobile-category > summary { display:flex; align-items:center; justify-content:space-between; width:100%; height:auto; min-height:48px; padding:12px 0; font-size:16px; font-weight:600; line-height:1.4; list-style:none; }
.sdw-mobile-category > summary::after { content:'+'; margin-left:16px; font-size:20px; font-weight:400; }
.sdw-mobile-category[open] > summary::after { content:'−'; }
.sdw-mobile-panel .sdw-browse-type-link { font-size:inherit; font-weight:inherit; line-height:inherit; border:0; min-height:44px; }
.sdw-mobile-panel .sdw-browse-brand-link { border:0; justify-content:flex-start; }

.sdw-shop-mobile { display:none; }
@media (max-width:1023px) {
 .jd-primary-nav .is-menu-open .wp-block-navigation__responsive-container-content,
 .jd-primary-nav .is-menu-open .wp-block-navigation__container { align-items:stretch; width:100%; }
 .jd-primary-nav .is-menu-open .jd-shop-menu { width:100%; align-items:stretch; }
 .jd-primary-nav .is-menu-open .sdw-shop-desktop { display:none; }
 .jd-primary-nav .is-menu-open .sdw-shop-mobile { display:block; width:100%; }
 .sdw-shop-mobile > summary { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:12px 0; font-size:16px; font-weight:600; cursor:pointer; list-style:none; border-bottom:1px solid #14264a20; }
 .sdw-shop-mobile > summary::-webkit-details-marker { display:none; }
 .sdw-shop-mobile > summary::after { content:'+'; font-size:20px; font-weight:400; }
 .sdw-shop-mobile[open] > summary::after { content:'−'; }
 .sdw-shop-mobile > .sdw-browse { padding:18px 0 8px; }
 .jd-primary-nav .is-menu-open .jd-shop-menu > .sdw-shop-columns { gap:4px; }
}
/* Flavours belong to a brand, and each size belongs to that flavour. */
.sdw-browse .sdw-option-label { display:block; margin:10px 0 6px; color:#63728a; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.sdw-browse .sdw-browse-flavours { display:grid; gap:12px; list-style:none; padding:0; margin:0; }
.sdw-browse-flavours > li { list-style:none; padding:0; margin:0; }
.sdw-browse .sdw-flavour-link { display:inline-flex; align-items:center; font-size:13px; font-weight:500; padding:2px 0; line-height:1.5; }
.sdw-browse-flavours .sdw-browse-sizes { margin-top:4px; }
.sdw-browse a { overflow-wrap:anywhere; }
/* A directory with consistent rows, not a cloud of differently sized words. */
.sdw-directory-intro { padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid #14264a20; }
.sdw-directory-intro strong { display:block; font-size:19px; font-weight:650; }
.sdw-directory-intro p { margin:5px 0 0; font-size:13px; line-height:1.6; color:#63728a; }
.sdw-copy-occasions { display:none; }
.sdw-brand-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px 26px; }
.sdw-brand-card { min-width:0; border-left:2px solid #f36636; padding:0 0 0 16px; }
.sdw-browse .sdw-brand-title { display:flex; flex-direction:column; gap:3px; padding:0; font-size:16px; font-weight:600; line-height:1.4; border:0; }
.sdw-brand-title small,.sdw-brand-mobile small { display:block; font-size:11px; color:#63728a; font-weight:400; letter-spacing:0; line-height:1.5; }
.sdw-brand-mobile { display:none; }
.sdw-browse .sdw-brand-shop-all { display:flex; justify-content:space-between; gap:12px; padding:12px 0; font-size:14px; font-weight:600; border:0; }
.sdw-browse .sdw-brand-shop-all span { flex-shrink:0; }
.sdw-brand-options { padding:0 0 16px; }
.sdw-browse summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
/* Wholesale keeps a crisp trade directory; Just Drinks uses softer cards and its pink accent. */
.jd-primary-nav .sdw-copy-trade { display:none; }
.jd-primary-nav .sdw-copy-occasions { display:inline; }
.jd-primary-nav .jd-brands > .sdw-brand-panel { display:block!important; width:min(1000px,calc(100vw - 96px))!important; max-height:75vh; overflow-y:auto!important; padding:24px!important; }
.jd-primary-nav .sdw-brand-directory-item { display:block; width:100%; }
.jd-primary-nav .sdw-brand-card { border:1px solid #14264a13; background:#f7f9fc; border-radius:14px; padding:16px; }
.jd-primary-nav .sdw-brand-title:hover { color:#ce176b; }
.jd-primary-nav .sdw-brand-grid { gap:14px; }
.jd-primary-nav .sdw-browse-sizes a { border-radius:30px; background:#fff; }
.jd-primary-nav .sdw-browse-sizes a:hover { background:#fff0f6; border-color:#ce176b; }
@media (min-width:1024px) {
 .sdw-desktop-links { gap:clamp(12px,1.6vw,30px); }
 .sdw-desktop-links > .sdw-category-menu > summary { font-size:clamp(13px,1.15vw,16px); }
 .jd-primary-nav .sdw-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1023px) {
 .sdw-brand-grid { grid-template-columns:1fr; gap:0; }
 .sdw-brand-card,.jd-primary-nav .sdw-brand-card { background:none; border:0; border-bottom:1px solid #14264a1c; border-radius:0; padding:0; }
 .sdw-brand-desktop { display:none; }
 .sdw-brand-mobile { display:block; }
 .sdw-browse .sdw-flavour-link { min-height:44px; padding:8px 0; border:0; font-size:14px; }
 .sdw-browse .sdw-option-label { margin-top:12px; font-size:11px; }
 .sdw-browse .sdw-brand-mobile > summary,
 .sdw-storefront-header .sdw-mobile-menu .sdw-brand-mobile > summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; align-items:center; gap:2px 12px; width:100%; height:auto; min-height:66px; padding:12px 0; border:0; border-radius:0; list-style:none; font-size:16px; font-weight:600; line-height:1.4; cursor:pointer; }
 .sdw-brand-mobile > summary::-webkit-details-marker,.sdw-mobile-category > summary::-webkit-details-marker { display:none; }
 .sdw-brand-mobile > summary > span { grid-column:1; }
 .sdw-brand-mobile > summary > small { grid-column:1; }
 .sdw-brand-mobile > summary::after { content:'+'; grid-column:2; grid-row:1/3; align-self:center; font-size:20px; font-weight:400; }
 .sdw-brand-mobile[open] > summary::after { content:'−'; }
 .sdw-brand-mobile[open] > summary { color:var(--jd-navy,var(--sdw-ink,#14264a)); }
 .sdw-browse .sdw-browse-brand { min-width:0; }
 .sdw-mobile-category .sdw-browse-type-general:only-child .sdw-browse-brands { grid-template-columns:1fr; }
 .sdw-mobile-category .sdw-browse-brand { border-bottom:1px solid #14264a15; padding-bottom:14px; }
 .sdw-directory-intro { margin-bottom:4px; padding-bottom:14px; }
 .sdw-directory-intro strong { font-size:17px; }
 .jd-primary-nav .is-menu-open .jd-brands { width:100%; align-items:stretch; }
 .jd-primary-nav .is-menu-open .jd-brands > .sdw-brand-panel { width:100%!important; min-width:0!important; padding:16px 0!important; max-height:none; overflow:visible!important; }
 .jd-primary-nav .is-menu-open .sdw-brand-grid { grid-template-columns:1fr; gap:0; }
 .jd-primary-nav .is-menu-open .sdw-brand-directory-item { max-width:100%; }
 .sdw-mobile-panel .sdw-browse-sizes a { padding:8px 14px; font-size:13px; }
 .sdw-mobile-panel .sdw-browse-all { font-size:15px; min-height:44px; }
}

/* Use one disclosure mechanism for Shop/Brands; no competing hover/click states. */
.jd-primary-nav .fizzy-jd-menu { position:relative; }
.jd-primary-nav .fizzy-jd-menu > summary { display:flex; align-items:center; gap:6px; min-height:44px; padding:4px 0; list-style:none; cursor:pointer; color:var(--jd-navy,#14264a); font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.jd-primary-nav .fizzy-jd-menu > summary::-webkit-details-marker { display:none; }
.jd-primary-nav .fizzy-jd-menu > summary:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.jd-primary-nav .fizzy-jd-menu:not([open]) > ul { display:none!important; }
.jd-primary-nav .fizzy-jd-menu[open] > ul { visibility:visible!important; opacity:1!important; position:absolute; top:100%; left:0; z-index:100; background:#fff; box-shadow:0 20px 40px #14264a16; border-radius:0 0 18px 18px; }
.jd-primary-nav .fizzy-jd-menu[open] > summary { color:#ce176b; }
@media (max-width:1023px) {
 .jd-primary-nav .is-menu-open .fizzy-jd-item { display:block; width:100%; }
 .jd-primary-nav .is-menu-open .fizzy-jd-menu > summary { justify-content:space-between; min-height:52px; font-size:18px; letter-spacing:0; text-transform:none; }
 .jd-primary-nav .is-menu-open .fizzy-jd-menu[open] > ul { position:static!important; box-shadow:none; border:0; border-radius:0; margin:0; }
}
@media (max-width:1023px) {
 .sdw-browse .sdw-brand-mobile > summary,
 .sdw-storefront-header .sdw-mobile-menu .sdw-brand-mobile > summary { text-align:left; justify-items:start; }
 .sdw-brand-mobile > summary::after { justify-self:end; }
}
.sdw-active-flavour { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0; font-size:14px; }
.sdw-active-flavour a { color:inherit; text-underline-offset:3px; }

.sdw-sugar-browse{margin:0 0 1.25rem}.sdw-sugar-browse .sdw-browse-sizes{display:flex;flex-wrap:wrap;gap:.5rem}.sdw-sugar-browse a{min-height:44px;display:inline-flex;align-items:center}
