body, button, input, select, textarea, h1, h2, h3, h4, h5, h6 { font-family: Raleway, sans-serif; }
*, *::before, *::after { font-style: normal !important; }
h1 em, h2 em { font-family: inherit; font-weight: inherit; letter-spacing: inherit; }
.format-from { display: inline-block; }
.format-from small { font-size: var(--text-xs); font-weight: 500; white-space: nowrap; }
.shop-switch { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.shop-switch a { display: inline-flex; align-items: center; min-height: 3rem; padding: .7rem 1.2rem; border: 1px solid var(--forest); border-radius: var(--radius-card); font-size: var(--text-sm); font-weight: 650; }
.shop-switch a[aria-current="page"] { background: var(--forest); color: var(--paper); }
.pack-selector legend { flex-wrap: wrap; gap: .3rem; }
.pack-selector legend small { font-size: var(--text-xs); text-transform: none; letter-spacing: 0; }
.pack-selector__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.pack-option { display: flex; flex-direction: column; gap: .15rem; padding: 1rem; border-radius: var(--radius-card); }
.pack-option strong { font-size: var(--text-base); line-height: 1.25; }
.pack-option small { font-size: var(--text-xs); margin: .15rem 0 .4rem; opacity: .85; }
.pack-option b { font-size: var(--text-lg); margin: auto 0 0; }
.pack-option__unit { font-size: var(--text-xs); }
.pack-option__hint { font-size: var(--text-xs); font-weight: 700; letter-spacing: .01em; margin-top: .45rem; }
.pack-option.is-unavailable { opacity: .5; cursor: not-allowed; }
.pack-option.is-unavailable:hover { transform: none; }
.pack-selector__status { font-size: var(--text-xs); }
.product-stage__content .summary > .price { line-height: 1.4; }
.product-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.product-section-heading h2 { max-width: 42rem; margin: 0; font-size: var(--text-4xl); line-height: 1.08; }
.product-section-heading > .text-link { flex-shrink: 0; font-size: var(--text-xs); }
.product-bundle-discovery { padding-block: clamp(3.5rem, 7vw, 6rem); }
.bundle-components { padding-block: clamp(3.5rem, 7vw, 6rem); }
.bundle-components .product-section-heading > p { max-width: 23rem; margin: 0; font-size: var(--text-sm); color: var(--muted); }
.bundle-components__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.bundle-component { display: flex; gap: 1.2rem; align-items: center; min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-card); background: #fffdf8; transition: border-color .2s, background .2s; }
.bundle-component:hover { border-color: var(--forest); background: #edf2e6; }
.bundle-component:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
.bundle-component__image { width: clamp(5rem, 9vw, 8rem); flex-shrink: 0; }
.bundle-component__image img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-image); }
.bundle-component__copy { min-width: 0; }
.bundle-component__quantity { display: block; margin-bottom: .6rem; color: var(--muted); font-size: var(--text-xs); }
.bundle-component h3 { margin-bottom: .8rem; font-size: var(--text-xl); line-height: 1.2; }
.bundle-component .text-link { font-size: var(--text-xs); }
.bundle-contents a, .product-source-details a { text-decoration: underline; text-underline-offset: .2em; }
.included-bundles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.included-bundle { position: relative; min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; background: #fffdf8; }
.included-bundle__image { display: block; padding: .6rem .6rem 0; }
.included-bundle .bundle-art { aspect-ratio: 1.45; padding: 2.5rem 2rem 1.8rem; }
.included-bundle .bundle-art__tins { max-width: 18rem; }
.included-bundle .bundle-art--4 .bundle-art__tins { width: 60%; }
.included-bundle__body { display: flex; flex-direction: column; flex: 1; padding: 1.3rem; }
.included-bundle h3 { font-size: var(--text-xl); line-height: 1.15; margin: .1rem 0 .8rem; }
.included-bundle .eyebrow { font-size: var(--text-xs); margin-bottom: .5rem; }
.included-bundle__contents { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); margin-bottom: 1.3rem; }
.included-bundle__footer { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.included-bundle__footer .price { font-weight: 700; font-size: var(--text-base); }
.included-bundle__footer del { font-size: var(--text-xs); color: var(--muted); margin-right: .25rem; }
.included-bundle__footer ins { text-decoration: none; }
.included-bundle__footer .text-link { font-size: var(--text-xs); }
.product-information, .product-faq { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3.5rem, 7vw, 6rem); border-top: 1px solid var(--line); }
.product-information h2, .product-faq h2 { font-size: var(--text-4xl); line-height: 1.1; margin-bottom: 1.5rem; }
.product-information__intro > p:last-child { max-width: 24rem; font-size: var(--text-base); color: var(--muted); }
.product-information__card { min-width: 0; padding: clamp(1.2rem, 3vw, 2.8rem); border-radius: var(--radius-card); border: 1px solid var(--line); background: #fffdf8; }
.product-source-details { font-size: var(--text-base); line-height: 1.75; color: var(--forest); overflow-wrap: anywhere; }
.product-source-details > :first-child { margin-top: 0; }
.product-source-details > :last-child { margin-bottom: 0; }
.product-source-details p { margin-bottom: 1.25rem; }
.product-source-details ul { padding-left: 1.2rem; margin-block: 1.5rem; }
.product-source-details li { margin-block: .55rem; padding-left: .2rem; }
.product-source-details li strong { font-weight: 550; }
.product-source-details h2, .product-source-details h3, .product-facts h3, .bundle-ingredients h3 { font-size: var(--text-lg); letter-spacing: -.025em; line-height: 1.3; margin-block: 1.8rem 1rem; }
.product-source-details table { width: 100% !important; table-layout: fixed; border: 0; border-collapse: collapse; margin-block: 1.5rem; font-size: var(--text-sm); }
.product-source-details table td, .product-source-details table th { width: auto !important; padding: .8rem .65rem; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid #dbe1d6; background: transparent; line-height: 1.6; }
.product-source-details table tr:nth-child(even) { background: #eff2e9; }
.product-source-details td p:last-child, .product-facts td p:last-child { margin-bottom: 0; }
.product-source-details td[colspan] { font-size: var(--text-sm); }
.product-facts { padding-top: 1rem; margin-top: 2rem; border-top: 1px solid var(--line); }
div.product-facts { display: block; }
div.product-facts > h3 { margin-top: 0; }
.product-facts table.shop_attributes { display: block; width: 100%; margin: 0; border: 0; }
.product-facts table.shop_attributes tbody { display: block; }
.product-facts table.shop_attributes tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; padding-block: 1rem; border-bottom: 1px solid var(--line); }
.product-facts table.shop_attributes tr:first-child { padding-top: 0; }
.product-facts table.shop_attributes tr:last-child { padding-bottom: 0; border-bottom: 0; }
.product-facts table.shop_attributes :is(th, td) { display: block; width: auto; padding: 0; margin: 0; border: 0; background: transparent; text-align: left; font-style: normal; line-height: 1.6; overflow-wrap: anywhere; }
.product-facts table.shop_attributes tr:nth-child(n) > :is(th, td) { background: transparent; }
.product-facts table.shop_attributes th { color: var(--muted); font-size: var(--text-sm); font-weight: 600; }
.product-facts table.shop_attributes td { color: var(--forest); font-size: var(--text-base); font-weight: 400; }
.product-facts table.shop_attributes td p { padding: 0; margin: 0; }
.product-faq .text-link { font-size: var(--text-xs); }
.product-faq .faq-list { margin: 0; padding: 0; min-width: 0; }
.product-faq .faq-list details { padding-inline: 0; }
.product-faq .faq-list summary { font-size: var(--text-base); line-height: 1.45; padding-block: 1.25rem; }
.product-faq .faq-list p { font-size: var(--text-sm); line-height: 1.8; color: var(--muted); padding-right: 2rem; }
.bundle-ingredients { margin-top: 2rem; }
.bundle-ingredients details { border-top: 1px solid var(--line); }
.bundle-ingredients summary { display: flex; justify-content: space-between; cursor: pointer; list-style: none; font-size: var(--text-base); font-weight: 650; gap: 1rem; padding-block: 1.1rem; }
.bundle-ingredients summary::-webkit-details-marker { display: none; }
.bundle-ingredients details[open] summary > span { transform: rotate(45deg); }
.bundle-ingredients__body { padding-bottom: 1.5rem; }
.single-product .related.products { padding-block: 3rem 5rem; border-top: 1px solid var(--line); }
.single-product .related.products > h2 { font-size: var(--text-4xl); }
@media (max-width: 860px) {
  .product-section-heading { display: block; }
  .product-section-heading > .text-link { display: inline-block; margin-top: 1.2rem; }
  .bundle-components .product-section-heading > p { margin-top: 1rem; }
  .included-bundles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-information, .product-faq { grid-template-columns: 1fr; gap: 1.5rem; }
  .product-information__intro > p:last-child { max-width: 35rem; margin-bottom: 0; }
}
@media (max-width: 540px) {
  .included-bundles { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .85rem; padding-bottom: 1rem; }
  .included-bundle { flex: 0 0 87%; scroll-snap-align: start; }
  .included-bundle .bundle-art { padding-inline: 1.5rem; }
  .pack-option { padding: .85rem; }
  .pack-option strong { font-size: var(--text-sm); }
  .pack-option small, .pack-option__unit { font-size: var(--text-xs); }
  .product-information__card { padding: 1.1rem; border-radius: var(--radius-card); }
  .product-source-details { font-size: var(--text-sm); }
  .product-source-details table { font-size: var(--text-sm); }
  .product-source-details table td, .product-source-details table th { padding: .7rem .45rem; }
  .product-faq .faq-list p { padding-right: 0; }
}

/* A single Shop entry, with matching families in desktop and bottom-sheet navigation. */
.nav-mega__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(15rem, .9fr); gap: clamp(1.25rem, 3vw, 3.5rem); padding-top: 1rem; padding-bottom: 1rem; }
.shop-menu-column { min-width: 0; padding: .75rem 0; }
.site-nav .shop-menu-heading { display: flex; justify-content: space-between; align-items: center; padding: 0 0 .7rem; font-size: var(--text-xl); font-weight: 700; letter-spacing: -.04em; border-bottom: 1px solid var(--line); }
.site-nav .shop-menu-heading::after, .site-nav .shop-menu-flavour::after, .site-nav .shop-menu-children a::after { display: none; }
.shop-menu-column > p { font-size: var(--text-xs); color: var(--muted); margin: .8rem 0 1.3rem; }
.site-nav .shop-menu-flavour { display: grid; grid-template-columns: 3.75rem 1fr auto; align-items: center; gap: 1rem; padding: .5rem; margin: .3rem -.5rem; border-radius: var(--radius-card); transition: background .2s; }
.site-nav .shop-menu-flavour:hover { background: var(--mint-soft); }
.shop-menu-flavour img { border-radius: var(--radius-image); aspect-ratio: 1; object-fit: cover; }
.shop-menu-flavour strong { font-size: var(--text-lg); }
.shop-menu-flavour small { display: block; margin-top: .35rem; font-size: var(--text-xs); font-weight: 500; color: var(--muted); }
.shop-menu-children { margin: 1.6rem 0 0 .25rem; border-left: 2px solid #ced9ca; padding-left: 1.4rem; }
.site-nav .shop-menu-children a { position: relative; display: block; padding: .65rem 1.5rem .9rem 0; }
.shop-menu-children strong { font-size: var(--text-lg); }
.shop-menu-children small { display: block; margin-top: .45rem; font-size: var(--text-xs); color: var(--muted); font-weight: 500; }
.shop-menu-children span { position: absolute; right: 0; top: .7rem; }
.nav-mega__guide > img { height: 10rem; }
.nav-mega__guide > div { padding: 1.35rem; }
.nav-mega__guide h3 { font-size: var(--text-xl); }
.mobile-shop-title { display: flex; align-items: center; justify-content: space-between; padding: .2rem 0 1rem; font-size: var(--text-2xl); letter-spacing: -.055em; font-weight: 700; }
.mobile-shop-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; padding: .9rem 0 1.4rem; border-top: 1px solid rgba(255,255,255,.18); }
.mobile-shop-columns > div { display: grid; align-content: start; }
.mobile-shop-columns a { display: flex; align-items: center; min-height: 44px; font-size: var(--text-base); }
.mobile-shop-columns .mobile-shop-heading { color: var(--lime); font-size: var(--text-xs); font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.mobile-shop-columns > div:nth-child(2) > a:not(:first-child) { margin-left: .15rem; padding-left: .85rem; border-left: 1px solid rgba(255,255,255,.25); }
.shop-filter-row a.shop-filter { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.shop-anniversary { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; align-items: center; gap: 24px; border: 1px solid #dccb9d; border-radius: var(--radius-card); padding: 20px; margin: 0 0 2rem; background: #f7f3e7; }
.shop-anniversary__image { display: block; min-width: 0; }
.shop-anniversary__image .bundle-art { aspect-ratio: 1; padding: 32px 12px 16px; border-radius: var(--radius-card); }
.shop-anniversary__image .bundle-art__tins { gap: 6px; }
.shop-anniversary__image .bundle-art__tins > span { border-width: 3px; }
.shop-anniversary__image .bundle-art__caption { display: none; }
.shop-anniversary__image .bundle-art__count { font-size: var(--text-base); }
.shop-anniversary__copy { min-width: 0; }
.shop-anniversary__copy .eyebrow { font-size: var(--text-xs); margin: 0 0 8px; }
.shop-anniversary__copy h2 { font-size: var(--text-xl); line-height: 1.25; margin: 0 0 12px; }
.shop-anniversary__copy > p:not(.eyebrow) { font-size: var(--text-sm); line-height: 1.6; margin: 0 0 8px; }
.shop-anniversary__copy .text-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--text-xs); }
.shop-anniversary__offer { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.shop-anniversary__offer .price { display: flex; align-items: baseline; gap: 10px; font-size: var(--text-xl); color: var(--forest); }
.shop-anniversary__offer del { font-size: var(--text-sm); color: #58604c; }
.shop-anniversary__offer ins { text-decoration: none; font-weight: 700; background: transparent; }
.shop-anniversary__offer .button { font-size: var(--text-sm); white-space: nowrap; }
@media (max-width: 900px) { .shop-anniversary { grid-template-columns: 140px minmax(0, 1fr); gap: 16px; } .shop-anniversary__offer { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; } .shop-anniversary__offer .button { margin-left: auto; } }
.anniversary-pure { margin-top: 4rem; margin-bottom: 4rem; }
@media (max-width: 1100px) and (min-width: 801px) {
    .nav-mega__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(12rem, .9fr); gap: 1.4rem; }
    .nav-mega__guide h3 { font-size: var(--text-xl); }
}
@media (max-width: 600px) {
    .shop-anniversary { grid-template-columns: 112px minmax(0, 1fr); padding: 12px; gap: 12px; }
    .shop-anniversary__copy h2 { font-size: var(--text-lg); }
    .shop-anniversary__image .bundle-art { padding: 28px 8px 12px; }
    .shop-anniversary__offer { gap: 10px; }
    .shop-anniversary__offer .button { width: 100%; margin-left: 0; justify-content: center; }
    .anniversary-pure { margin-top: 2.5rem; margin-bottom: 2.5rem; }
}
.mobile-shop-columns .mobile-shop-heading { color: #dfe7c5; }
.food-declaration { margin-top: 2rem; }
.woocommerce .food-table { width: 100%; margin: 0 0 1.7rem; border: 0; border-collapse: collapse; table-layout: fixed; font-size: var(--text-sm); line-height: 1.65; }
.food-table caption { text-align: left; color: var(--forest); font-size: var(--text-lg); font-weight: 700; letter-spacing: -.02em; padding: 0 0 .8rem; }
.food-table caption span { display: block; color: var(--muted); font-size: var(--text-xs); font-weight: 500; letter-spacing: 0; margin-top: .2rem; }
.woocommerce .food-table th, .woocommerce .food-table td { border: 0; border-bottom: 1px solid var(--line); padding: .8rem .7rem; vertical-align: top; overflow-wrap: anywhere; }
.woocommerce .food-table th { width: 62%; text-align: left; font-weight: 550; }
.woocommerce .food-table--nutrition td { text-align: right; font-variant-numeric: tabular-nums; }
.food-table--nutrition tr:nth-child(odd) { background: #edf2e680; }
.woocommerce .food-table--ingredients th { width: 21%; }
.woocommerce .food-table--ingredients td { text-align: left; }
.food-declaration__source { font-size: var(--text-xs); line-height: 1.6; color: var(--muted); }
.food-declaration__source a { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 540px) {
    .woocommerce .food-table { font-size: var(--text-xs); }
    .woocommerce .food-table th, .woocommerce .food-table td { padding: .75rem .5rem; }
    .woocommerce .food-table--ingredients tr { display: flex; flex-direction: column; }
    .woocommerce .food-table--ingredients th { width: auto; border-bottom: 0; padding-bottom: .15rem; }
    .woocommerce .food-table--ingredients td { padding-top: .15rem; }
}
.product-information__card > .food-declaration:first-child { margin-top: 0; }
.food-declaration + .product-source-details { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 1.5rem; }

/* Compact, ordered discovery: shop → format → flavour and offers. */
.shop-discovery { margin-bottom: 1.6rem; }
.shop-switch { gap: .4rem; margin-bottom: 1rem; }
.shop-switch a { min-height: 2.5rem; padding: .55rem 1rem; font-size: var(--text-xs); }
.shop-filter-groups { gap: .6rem; padding-top: .8rem; }
.shop-format-row { display: flex; align-items: end; gap: 1.5rem; }
.shop-format-row > fieldset { flex: 1; }
.shop-filter-groups legend { margin-bottom: .45rem; font-size: var(--text-xs); }
.shop-filter-row { gap: .35rem; }
.shop-filter { min-height: 2rem; padding: .45rem .7rem; font-size: var(--text-xs); font-weight: 650; }
.shop-search { width: min(100%, 22rem); min-height: 2.5rem; padding-inline: .8rem; border-radius: var(--radius-control); }
.shop-search input { font-size: var(--text-sm); }
.shop-refine summary { min-height: 2.1rem; font-size: var(--text-xs); font-weight: 650; }
.shop-refine__body { align-items: center; gap: .75rem; padding: .1rem 0 .1rem; }
.shop-refine__body > fieldset { flex: 1; }
.shop-sale-toggle { min-height: 2rem; padding: .4rem .65rem; font-size: var(--text-xs); font-weight: 650; }
.shop-filter--all { border-color: transparent; background: transparent; }
.shop-filter--all.is-active { color: var(--forest); background: #e5ece0; border-color: #d3deca; }
.shop-discovery__status { gap: .75rem; margin-top: .75rem; padding-top: .75rem; }
.shop-sort { min-height: 2.15rem; }
.shop-sort .orderby { padding-block: .4rem; }
@media (min-width: 861px) {
    .shop-refine summary { cursor: default; }
    .shop-refine summary > span { display: none; }
}
@media (max-width: 860px) {
    .shop-format-row { flex-wrap: wrap; gap: .75rem; }
    .shop-format-row > fieldset { flex-basis: 100%; }
    .shop-format-row .shop-search { width: 100%; min-height: 44px; }
    .shop-search input { font-size: var(--text-base); }
    .shop-switch a, .shop-filter, .shop-sale-toggle { min-height: 44px; }
    .shop-filter-row { flex-wrap: wrap; margin-inline: 0; padding: 0; overflow: visible; gap: .3rem; }
    .shop-filter { padding-inline: .6rem; font-size: var(--text-xs); }
    .shop-refine summary { min-height: 44px; }
    .shop-refine__body { display: grid; gap: .65rem; padding-bottom: .4rem; }
    .shop-discovery__status { flex-wrap: wrap; }
    .shop-discovery__status .shop-reset { order: 3; min-height: 32px; }
}

/* Bundle menu previews: single tins, with both lines side by side for mixes. */
.shop-menu-children { margin-top: 1.3rem; padding-left: 1rem; }
.site-nav .shop-menu-children .shop-menu-bundle { display: grid; grid-template-columns: 5rem minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .5rem; margin: .3rem -.5rem; border-radius: var(--radius-card); }
.shop-menu-children .shop-menu-bundle > span { position: static; }
.shop-menu-bundle__image { display: flex; align-items: center; justify-content: center; gap: .2rem; width: 5rem; height: 3.75rem; }
.shop-menu-bundle__image img { width: 3.75rem; height: 3.75rem; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-image); }
.shop-menu-bundle__image--mixed img { width: calc(50% - .1rem); height: auto; border-radius: var(--radius-image); }
.site-nav .shop-menu-children .shop-menu-bundle:hover { background: var(--mint-soft); }
@media (max-width: 1100px) {
    .site-nav .shop-menu-children .shop-menu-bundle { grid-template-columns: 4rem minmax(0,1fr) auto; gap: .5rem; }
    .shop-menu-bundle__image { width: 4rem; }
    .shop-menu-children strong { font-size: var(--text-base); }
    .shop-menu-children small { font-size: var(--text-xs); }
}
.shop-switch a { gap: .45rem; }
.shop-switch .format-icon { width: 1.15rem; height: 1.15rem; font-size: 1.15rem; color: currentColor; }
.pack-option__title { display: flex; align-items: center; gap: .4rem; }
.pack-option .pack-option__title .format-icon { flex: 0 0 auto; color: currentColor; width: 1.05rem; height: 1.05rem; font-size: 1.05rem; }
/* Flavour families and three visual cues sit below the untouched native gallery. */
.compass-product-kind-mint .product-stage__visual { position: relative; top: auto; min-height: 0; align-content: start; gap: 1.5rem; }
.product-companions { width: 90%; min-width: 0; }
.product-focus { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; text-align: center; }
.product-focus figure { min-width: 0; margin: 0; }
.product-focus .editorial-picture { width: min(100%, 7rem); margin-inline: auto; overflow: visible; }
.product-focus .editorial-picture img { width: 100%; aspect-ratio: 1; object-fit: cover; border: .32rem solid #fff; border-radius: 50%; box-shadow: 0 .35rem 1.1rem #12271b14; }
.product-focus figcaption { padding-top: .6rem; }
.product-focus small { display: block; font-size: var(--text-xs); letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.product-focus strong { display: block; margin-top: .3rem; font-size: var(--text-xs); font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.freshness-dots { display: flex; justify-content: center; gap: .22rem; margin-top: .45rem; }
.freshness-dots i { display: block; width: .32rem; height: .32rem; border-radius: 50%; background: color-mix(in srgb, var(--product-ink) 22%, transparent); }
.freshness-dots .is-filled { background: var(--product-ink); }
.product-family { border-top: 1px solid color-mix(in srgb, var(--product-ink) 18%, transparent); margin-top: 1.3rem; padding-top: 1rem; }
.product-family__heading { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: baseline; justify-content: space-between; margin-bottom: .7rem; }
.woocommerce .product-family__heading h2 { margin: 0; font-size: var(--text-base); font-weight: 600; letter-spacing: -.02em; }
.product-family__heading > span { font-size: var(--text-xs); opacity: .7; }
.product-family__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.product-family__item { display: flex; align-items: center; gap: .5rem; min-width: 0; min-height: 4.5rem; padding: .5rem; border: 1px solid color-mix(in srgb, var(--product-ink) 18%, transparent); border-radius: var(--radius-card); background: color-mix(in srgb, var(--product-soft) 50%, transparent); color: var(--product-ink); }
.product-family__item:hover, .product-family__item:focus-visible { border-color: var(--product-ink); }
.product-family__item.is-current { background: var(--product-ink); color: var(--product-bg); border-color: var(--product-ink); }
.product-family__item img { flex: 0 0 auto; width: 3rem; height: 3rem; object-fit: cover; border-radius: var(--radius-image); }
.product-family__item strong, .product-family__item small { display: block; }
.product-family__item strong { font-size: var(--text-xs); font-weight: 650; }
.product-family__item small { margin-top: .2rem; font-size: var(--text-xs); white-space: nowrap; opacity: .8; }
@media (max-width: 1100px) and (min-width: 861px) {
  .product-family__item { flex-direction: column; text-align: center; }
}
@media (max-width: 860px) {
  .product-companions { width: 100%; max-width: 34rem; }
  .product-focus .editorial-picture { width: 5rem; }
  .product-focus strong { font-size: var(--text-xs); }
  .product-family__item { flex-direction: column; text-align: center; gap: .35rem; }
  .product-family__item img { width: 2.8rem; height: 2.8rem; }
}
