/** Shopify CDN: Minification failed

Line 1866:0 Unexpected "}"

**/
.at-add-to-cart__content{ margin-top:12px; }
.at-add-to-cart__content .js-qty__wrapper{
  display:flex; align-items:center; justify-content:space-between;
  width:100% !important; background:#111 !important;
  border-radius:8px !important; overflow:hidden; min-height:44px;
}
.at-add-to-cart__content .js-qty__num{
  background:transparent !important; border:0 !important; color:#fff !important;
  font-weight:700 !important; font-size:15px !important; text-align:center; flex:1;
}
.at-add-to-cart__content .js-qty__adjust{
  background:transparent !important; border:0 !important; color:#fff !important;
  width:44px; height:44px; cursor:pointer;
}
.at-add-to-cart__content .js-qty__adjust:hover{ background:#2c2c2c !important; }

/* ==========================================================================
   TDH overrides for Expanse 10.0.1
   ========================================================================== */

/* --- Product cards: full-width solid Add to cart / Choose options button --- */
.tdh-card-atc {
  display: block;
  margin: 12px 0 4px;
}
.tdh-card-atc quick-add,
.tdh-card-atc tool-tip-trigger,
.tdh-card-atc .tool-tip-trigger,
.tdh-card-atc .quick-add-modal {
  display: block;
  width: 100%;
  position: static;
  padding: 0;
  margin: 0;
}
.tdh-card-atc__btn {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 11px 12px;
  background: #111;
  border: 1px solid #111;
  border-radius: 8px;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.tdh-card-atc__btn:hover {
  background: #2c2c2c;
  border-color: #2c2c2c;
}
.tdh-card-atc__btn:disabled {
  background: #e6e6e6;
  border-color: #e6e6e6;
  color: #888;
  cursor: not-allowed;
}
/* inner label: the quick-add script needs a .btn child; strip the theme button look from it */
.tdh-card-atc__btn .tdh-card-atc__label {
  display: inline;
  min-height: 0;
  padding: 0;
  margin: 0;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit;
  letter-spacing: inherit;
  text-transform: none;
}
.tdh-card-atc__btn .tdh-card-atc__label.btn--loading {
  opacity: 0.55;
}

/* --- Scrolling text bar: compact strip, as on the previous theme --- */
.scrolling-text {
  --index-section-padding: 6px;
  padding-block: 6px !important;
}

/* --- Subcategory circles on collection pages: small scrollable strip on mobile --- */
@media (max-width: 768px) {
  .new-grid[data-type='subcollections'] > .grid-item {
    flex: 0 0 112px !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
  }
}

/* ==========================================================================
   TDH cart (drawer + cart page)
   ========================================================================== */

/* --- Free-shipping progress bar --- */
.tdh-cart-progress {
  margin: 0 0 16px;
  padding: 12px 14px;
  background: #fcf4f1;
  border-radius: 10px;
  text-align: center;
}
.tdh-cart-progress__msg {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.35;
  color: #111;
}
.tdh-cart-progress__track {
  height: 8px;
  background: #ecd9d2;
  border-radius: 999px;
  overflow: hidden;
}
.tdh-cart-progress__track > span {
  display: block;
  height: 100%;
  background: #d75d43;
  border-radius: 999px;
  transition: width 0.35s ease;
}
.tdh-cart-progress.is-unlocked {
  background: #eef8f0;
}
.tdh-cart-progress.is-unlocked .tdh-cart-progress__track {
  background: #cfe9d5;
}
.tdh-cart-progress.is-unlocked .tdh-cart-progress__track > span {
  background: #1e8a44;
}

/* --- Discount + shipping lines under the subtotal --- */
.cart__discounts {
  margin: 6px 0 12px;
  text-align: left;
}
.tdh-cart-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 14px;
  line-height: 1.5;
}
.tdh-cart-line--saving {
  color: #ba4444;
}
.tdh-cart-line__note {
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: #555;
}

/* --- Upsell rows --- */
.tdh-cart-upsell {
  margin: 8px 0 16px;
  padding-top: 16px;
  border-top: 1px solid #e8e8e1;
}
.tdh-cart-upsell__title {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 700;
  color: #111;
}
.tdh-cart-upsell__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  margin-bottom: 8px;
  background: #f7f7f5;
  border-radius: 10px;
}
.tdh-cart-upsell__img {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.tdh-cart-upsell__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tdh-cart-upsell__info {
  flex: 1 1 auto;
  min-width: 0;
}
.tdh-cart-upsell__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: #111;
  text-decoration: none;
}
.tdh-cart-upsell__price {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: #111;
}
.tdh-cart-upsell__price s {
  color: #777;
  font-weight: 400;
}
.tdh-cart-upsell__add {
  flex: 0 0 auto;
  min-width: 64px;
  min-height: 40px;
  padding: 8px 14px;
  background: #111;
  border: 1px solid #111;
  border-radius: 8px;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.tdh-cart-upsell__add:hover {
  background: #2c2c2c;
  border-color: #2c2c2c;
  color: #fff;
}
.tdh-cart-upsell__add:disabled {
  opacity: 0.6;
  cursor: default;
}

/* --- Trust strip under the checkout button --- */
.tdh-cart-trust {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.tdh-cart-trust li {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  color: #333;
}
.tdh-cart-trust svg {
  flex: 0 0 auto;
  color: #111;
}

/* --- Checkout button: brand red, larger tap target --- */
.cart__checkout.element-button,
.cart__checkout {
  min-height: 52px;
  background: #e4322b !important;
  border-color: #e4322b !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 17px;
  font-weight: 700;
}
.cart__checkout:hover {
  background: #c9271f !important;
  border-color: #c9271f !important;
}

/* --- Express checkout: one compact row instead of three stacked buttons --- */
.additional-checkout-buttons {
  --shopify-accelerated-checkout-button-block-size: 42px;
  --shopify-accelerated-checkout-button-border-radius: 8px;
  --shopify-accelerated-checkout-row-gap: 8px;
  margin-top: 10px;
}
.additional-checkout-buttons [data-shopify-buttoncontainer] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px;
  margin: 0 !important;
}
.additional-checkout-buttons [data-shopify-buttoncontainer] > li {
  flex: 1 1 0 !important;
  min-width: 0;
  margin: 0 !important;
}

/* --- Drawer footer spacing --- */
.cart-drawer .cart__footer {
  padding-top: 14px;
  padding-bottom: 14px;
}
.cart-drawer .cart__item--subtotal {
  margin-bottom: 0;
}

/* --- Express checkout block inside the drawer's scrollable area --- */
.tdh-cart-express {
  margin: 4px 0 20px;
  padding-top: 14px;
  border-top: 1px solid #e8e8e1;
}
.tdh-cart-express__label {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  color: #555;
}
.cart-drawer.is-empty .tdh-cart-express,
.cart-drawer.is-empty .tdh-cart-upsell {
  display: none;
}
/* compact trust strip in the drawer footer */
.cart-drawer .tdh-cart-trust {
  margin-top: 10px;
}
.cart-drawer .tdh-cart-trust li {
  font-size: 11px;
}

/* trust strip in the drawer: icon beside text, one tight row */
.cart-drawer .tdh-cart-trust {
  gap: 6px;
  margin-top: 10px;
}
.cart-drawer .tdh-cart-trust li {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  line-height: 1.2;
  text-align: left;
}
.cart-drawer .tdh-cart-trust svg {
  width: 14px;
  height: 14px;
}
.cart-drawer .cart__checkout-wrapper {
  margin-bottom: 0;
}

/* --- Quick-add size/color picker: no breadcrumb inside the pop-up --- */
tool-tip nav.breadcrumb,
tool-tip .element-breadcrumbs,
tool-tip .product-single__header-top--mobile {
  display: none !important;
}

/* --- Product page: avoid two size/color pickers ---
   The Variant Option Product Options app draws its own picker (#bcpo) inside the buy form.
   On Expanse 6.1 it replaced the theme picker; on 10.0.1 both showed. Hide the theme picker
   only when the app's picker is present, so products the app does not handle keep the theme one.
   The app's embed is switched off in this theme (made-to-order options are now
   snippets/tdh-custom-options.liquid), so this only matters if the embed is turned back on. */
.product-single__meta:has(#bcpo select, #bcpo input) kit-variant-picker {
  display: none !important;
}

/* --- Product carousels on phones: about two cards visible, as on the previous theme (10.0.1 shows ~1.4) --- */
@media (max-width: 768px) {
  .product-grid.scrollable-grid--small > .grid-item,
  .product-grid.scrollable-grid--small > .grid-product {
    flex: 0 0 46% !important;
    width: 46% !important;
    min-width: 46% !important;
    max-width: 46% !important;
  }
}

/* --- Subcategory circles on desktop: compact row so products start higher --- */
@media (min-width: 769px) {
  .new-grid[data-type='subcollections'] > .grid-item {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }
}


/* ==========================================================================
   TDH homepage
   ========================================================================== */

/* --- The three category tiles sit side by side on phones (were three full-screen tiles) --- */
@media (max-width: 768px) {
  .template-index [class*='text-columns-'] .float-grid {
    display: flex;
    gap: 8px;
    margin: 0;
  }
  .template-index [class*='text-columns-'] .float-grid > .grid__item {
    flex: 1 1 0;
    width: auto;
    float: none;
    padding: 0;
    margin: 0;
  }
  .template-index [class*='text-columns-'] .float-grid > .grid__item img {
    display: block;
    width: 100%;
    height: auto;
  }
}

/* --- Desktop navigation on a single row ---
   Higher specificity than the header's own nav rule and the ported overrides in the layout. */
@media (min-width: 1200px) {
  .site-header__element--sub[data-type='nav'] .site-navigation--below .site-nav__link {
    padding-left: 7px !important;
    padding-right: 7px !important;
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
  }
}

/* smaller laptops (1200-1399px): tighter still so all 15 items stay on one row */
@media (min-width: 1200px) and (max-width: 1399px) {
  .site-header__element--sub[data-type='nav'] .site-navigation--below .site-nav__link {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 12px !important;
    letter-spacing: 0.03em !important;
  }
}

/* --- Homepage blog block on phones: keep the featured post and three recent posts, hide the long tag list --- */
@media (max-width: 768px) {
  .template-index [id$='__blog-posts'] .blog-layout__sidebar > :not(.grid-article) {
    display: none !important;
  }
}

/* Desktop product page: title at the live theme's size so price and Add to cart stay on the first screen */
@media (min-width: 769px) {
  .product-single__meta h1.element-text--heading-xl {
    font-size: 30px;
    line-height: 1.2;
  }
}

/* Product cards: price after the discount code leads the card */
.tdh-card-code { line-height: 1.25; margin-top: 2px; }
.tdh-card-code__state--applied { display: none; }
.tdh-code-applied .tdh-card-code__state--default { display: none; }
.tdh-code-applied .tdh-card-code__state--applied { display: block; }
.tdh-card-code__price { font-size: 22px; font-weight: 800; color: #111212; line-height: 1.15; margin: 2px 0; }
.tdh-card-code__state--applied .tdh-card-code__price { color: #0b7a4b; }
.tdh-card-code__regular { font-size: 14px; font-weight: 600; color: #6b7280; margin-left: 4px; }
.tdh-card-code__from { font-size: 13px; font-weight: 600; color: #374151; }
.tdh-card-code__save { font-size: 13px; font-weight: 600; color: #ba4444; }
.tdh-card-code__offer { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 5px 9px; border-radius: 8px; background: #fcf4f1; border: 1px solid #f0cfc6; font-size: 13px; color: #111212; line-height: 1.25; }
.tdh-card-code__offer strong { font-weight: 800; }
.tdh-card-code__offer svg { width: 14px; height: 14px; flex: 0 0 auto; fill: none; stroke: #d75d43; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.tdh-card-code__state--applied .tdh-card-code__offer { background: #f1faf5; border-color: #cdeadd; color: #0b5a38; }
.tdh-card-code__state--applied .tdh-card-code__offer svg { stroke: #0b7a4b; stroke-width: 2.4; }
@media (max-width: 768px) {
  .tdh-card-code__price { font-size: 20px; }
  .tdh-card-code__save { font-size: 12px; }
  .tdh-card-code__offer { font-size: 11.5px; padding: 4px 7px; gap: 5px; }
  .tdh-card-code__offer svg { width: 13px; height: 13px; }
}

/* Product card badges: soft pills, top-left of the image */
.tdh-badges {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  pointer-events: none;
}
.tdh-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  background: #fff;
  color: #111212;
  border-color: #111212;
}
.tdh-badge svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.tdh-badge--best-seller { background: #111212; color: #fff; }
.tdh-badge--sale { background: #fff; color: #ba4444; border-color: #ba4444; }
.tdh-badge--hot { background: #d75d43; color: #fff; border-color: #d75d43; }
.tdh-badge--last-chance { background: #f4e3da; color: #7a2a1c; border-color: #f4e3da; }
.tdh-badge--staff-choice { background: #e3f3ea; color: #0b5a38; border-color: #e3f3ea; }
.tdh-badge--new-arrival { background: #fff; color: #111212; border-color: #111212; }
.tdh-badge--sold-out { background: #6b7280; color: #fff; border-color: #6b7280; }
@media (max-width: 768px) {
  .tdh-badges { top: 6px; left: 6px; gap: 3px; }
  .tdh-badge { font-size: 11px; padding: 3px 8px 3px 6px; }
  .tdh-badge svg { width: 12px; height: 12px; }
}

/* Mobile menu: full screen width, grey list edge to edge */
@media (max-width: 768px) {
  .site-header__drawers:has(.site-header__mobile-nav.is-active) { padding-left: 0; padding-right: 0; }
  header-drawer.site-header__mobile-nav { padding: 0; }
  header-drawer.site-header__mobile-nav mobile-nav.slide-nav__wrapper { background: #fff; padding: 0; }
  header-drawer.site-header__mobile-nav clone-footer { display: block; padding: 0 20px 20px; }
}

/* Sticky add-to-cart bar must not cover the open cart drawer or mobile menu */
body:has(.site-header__cart.is-active) #tdh-sticky-atc,
body:has(.site-header__mobile-nav.is-active) #tdh-sticky-atc { display: none; }

/* Cart drawer on phones: full screen width, content with minimal side margins */
@media (max-width: 768px) {
  .site-header__drawers:has(.site-header__cart.is-active) { padding-left: 0; padding-right: 0; }
  header-drawer.site-header__cart { padding-left: 0; padding-right: 0; }
  header-drawer.site-header__cart .cart__scrollable,
  header-drawer.site-header__cart .cart__footer { padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 768px) {
  .tdh-cart-trust { gap: 4px; flex-wrap: nowrap; }
  .tdh-cart-trust li { padding: 4px 7px; gap: 4px; font-size: 10.5px; }
  .tdh-cart-trust svg { width: 13px; height: 13px; }
}

/* Collection filters: brand icon beside each filter group */
[data-tdh-filter] summary.element-accordion__toggle::before,
.collection-sidebar__group--sort summary.element-accordion__toggle::before {
  content: "";
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  margin-right: -6px;
  border-radius: 50%;
  background-color: #f4e3da;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23d75d43%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M7%2012h10M10%2018h4%22%2F%3E%3C%2Fsvg%3E");
}
[data-tdh-filter] summary.element-accordion__toggle { align-items: center; }
[data-tdh-filter] summary.element-accordion__toggle > .element-text { flex: 1 1 auto; text-align: left; }
.collection-sidebar__group--sort summary.element-accordion__toggle { align-items: center; }
.collection-sidebar__group--sort summary.element-accordion__toggle > .element-text { flex: 1 1 auto; text-align: left; }

/* Phone header: show the search icon beside account and cart */
@media (max-width: 768px) {
  .header-wrapper [data-nav='below'] .js-search-header { display: flex !important; }
}

/* Empty states: cart, search with no results, 404 */
.tdh-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 28px 16px; max-width: 760px; margin: 0 auto; }
.tdh-empty__icon { width: 64px; height: 64px; border-radius: 50%; background: #f4e3da; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.tdh-empty__icon svg { width: 30px; height: 30px; fill: none; stroke: #d75d43; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tdh-empty__title { margin: 0; font-size: 20px; font-weight: 700; color: #111212; line-height: 1.25; }
.tdh-empty__text { margin: 0; font-size: 14px; color: #6b7280; line-height: 1.4; }
.tdh-empty__btn { display: inline-block; margin-top: 10px; padding: 12px 22px; border-radius: 8px; background: #111212; color: #fff !important; font-size: 15px; font-weight: 700; text-decoration: none !important; }
.tdh-empty__btn:hover { background: #333; }
.tdh-empty__picks-title { margin: 26px 0 8px; font-size: 15px; font-weight: 700; color: #111212; }
.tdh-empty__picks { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tdh-empty__picks li { margin: 0; }
.tdh-empty__picks a { display: flex; flex-direction: column; gap: 4px; padding: 8px; border-radius: 12px; background: #f7f7f7; text-decoration: none !important; color: #111212; text-align: left; height: 100%; }
.tdh-empty__picks img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 8px; background: #fff; }
.tdh-empty__pick-name { font-size: 13px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-empty__pick-price { font-size: 14px; font-weight: 700; margin-top: auto; }
@media (max-width: 768px) {
  .tdh-empty { padding: 22px 12px; }
  .tdh-empty__title { font-size: 18px; }
  .tdh-empty__picks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}

/* Sub-category row on collection pages: rounded squares at the old circle size, one-line labels */
.new-grid[data-type='subcollections'] { gap: 8px !important; }
.new-grid[data-type='subcollections'] > .grid-item {
  flex: 0 0 92px !important;
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.new-grid[data-type='subcollections'] .collection-image-wrap,
.new-grid[data-type='subcollections'] .collection-image,
.new-grid[data-type='subcollections'] .collection-image img { border-radius: 10px !important; }
.new-grid[data-type='subcollections'] .collection-image-wrap { margin: 0 0 5px !important; aspect-ratio: 1; overflow: hidden; }
.new-grid[data-type='subcollections'] .collection-item { margin: 0 !important; padding: 0 !important; }
.new-grid[data-type='subcollections'] .collection-item__title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
@media (min-width: 769px) {
  .new-grid[data-type='subcollections'] { gap: 12px !important; }
  .new-grid[data-type='subcollections'] > .grid-item {
    flex: 0 0 130px !important;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
  }
  .new-grid[data-type='subcollections'] .collection-item__title { font-size: 14px; }
}
.new-grid[data-type='subcollections'] { align-items: flex-start !important; }
.new-grid[data-type='subcollections'] .collection-image-wrap { position: relative; padding: 0 !important; height: auto !important; }
.new-grid[data-type='subcollections'] .collection-image-wrap > .collection-image { position: absolute !important; inset: 0; width: 100%; height: 100% !important; padding: 0 !important; margin: 0 !important; }
.new-grid[data-type='subcollections'] .collection-image img,
.new-grid[data-type='subcollections'] .collection-image svg { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.new-grid[data-type='subcollections'] > .grid-item { overflow: hidden; }
.new-grid[data-type='subcollections'] .collection-item { display: block; width: 100%; max-width: 100%; min-width: 0; }
.new-grid[data-type='subcollections'] .collection-item__title { max-width: 100%; }

/* ===== Product page: Add to cart area ===== */
.product-single__meta block-buy-buttons .product__policies:not(.shopify-payment-terms) { display: none; }
.product-single__meta block-buy-buttons .add-to-cart {
  min-height: 56px;
  border-radius: 10px !important;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .2px;
}
.product-single__meta block-buy-buttons .add-to-cart .element-text { font-size: 18px; font-weight: 700; }
.product-single__meta block-buy-buttons .add-to-cart[disabled] { background: #e5e5e5 !important; border-color: #e5e5e5 !important; color: #6b7280 !important; }

.tdh-atc-stock { display: flex; align-items: center; gap: 6px; margin: 0 0 -6px; font-size: 14px; color: #ba4444; }
.tdh-atc-stock[hidden] { display: none; }
.tdh-atc-stock svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.tdh-atc-stock strong { font-weight: 800; }

.tdh-atc-similar { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 10px 16px; border: 2px solid #111212; border-radius: 10px; color: #111212 !important; font-size: 16px; font-weight: 700; text-decoration: none !important; text-align: center; }
.tdh-atc-similar:hover { background: #111212; color: #fff !important; }
.tdh-atc-similar svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.product-single__meta block-buy-buttons .add-to-cart[disabled] .element-text { color: #6b7280 !important; }

/* Quantity stepper beside the Add to cart button */
.product-single__meta block-quantity-selector { position: relative; z-index: 2; width: 126px; }
.product-single__meta block-quantity-selector label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.product-single__meta block-quantity-selector .element-quantity-selector,
.product-single__meta block-quantity-selector .element-quantity-selector__button,
.product-single__meta block-quantity-selector .element-quantity-selector__input { height: 56px; }
.product-single__meta block-quantity-selector .element-quantity-selector__input { padding-top: 0; padding-bottom: 0; line-height: 56px; font-size: 17px; font-weight: 700; }
.product-single__meta block-quantity-selector + block-buy-buttons { margin-top: -72px; }
.product-single__meta block-quantity-selector + block-buy-buttons .add-to-cart { margin-left: 138px; width: calc(100% - 138px); }
.tdh-atc-price { font-size: 18px; font-weight: 700; white-space: pre; }

/* Delivery & privacy box under the Add to cart button */
/* the help line opens the question form, so the separate black button is not needed */
.product-single__meta #tdhInquiryOpen { display: none !important; }
@media (max-width: 768px) {
  .product-single__meta block-quantity-selector { width: 108px; }
  .product-single__meta block-quantity-selector + block-buy-buttons .add-to-cart { margin-left: 118px; width: calc(100% - 118px); }
  .product-single__meta block-buy-buttons .add-to-cart .element-text, .tdh-atc-price { font-size: 16px; }
}

/* Sold out: no quantity stepper, full-width button */
.product-single__meta block-quantity-selector:has(+ block-buy-buttons .add-to-cart[disabled]) { display: none; }
.product-single__meta block-quantity-selector + block-buy-buttons:has(.add-to-cart[disabled]) { margin-top: 0; }
.product-single__meta block-quantity-selector + block-buy-buttons .add-to-cart[disabled] { margin-left: 0; width: 100%; }

/* Delivery & privacy block: date, cart-aware free shipping, discretion, three actions */
.tdh-dp { border: 1px solid #e6e6e6; border-radius: 12px; overflow: hidden; background: #fff; color: #111212; }
.tdh-dp__row { display: flex; align-items: center; gap: 14px; padding: 14px 16px; }
.tdh-dp__row + .tdh-dp__row { border-top: 1px solid #eee; }
.tdh-dp__icon { width: 40px; height: 40px; border-radius: 50%; background: #f4e3da; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.tdh-dp svg { fill: none; stroke: #d75d43; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.tdh-dp__icon svg { width: 21px; height: 21px; }
.tdh-dp__body { flex: 1 1 auto; min-width: 0; }
.tdh-dp__title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: #111212; }
.tdh-dp__sub { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: #6b7280; }
.tdh-dp__green { color: #0b7a4b; }
.tdh-dp__bar { height: 6px; border-radius: 999px; background: #eee; margin: 7px 0 5px; overflow: hidden; }
.tdh-dp__bar[hidden] { display: none; }
.tdh-dp__bar i { display: block; height: 100%; width: 0; background: #d75d43; border-radius: 999px; transition: width .4s ease; }
.tdh-dp__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #eee; background: #f7f7f7; }
.tdh-dp__actions a,
.tdh-dp__actions button { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 8px 6px; margin: 0; border: 0; border-radius: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; color: #111212 !important; text-decoration: none !important; cursor: pointer; }
.tdh-dp__actions > * + * { border-left: 1px solid #e6e6e6 !important; }
.tdh-dp__actions a:hover,
.tdh-dp__actions button:hover { background: #f4e3da; }
.tdh-dp__actions svg { width: 17px; height: 17px; }
@media (max-width: 768px) {
  .tdh-dp__row { padding: 12px; gap: 12px; }
  .tdh-dp__icon { width: 36px; height: 36px; }
  .tdh-dp__title { font-size: 15px; }
  .tdh-dp__sub { font-size: 12px; }
  .tdh-dp__actions a, .tdh-dp__actions button { font-size: 13px; }
}

/* Product page price block: code not applied (default) and code applied */
.tdh-pb { color: #111212; }
.tdh-pb [hidden] { display: none !important; }
.tdh-pb__row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.tdh-pb__price { font-size: 44px; font-weight: 900; line-height: 1; letter-spacing: -.5px; color: #111212; }
.tdh-pb__was { font-size: 22px; font-weight: 700; color: #6b7280; text-decoration-thickness: 2px; }
.tdh-pb__save { margin: 6px 0 0; font-size: 18px; font-weight: 600; color: #ba4444; }
.tdh-pb__offer,
.tdh-pb__applied { display: flex; align-items: center; gap: 14px; margin-top: 14px; padding: 14px 16px; border-radius: 12px; }
.tdh-pb__offer { background: #fcf4f1; border: 1px solid #f0cfc6; flex-wrap: wrap; }
.tdh-pb__applied { background: #f1faf5; border: 1px solid #cdeadd; }
.tdh-pb__icon { width: 30px; height: 30px; flex: 0 0 auto; fill: none; stroke: #d75d43; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tdh-pb__offer-text { flex: 1 1 180px; min-width: 0; }
.tdh-pb__offer-title { margin: 0; font-size: 17px; line-height: 1.3; color: #111212; }
.tdh-pb__offer-title strong { font-weight: 800; }
.tdh-pb__offer-sub { margin: 2px 0 0; font-size: 14px; color: #4b5563; }
.tdh-pb__apply { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; width: 100%; padding: 10px 16px; margin: 0; border: 0; border-radius: 8px; background: #111212; color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.tdh-pb__apply:hover { background: #333; }
.tdh-pb__apply[disabled] { opacity: .6; cursor: default; }
.tdh-pb__note { margin: 8px 0 0; font-size: 13px; color: #4b5563; }
.tdh-pb__remove { display: inline-block; margin: 10px 0 0; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; color: #111212; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tdh-pb__applied, .tdh-pb__remove { display: none; }
.tdh-pb.is-applied .tdh-pb__applied { display: flex; }
.tdh-pb.is-applied .tdh-pb__remove { display: inline-block; }
.tdh-pb.is-applied .tdh-pb__offer, .tdh-pb.is-applied .tdh-pb__note { display: none; }
.tdh-pb.is-applied .tdh-pb__price { color: #0b7a4b; }
@media (max-width: 768px) {
  .tdh-pb__price { font-size: 36px; }
  .tdh-pb__was { font-size: 19px; }
  .tdh-pb__save { font-size: 16px; }
  .tdh-pb__offer, .tdh-pb__applied { padding: 12px; gap: 12px; }
  .tdh-pb__offer-title { font-size: 16px; }
  .tdh-pb__offer-sub { font-size: 13px; }
}

/* Product page option picker: outlined buttons, peach when selected */
.product-single__meta kit-variant-picker .kit-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.product-single__meta kit-variant-picker .kit-fieldset__legend { margin: 0 0 8px; padding: 0; }
.product-single__meta kit-variant-picker .kit-fieldset__legend-text { font-size: 15px; font-weight: 700; color: #111212; }
.product-single__meta kit-variant-picker .kit-radio { cursor: pointer; }
.product-single__meta kit-variant-picker .kit-radio .kit-button {
  background: #fff !important;
  color: #111212 !important;
  border: 1.5px solid #cfcfcf !important;
  border-radius: 8px !important;
  padding: 9px 16px !important;
  min-height: 42px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  box-shadow: none !important;
  transition: border-color .12s ease, background-color .12s ease;
}
.product-single__meta kit-variant-picker .kit-radio:hover .kit-button { border-color: #111212 !important; }
.product-single__meta kit-variant-picker .kit-radio__input:checked + .kit-button {
  background: #f4e3da !important;
  border-color: #d75d43 !important;
  color: #7a2a1c !important;
}
.product-single__meta kit-variant-picker .kit-radio__input:focus-visible + .kit-button { outline: 2px solid #111212; outline-offset: 2px; }
.product-single__meta kit-variant-picker .kit-radio__input:disabled + .kit-button { opacity: .45; text-decoration: line-through; }

/* An option with a single value is information, not a choice: show it as "Color: value" text */
.product-single__meta kit-variant-picker .kit-fieldset:has(.kit-radio:only-child) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; }
.product-single__meta kit-variant-picker .kit-fieldset:has(.kit-radio:only-child) .kit-fieldset__legend { margin: 0; float: left; }
.product-single__meta kit-variant-picker .kit-fieldset:has(.kit-radio:only-child) .kit-fieldset__legend-text::after { content: ":"; }
.product-single__meta kit-variant-picker .kit-fieldset:has(.kit-radio:only-child) .kit-radio { cursor: default; pointer-events: none; }
.product-single__meta kit-variant-picker .kit-fieldset:has(.kit-radio:only-child) .kit-radio .kit-button {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: 0;
  color: #374151 !important;
  font-size: 15px;
  font-weight: 400;
}

/* Secure checkout row under the delivery block */
.tdh-secure { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-radius: 12px; background: #f7f7f7; }
.tdh-secure__label { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; color: #111212; white-space: nowrap; }
.tdh-secure__label svg { width: 18px; height: 18px; fill: none; stroke: #d75d43; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tdh-secure__logos { display: inline-flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tdh-secure__logos img { width: 34px; height: 22px; object-fit: contain; display: block; }

/* The bundle app widget is replaced by our own "Complete your order" block */
.cbb-frequently-bought-container { display: none !important; }

/* "Complete your order" add-ons */
.tdh-addons { border: 1px solid #e6e6e6; border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; background: #fff; color: #111212; }
.tdh-addons[hidden] { display: none; }
.tdh-addons__title { margin: 0 0 2px; font-size: 17px; font-weight: 700; line-height: 1.3; }
.tdh-addons__list { display: flex; flex-direction: column; gap: 6px; }
.tdh-addons__row { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 10px; border: 1px dashed #d6d6d6; border-radius: 10px; background: #fff; cursor: pointer; }
.tdh-addons__row.is-checked { border: 1px solid #f7f7f7; background: #f7f7f7; }
.tdh-addons__row input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; accent-color: #d75d43; cursor: pointer; }
.tdh-addons__thumb { width: 52px; height: 52px; border-radius: 8px; background: #fff; overflow: hidden; flex: 0 0 auto; display: block; }
.tdh-addons__thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.tdh-addons__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.tdh-addons__name { font-size: 13px; font-weight: 600; line-height: 1.3; color: #111212; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-addons__why { font-size: 11px; font-weight: 600; line-height: 1.3; padding: 2px 8px; border-radius: 999px; background: #e3f3ea; color: #0b5a38; }
.tdh-addons__price { font-size: 14px; font-weight: 700; flex: 0 0 auto; }
.tdh-addons__ship { margin-top: 4px; }
.tdh-addons__ship-title { margin: 0 0 6px; font-size: 14px; font-weight: 700; line-height: 1.3; }
.tdh-addons__green { color: #0b7a4b; }
.tdh-addons__bar { height: 6px; border-radius: 999px; background: #eee; overflow: hidden; }
.tdh-addons__bar i { display: block; height: 100%; width: 0; background: #d75d43; border-radius: 999px; transition: width .4s ease; }
.tdh-addons__ship-sub { margin: 5px 0 0; font-size: 12px; color: #6b7280; }
.tdh-addons__btn { display: block; width: 100%; min-height: 48px; margin: 4px 0 0; padding: 12px 14px; border: 0; border-radius: 8px; background: #111212; color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.tdh-addons__btn:hover { background: #333; }
.tdh-addons__btn[disabled] { background: #e5e5e5; color: #6b7280; cursor: default; }
.tdh-addons__error { margin: 0; font-size: 13px; color: #ba4444; }
.tdh-addons__error[hidden] { display: none; }

/* After the description: "Trusted by" strip and related categories */
.tdh-ptrust { display: flex; flex-direction: column; gap: 20px; margin-top: 8px; margin-bottom: 28px; }
.tdh-ptrust__strip { background: #f7f7f7; border-radius: 12px; padding: 16px; text-align: center; }
.tdh-ptrust__eyebrow { margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #6b7280; }
.tdh-ptrust__logos { display: flex; align-items: center; justify-content: center; gap: 26px; flex-wrap: wrap; }
.tdh-ptrust__logos img { height: 30px; width: auto; max-width: 120px; object-fit: contain; display: block; }
.tdh-ptrust__tp { margin: 12px auto 0; max-width: 320px; min-height: 20px; }
.tdh-ptrust__heading { margin: 0 0 10px; font-size: 18px; font-weight: 700; color: #111212; }
.tdh-ptrust__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tdh-ptrust__chips li { margin: 0; }
.tdh-ptrust__chips a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid #dcdcdc; border-radius: 999px; background: #fff; color: #111212 !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.tdh-ptrust__chips a:hover { border-color: #111212; }
.tdh-ptrust__chips a span { color: #d75d43; }
@media (max-width: 768px) {
  .tdh-secure { padding: 9px 12px; }
  .tdh-secure__label { font-size: 13px; }
  .tdh-secure__logos img { width: 30px; height: 20px; }
  .tdh-ptrust__logos { gap: 18px; }
  .tdh-ptrust__logos img { height: 24px; }
  .tdh-ptrust__chips a { font-size: 13px; padding: 7px 12px; }
}

/* Filter icons from the store icon kit */
[data-tdh-filter] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205h4m4%200h10%20M3%2012h10m4%200h4%20M3%2019h4m4%200h10%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="availab"] summary.element-accordion__toggle::before,
[data-tdh-filter*="stock"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207l9-4%209%204-9%204Z%20M3%207v10l9%204%209-4V7%20M12%2011v10%20M7%2014l2%202%203-3%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="price"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%206v12%20M16%208h-6a2%202%200%200%200%200%204h4a2%202%200%200%201%200%204H8%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="brand"] summary.element-accordion__toggle::before,
[data-tdh-filter*="vendor"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22m8%2014-2%208%206-3%206%203-2-8%20M9%209l2%202%204-4%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="color"] summary.element-accordion__toggle::before,
[data-tdh-filter*="colour"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203S3%2010%203%2014a6%206%200%200%200%2012%200c0-4-6-11-6-11Z%20M19%202l1%203%203%201-3%201-1%203-1-3-3-1%203-1Z%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="type"] summary.element-accordion__toggle::before,
[data-tdh-filter*="category"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M17.5%2014v7%20M14%2017.5h7%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="length"] summary.element-accordion__toggle::before,
[data-tdh-filter*="size"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203H3v18h5%20M5%207h3%20M5%2012h3%20M5%2017h3%20M17%203v18m-3-15%203-3%203%203m-6%2012%203%203%203-3%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="diameter"] summary.element-accordion__toggle::before,
[data-tdh-filter*="girth"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M3%2012h18m-5-3%203%203-3%203%20M8%209l-3%203%203%203%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="material"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%208l9-5%209%205-9%205Z%20M3%2012l9%205%209-5%20M3%2016l9%205%209-5%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="firm"] summary.element-accordion__toggle::before,
[data-tdh-filter*="flexib"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2017q4-11%209%200t9%200%20M4%204h16%20M8%204v4%20M16%204v4%20M10%207l2%203%202-3%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="waterproof"] summary.element-accordion__toggle::before,
[data-tdh-filter*="water"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202S6%208%206%2012a6%206%200%200%200%2012%200c0-4-6-10-6-10Z%20M2%2021q2-2%204%200t4%200t4%200t4%200t4%200%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="power"] summary.element-accordion__toggle::before,
[data-tdh-filter*="rechargeable"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M22%2010v4%20M12%208l-4%205h5l-2%203%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="suction"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2015c0-7%202-11%206-11s6%204%206%2011%20M4%2015h16l2%205H2Z%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="sale"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203h9l9%209-9%209-9-9Z%20m5%205h.01%20m3%207%205-5%22%2F%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2210%22%20r%3D%220.7%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2215%22%20r%3D%220.7%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="control"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2220%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M10%2018h4%20M9%208q3-3%206%200%20M11%2011q1-1%202%200%20M12%2014h.01%22%2F%3E%3C%2Fsvg%3E"); }
.collection-sidebar__group--sort summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2020V4m-4%204%204-4%204%204%20M17%204v16m-4-4%204%204%204-4%22%2F%3E%3C%2Fsvg%3E"); }

/* Icon kit: containers set the colour, the icons keep their own line weight */
.tdh-nav-icon svg, .tdh-dp svg, .tdh-secure__label svg, .tdh-empty__icon svg, .tdh-badge svg,
.tdh-card-code__offer svg, .tdh-cart-trust svg, .tdh-atc-stock svg, .tdh-atc-similar svg, .tdh-pb__icon { stroke-width: 1.75 !important; }
.tdh-pb__applied .tdh-pb__icon { stroke: #0b7a4b; }
.tdh-sticky__btn svg { width: 18px; height: 18px; flex: 0 0 auto; }

/* Cart prices: same bold treatment as product and collection prices */
.tdh-cart-price { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; line-height: 1.2; }
.tdh-cart-price__now.cart__price { font-size: 19px !important; font-weight: 800 !important; color: #111212; }
.tdh-cart-price__was { font-size: 13px; font-weight: 600; color: #6b7280; }
.tdh-cart-price__each { font-size: 12px; color: #6b7280; white-space: nowrap; }
.cart__footer .tdh-cart-subtotal, .cart__footer [data-subtotal], .cart .tdh-cart-subtotal, [data-subtotal].tdh-cart-subtotal { font-size: 24px !important; font-weight: 800 !important; color: #111212; line-height: 1.1; }

/* ===== Phone header: menu and search on the left, logo centred, account and cart on the right ===== */
@media (max-width: 768px) {
  .site-header .header-layout { align-items: center; }
  .site-header .header-item--icons,
  .site-header .header-item--icons .site-nav,
  .site-header .header-item--icons .site-nav__icons { display: contents; }
  .site-header .header-layout > .header-item--logo { order: 3; flex: 1 1 auto; justify-content: center; min-width: 0; margin: 0; }
  .site-header .site-nav__icons > toggle-menu,
  .site-header .site-nav__icons > is-land--toggle-menu { order: 1; }
  .site-header .site-nav__icons > toggle-search,
  .site-header .site-nav__icons > is-land--toggle-search { order: 2; }
  .site-header .site-nav__icons > shopify-store,
  .site-header .site-nav__icons > is-land--shopify-store { order: 4; }
  .site-header .site-nav__icons > shopify-account { order: 5; }
  .site-header .site-nav__icons > toggle-cart,
  .site-header .site-nav__icons > is-land--toggle-cart { order: 6; }
}

/* ===== Phone menu: search, shortcut tiles, labelled groups, plain outline icons ===== */
@media (max-width: 768px) {
  header-drawer.site-header__mobile-nav .slide-nav { display: flex; flex-wrap: wrap; column-gap: 8px; row-gap: 0; margin: 0; padding: 14px 16px 18px; list-style: none; }
  header-drawer.site-header__mobile-nav .slide-nav > li { width: 100%; margin: 0; padding: 0; order: 21; }

  /* icons: plain, no circle */
  header-drawer.site-header__mobile-nav .slide-nav__image.tdh-nav-icon { position: static; width: 24px; height: 24px; margin: 0; background: none; border-radius: 0; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
  header-drawer.site-header__mobile-nav .tdh-nav-icon svg { width: 24px; height: 24px; stroke: #111212; }
  header-drawer.site-header__mobile-nav .slide-nav__image.tdh-nav-icon + span { padding-left: 0; }

  /* rows */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g > .slide-nav__button,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g > a.slide-nav__link { width: 100%; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g .slide-nav__button > .slide-nav__link,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g > a.slide-nav__link { display: flex; align-items: center; gap: 16px; min-height: 52px; padding: 8px 0; font-size: 16px; color: #111212; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g .slide-nav__link > span:not(.visually-hidden):not(.icon__fallback-text) { flex: 1 1 auto; text-align: left; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--category,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--explore,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--help { border-top: 1px solid #ececec; }

  /* group order */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-search { order: 0; margin-bottom: 12px; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--shortcut { order: 10; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-i--clearance,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-i--sale { order: 9; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-label--category { order: 20; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--category { order: 21; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-label--person { order: 30; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--person { order: 31; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-label--explore { order: 40; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--explore { order: 41; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-label--help { order: 50; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--help { order: 51; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-note { order: 60; }

  /* search */
  .tdh-nav-search .site-header__search-island { display: block; width: 100%; }
  .tdh-nav-search predictive-search { display: block; max-width: none; margin: 0; --element-icon-color: #111212; --element-icon-opacity: 1; }
  .tdh-nav-search predictive-search form { display: flex; align-items: center; height: 48px; padding: 0 6px 0 14px; margin: 0; border: 1px solid #dcdcdc; border-radius: 10px; background: #f7f7f7; }
  .tdh-nav-search predictive-search .search__input-wrap { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; height: 100%; }
  .tdh-nav-search predictive-search input.search__input { flex: 1 1 auto; min-width: 0; height: 44px; border: 0 !important; background: none !important; padding: 0 !important; margin: 0; font-size: 16px; color: #111212 !important; box-shadow: none !important; outline: none; }
  .tdh-nav-search predictive-search input.search__input::placeholder { color: #6b7280; opacity: 1; }
  .tdh-nav-search predictive-search .element-button--search { color: #111212 !important; background: none !important; }
  .tdh-nav-search predictive-search .element-button--close-search { display: none; }
  /* results open in the flow of the menu, under the field */
  .tdh-nav-search predictive-search .search__results { position: static !important; width: 100% !important; max-height: none !important; margin: 8px 0 0; padding: 0; background: #fff; box-shadow: none !important; border: 0; transform: none !important; }
  .tdh-nav-search predictive-search .predictive__screen { display: none !important; }

  /* shortcut tiles */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--shortcut { width: calc((100% - 16px) / 3); border: 0; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--shortcut > a.slide-nav__link { flex-direction: column; justify-content: center; gap: 8px; min-height: 76px; padding: 10px 4px; border-radius: 10px; background: #f7f7f7; font-size: 13px; font-weight: 600; text-align: center; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--shortcut .slide-nav__link > span:not(.visually-hidden) { flex: 0 0 auto; text-align: center; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-i--clearance .tdh-nav-icon svg,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-i--sale .tdh-nav-icon svg { stroke: #e4322b; }

  /* section labels */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-label { margin: 20px 0 8px; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #6b7280; }

  /* Her / Him tiles */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--person { width: calc((100% - 8px) / 2); margin-bottom: 4px; }
  /* direct children only: the rows inside the Her / Him menus keep the normal menu style */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--person > .slide-nav__button > .slide-nav__link,
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--person > a.slide-nav__link { min-height: 54px; padding: 8px 14px; border: 1px solid #dcdcdc; border-radius: 10px; gap: 12px; font-weight: 600; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-g--person > .slide-nav__button > .slide-nav__link > element-icon { display: none; }

  /* discretion note */
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-note { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: #f7f7f7; font-size: 14px; color: #111212; }
  .tdh-nav-note svg { width: 22px; height: 22px; flex: 0 0 auto; }

  /* submenu: "View all" highlighted */
  header-drawer.site-header__mobile-nav .tdh-nav-viewall > a.slide-nav__link { display: flex; align-items: center; gap: 14px; margin: 8px 16px; padding: 12px 14px; border-radius: 10px; background: #fcf4f1; font-weight: 700; color: #111212; }
  header-drawer.site-header__mobile-nav .tdh-nav-viewall .tdh-nav-icon svg { stroke: #e4322b; }
  header-drawer.site-header__mobile-nav .tdh-nav-viewall > a > span:not(.visually-hidden) { flex: 1 1 auto; }
  .tdh-nav-viewall__chev { width: 18px; height: 18px; flex: 0 0 auto; }
}
@media (min-width: 769px) {
  .tdh-nav-search, .tdh-nav-label, .tdh-nav-note { display: none; }
}

/* Phone menu surface is white; the theme hides the other header icons while the menu is open */
@media (max-width: 768px) {
  header-drawer.site-header__mobile-nav { background: #fff; }
  .header-section.mobile-nav-open .site-nav__icons > toggle-search, header-section.mobile-nav-open .site-nav__icons > toggle-search { visibility: hidden; }
}

/* Phone menu: submenus use the same row rhythm as the main list */
@media (max-width: 768px) {
  header-drawer.site-header__mobile-nav .slide-nav__dropdown { padding: 4px 16px 16px; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown .slide-nav__dropdown { padding: 0 0 0 14px; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown > .slide-nav__item { margin: 0; padding: 0; border-bottom: 1px solid #ececec; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown .slide-nav__button { width: 100%; padding: 0; text-align: left; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown .slide-nav__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 8px 0 !important; font-size: 16px; color: #111212; text-align: left; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown .slide-nav__link--back { justify-content: flex-start; font-weight: 700; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown > .tdh-nav-viewall { border-bottom: 0; }
  header-drawer.site-header__mobile-nav .slide-nav__dropdown > .tdh-nav-viewall > a.slide-nav__link { justify-content: flex-start; margin: 6px 0 4px; padding: 12px 14px !important; }
}

/* ===== Peach circles removed: plain black outline icons, as in the menu ===== */
.tdh-dp__icon { width: 28px; height: 28px; border-radius: 0; background: none; }
.tdh-dp__icon svg { width: 26px; height: 26px; }
.tdh-dp svg { stroke: #111212; }
.tdh-dp__row { gap: 14px; }
.tdh-secure__label svg { stroke: #111212; }
.tdh-empty__icon { width: auto; height: auto; border-radius: 0; background: none; margin-bottom: 4px; }
.tdh-empty__icon svg { width: 44px; height: 44px; stroke: #111212; }
[data-tdh-filter] summary.element-accordion__toggle::before,
.collection-sidebar__group--sort summary.element-accordion__toggle::before { width: 22px; height: 22px; border-radius: 0; background-color: transparent; background-size: 22px 22px; margin-right: -4px; }
@media (max-width: 768px) {
  .tdh-dp__icon { width: 26px; height: 26px; }
  .tdh-dp__icon svg { width: 24px; height: 24px; }
}

/* ===== Phone header: fixed slots so nothing moves while the page loads ===== */
@media (max-width: 768px) {
  .site-header .site-nav__icons > toggle-menu,
  .site-header .site-nav__icons > is-land--toggle-menu,
  .site-header .site-nav__icons > toggle-search,
  .site-header .site-nav__icons > is-land--toggle-search,
  .site-header .site-nav__icons > shopify-account,
  .site-header .site-nav__icons > toggle-cart,
  .site-header .site-nav__icons > is-land--toggle-cart { flex: 0 0 46px; width: 46px; min-width: 46px; display: flex !important; align-items: center; justify-content: center; }
  .site-header .site-nav__icons > shopify-store,
  .site-header .site-nav__icons > is-land--shopify-store { flex: 0 0 0; width: 0; overflow: hidden; }
  .site-header .site-nav__icons > toggle-menu > *,
  .site-header .site-nav__icons > is-land--toggle-menu > *,
  .site-header .site-nav__icons > toggle-search > *,
  .site-header .site-nav__icons > is-land--toggle-search > *,
  .site-header .site-nav__icons > toggle-cart > *,
  .site-header .site-nav__icons > is-land--toggle-cart > * { padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
  .site-header .site-nav__icons > shopify-account::part(signed-out-avatar) { padding-left: 0; padding-right: 0; }
}

@media (max-width: 768px) {
  .tdh-nav-search predictive-search { position: relative; }
  .tdh-nav-search predictive-search .search__results,
  .tdh-nav-search predictive-search .results { position: static !important; left: auto !important; right: auto !important; top: auto !important; width: 100% !important; max-width: none !important; margin: 8px 0 0 !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; }
}

/* Sub-category squares: larger, with a left margin before the first one */
.new-grid[data-type='subcollections'] { padding-left: 16px !important; scroll-padding-left: 16px; }
.new-grid[data-type='subcollections'] > .grid-item { flex: 0 0 112px !important; width: 112px !important; min-width: 112px !important; max-width: 112px !important; }
.new-grid[data-type='subcollections'] .collection-item__title { font-size: 14px; }
@media (min-width: 769px) {
  .new-grid[data-type='subcollections'] { padding-left: 0 !important; }
  .new-grid[data-type='subcollections'] > .grid-item { flex: 0 0 150px !important; width: 150px !important; min-width: 150px !important; max-width: 150px !important; }
  .new-grid[data-type='subcollections'] .collection-item__title { font-size: 15px; }
}

/* Menu search: the field styling sits on the input wrap so the results can open below it in the flow */
@media (max-width: 768px) {
  .tdh-nav-search predictive-search form { display: block; height: auto; padding: 0; border: 0; border-radius: 0; background: none; }
  .tdh-nav-search predictive-search .search__input-wrap { height: 48px; padding: 0 6px 0 14px; border: 1px solid #dcdcdc; border-radius: 10px; background: #f7f7f7; }
  .tdh-nav-search predictive-search .search__results { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; word-break: normal; overflow: visible !important; }
}

/* Peach removed from the cart pills and the code offer boxes: neutral grey, black icons */
.tdh-cart-trust li { background: #f7f7f7; color: #111212; }
.tdh-cart-trust svg { color: #111212; stroke: #111212; }
.tdh-card-code__offer { background: #f7f7f7; border-color: #e6e6e6; }
.tdh-card-code__offer svg { stroke: #111212; }
.tdh-pb__offer { background: #f7f7f7; border-color: #e6e6e6; }
.tdh-pb__offer .tdh-pb__icon { stroke: #111212; }

/* Product page: tighter gap between related categories, the reviews block and "You may also like" */
.tdh-ptrust { margin-bottom: 8px; }
.template-product [id$="__1742333625209c8e52"] .index-section { padding-top: 12px; padding-bottom: 12px; margin: 0; }
.template-product [id$="__recommendations"] .index-section,
.template-product [id$="__recommendations"] > is-land > * { margin-top: 0; }

/* ===== Cart: free-gift tiers ===== */
.tdh-gifts { margin: 0 0 12px; padding: 14px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; color: #111212; }
.tdh-gifts svg { width: 16px; height: 16px; vertical-align: -3px; flex: 0 0 auto; }
.tdh-gifts__msg { margin: 0 0 8px; font-size: 15px; line-height: 1.35; text-align: center; }
.tdh-gifts__msg strong { font-weight: 800; }
.tdh-gifts__track { height: 8px; border-radius: 999px; background: #eee; overflow: hidden; }
.tdh-gifts__track span { display: block; height: 100%; border-radius: 999px; background: #111212; transition: width .4s ease; }
.tdh-gifts__scale { display: flex; justify-content: space-between; margin: 4px 0 0; font-size: 12px; color: #6b7280; }
.tdh-gifts__title { display: flex; align-items: center; gap: 6px; margin: 14px 0 8px; font-size: 15px; font-weight: 700; }
.tdh-gifts__list { display: flex; flex-direction: column; gap: 6px; }
.tdh-gift { display: flex; align-items: center; gap: 10px; padding: 8px; border: 1px solid #e6e6e6; border-radius: 10px; background: #fff; }
.tdh-gift + .tdh-gift, .tdh-gifts__list + .tdh-gift { margin-top: 6px; }
.tdh-gift.is-selected { border-color: #0b7a4b; background: #f1faf5; }
.tdh-gift.is-locked { background: #f7f7f7; border-style: dashed; }
.tdh-gift.is-locked .tdh-gift__thumb, .tdh-gift.is-locked .tdh-gift__name { opacity: .6; }
.tdh-gift__thumb { width: 48px; height: 48px; border-radius: 8px; background: #f7f7f7; overflow: hidden; flex: 0 0 auto; display: block; }
.tdh-gift__thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.tdh-gift__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tdh-gift__name { font-size: 13px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-gift__price { font-size: 12px; color: #6b7280; }
.tdh-gift__price strong { color: #0b7a4b; font-weight: 800; }
.tdh-gift__btn { display: inline-flex; align-items: center; gap: 5px; min-height: 38px; padding: 8px 14px; margin: 0; border: 0; border-radius: 8px; background: #111212; color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; flex: 0 0 auto; }
.tdh-gift.is-selected .tdh-gift__btn { background: #0b7a4b; }
.tdh-gift__lock { font-size: 12px; font-weight: 700; color: #111212; white-space: nowrap; flex: 0 0 auto; }
.tdh-gift-busy .tdh-gifts { opacity: .5; pointer-events: none; }
/* with gifts on, free shipping is a compact line under them instead of a second bar */
.tdh-gifts ~ .tdh-cart-progress { padding: 8px 12px; }
.tdh-gifts ~ .tdh-cart-progress .tdh-cart-progress__track { display: none; }
.tdh-gifts ~ .tdh-cart-progress .tdh-cart-progress__msg { margin: 0; font-size: 13px; }
/* the gift line itself */
.tdh-gift-line .cart__item-quantity, .tdh-gift-line .cart__item-remove { visibility: hidden; height: 0; overflow: hidden; }
.tdh-gift-tag { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; background: #f1faf5; color: #0b5a38; font-size: 12px; font-weight: 700; }
.tdh-gift-tag svg { width: 14px; height: 14px; }
.tdh-gift-line .tdh-cart-price__now.cart__price { color: #0b7a4b; }

/* Phone header while the cart is open: only the logo and the Close button, as the theme intends */
@media (max-width: 768px) {
  .cart-open .site-header .header-item--icons .site-nav__icons { display: none; }
  .cart-open .site-header .site-nav__close-cart { order: 9; margin-left: auto; }
  .cart-open .site-header .header-layout > .header-item--logo { justify-content: flex-start; }
}
/* Cart trust pills keep their text on one line; the row wraps as a whole if it must */
.tdh-cart-trust { flex-wrap: wrap; }
.tdh-cart-trust li { flex: 0 0 auto; white-space: nowrap; }

/* Gift line shows only "Free gift" and "Free": no discount name, no struck price maths */
.tdh-gift-line small.cart__discount, .tdh-gift-line .tdh-cart-price__each { display: none; }
.tdh-gifts__notice { margin: 0 0 10px; padding: 8px 10px; border-radius: 8px; background: #f7f7f7; font-size: 13px; line-height: 1.35; color: #111212; }

/* ===== Sitewide 20% offer bar and the "applied" strip ===== */
.tdh-code-strip { display: none; align-items: center; justify-content: center; gap: 6px; padding: 7px 12px; background: #f1faf5; color: #0b5a38; font-size: 13px; line-height: 1.3; text-align: center; }
.tdh-code-applied .tdh-code-strip { display: flex; }
.tdh-code-strip svg { width: 15px; height: 15px; flex: 0 0 auto; stroke-width: 2.2; }
.tdh-code-strip strong { font-weight: 800; }

.tdh-codebar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 55; display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 16px; border-radius: 14px; background: #111212; color: #fff; box-shadow: 0 8px 28px rgba(0, 0, 0, .28); transform: translateY(140%); opacity: 0; transition: transform .3s ease, opacity .3s ease; }
.tdh-codebar[hidden] { display: none; }
.tdh-codebar.is-in { transform: translateY(0); opacity: 1; }
.tdh-codebar__text { flex: 1 1 auto; min-width: 0; }
.tdh-codebar__title { margin: 0; font-size: 16px; font-weight: 800; line-height: 1.25; color: #fff; }
.tdh-codebar__sub { margin: 1px 0 0; font-size: 13px; line-height: 1.3; color: #cfcfcf; }
.tdh-codebar__apply { flex: 0 0 auto; min-height: 42px; padding: 9px 18px; margin: 0; border: 0; border-radius: 9px; background: #fff; color: #111212; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.tdh-codebar__apply[disabled] { opacity: .6; cursor: default; }
.tdh-codebar__close { flex: 0 0 auto; width: 36px; height: 36px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: none; color: #cfcfcf; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.tdh-codebar__close svg { width: 18px; height: 18px; }
/* sits above the phone sticky Add to cart bar, and out of the way of the open cart or menu */
body:has(#tdh-sticky-atc.is-visible) .tdh-codebar { bottom: 84px; }
body:has(.site-header__cart.is-active) .tdh-codebar,
body:has(.site-header__mobile-nav.is-active) .tdh-codebar { display: none; }
@media (min-width: 769px) {
  .tdh-codebar { left: 24px; right: auto; bottom: 24px; width: 400px; }
}
@media (prefers-reduced-motion: reduce) {
  .tdh-codebar { transition: none; }
}

/* Collection intro on phones: no fade over the text; it stops cleanly after three full lines */
@media (max-width: 768px) {
  .collection-intro2 .metafield-rich_text_field::after { display: none !important; }
  .collection-intro2 .metafield-rich_text_field:not(.is-expanded):not(.tdh-fits) { max-height: calc(3 * 1.6em); line-height: 1.6; }
}

/* Desktop collection grid: five cards per row (the default grid view) */
@media (min-width: 1200px) {
  .new-grid.product-grid.collection-grid[data-view='medium'] > .grid-item { flex: 0 0 20% !important; max-width: 20% !important; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-card-code__price { font-size: 19px; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-card-code__offer { font-size: 12px; padding: 4px 7px; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-badge { font-size: 11px; padding: 3px 8px 3px 6px; }
}

/* Tablet collection grid: four cards per row */
@media (min-width: 769px) and (max-width: 1199px) {
  .new-grid.product-grid.collection-grid[data-view='medium'] > .grid-item { flex: 0 0 25% !important; max-width: 25% !important; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-card-code__price { font-size: 18px; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-card-code__offer { font-size: 11.5px; padding: 4px 6px; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-badge { font-size: 11px; padding: 3px 8px 3px 6px; }
  .new-grid.product-grid.collection-grid[data-view='medium'] .tdh-card-atc__btn { font-size: 13px; }
}

/* ===== Desktop header: logo, wide search, Support + account + cart; category row below ===== */
@media (min-width: 769px) {
  /* top row */
  .site-header .header-layout { display: flex; align-items: center; gap: 32px; }
  .site-header .header-layout > .header-item--logo { order: 1; flex: 0 0 auto !important; max-width: none !important; justify-content: flex-start; margin: 0; }
  .site-header .header-layout > .header-item--search { order: 2; flex: 1 1 auto !important; max-width: none !important; min-width: 0; }
  .site-header .header-layout > .header-item--icons { order: 3; flex: 0 0 auto !important; max-width: none !important; }
  .site-header .header-item--search predictive-search { max-width: 820px; margin: 0 auto; transform: none !important; }
  .site-header .header-item--search predictive-search form { display: flex; align-items: center; width: 100%; max-width: none !important; height: 50px; padding: 0 8px 0 16px; border-radius: 8px; background: #fff; }
  .site-header .header-item--search .search__input-wrap { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; height: 100%; flex-direction: row-reverse; gap: 10px; }
  .site-header .header-item--search input.search__input { flex: 1 1 auto; min-width: 0; height: 46px; border: 0 !important; background: none !important; padding: 0 !important; font-size: 15px; color: #111212 !important; box-shadow: none !important; }
  .site-header .header-item--search input.search__input::placeholder { color: #6b7280; opacity: 1; }
  .site-header .header-item--search .element-button--search { color: #111212 !important; background: none !important; --element-icon-color: #111212; --element-icon-opacity: 1; padding: 0; }
  .site-header .header-item--search .element-button--close-search { color: #111212 !important; }
  .site-header .header-item--icons .site-nav { display: flex; align-items: center; gap: 4px; }
  .site-header .site-nav__icons .site-nav__icon-label { display: none; }

  /* Support dropdown */
  .tdh-hsupport { position: relative; margin-right: 18px; padding-right: 22px; border-right: 1px solid rgba(255, 255, 255, .28); }
  .tdh-hsupport__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 4px; margin: 0; border: 0; background: none; color: #fff !important; font: inherit; font-size: 15px; font-weight: 600; text-decoration: none !important; cursor: pointer; }
  .tdh-hsupport__btn svg { width: 15px; height: 15px; }
  .tdh-hsupport__menu { position: absolute; right: 22px; top: 100%; z-index: 40; min-width: 220px; margin: 0; padding: 8px; list-style: none; border-radius: 10px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s ease, transform .15s ease, visibility .15s; }
  .tdh-hsupport:hover .tdh-hsupport__menu,
  .tdh-hsupport:focus-within .tdh-hsupport__menu { opacity: 1; visibility: visible; transform: translateY(0); }
  .tdh-hsupport__menu li { margin: 0; }
  .tdh-hsupport__menu a { display: block; padding: 10px 12px; border-radius: 6px; color: #111212 !important; font-size: 15px; text-decoration: none !important; }
  .tdh-hsupport__menu a:hover { background: #f7f7f7; }

  /* category row */
  .site-header__element--sub[data-type='nav'] { border-top: 1px solid rgba(255, 255, 255, .14); }
  .site-header__element--sub[data-type='nav'] .page-width { text-align: left !important; }
  .site-navigation.site-navigation--below { display: flex !important; flex-wrap: nowrap; align-items: center; justify-content: flex-start !important; gap: 0; margin: 0 -14px; }
  .site-navigation--below > .tdh-dnav { order: 1; }
  .site-navigation--below > .tdh-dnav--shop-by { order: 2; }
  .site-navigation--below > .tdh-dnav--brands { order: 3; }
  .site-navigation--below > .tdh-dnav--best-sellers { order: 5; margin-left: 18px; padding-left: 18px; position: relative; }
  .site-navigation--below > .tdh-dnav--best-sellers::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 22px; margin-top: -11px; background: rgba(255, 255, 255, .35); }
  .site-navigation--below > .tdh-dnav--new,
  .site-navigation--below > .tdh-dnav--new-arrivals { order: 6; }
  .site-navigation--below > .tdh-dnav--clearance,
  .site-navigation--below > .tdh-dnav--sale { order: 7; }
  .site-navigation--below > .tdh-dnav--her,
  .site-navigation--below > .tdh-dnav--him,
  .site-navigation--below > .tdh-dnav--for-her,
  .site-navigation--below > .tdh-dnav--for-him,
  .site-navigation--below > .tdh-dnav--couples,
  .site-navigation--below > .tdh-dnav--support,
  .site-navigation--below > .tdh-dnav--help { display: none !important; }
  .site-header__element--sub[data-type='nav'] .site-navigation--below .site-nav__link { display: inline-flex; align-items: center; gap: 6px; padding: 18px 14px !important; font-size: 15px !important; font-weight: 600; letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap; }
  .site-navigation--below .site-nav__link .element-icon { width: 14px; height: 14px; }
  .site-navigation--below > .tdh-dnav--clearance > .site-nav__link,
  .site-navigation--below > .tdh-dnav--sale > .site-nav__link,
  .site-navigation--below > .tdh-dnav--clearance summary.site-nav__link { color: #ff5a5f !important; }

  /* Shop by: For her / For him */
  .tdh-dnav--shop-by .site-nav__dropdown { min-width: 240px; }
  .tdh-dnav-person > a { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px !important; font-size: 16px; font-weight: 600; }
  .tdh-dnav-person + .tdh-dnav-person > a { border-top: 1px solid #ececec; }
  .tdh-dnav-person__label { display: inline-flex; align-items: center; gap: 12px; }
  .tdh-dnav-person__label svg { width: 22px; height: 22px; }
}
/* keep the category row on one line on smaller desktops */
@media (min-width: 769px) and (max-width: 1399px) {
  .site-header__element--sub[data-type='nav'] .site-navigation--below .site-nav__link { padding: 16px 9px !important; font-size: 14px !important; gap: 4px; }
  .site-navigation.site-navigation--below { margin: 0 -9px; }
  .site-navigation--below > .tdh-dnav--best-sellers { margin-left: 10px; padding-left: 10px; }
  .site-header .header-layout { gap: 20px; }
}
@media (min-width: 769px) and (max-width: 1099px) {
  .site-header__element--sub[data-type='nav'] .site-navigation--below .site-nav__link { padding: 14px 6px !important; font-size: 13px !important; }
  .site-navigation--below .site-nav__link .element-icon { display: none; }
}
@media (min-width: 769px) {
  /* search icon leads the field; sub-menu arrows point sideways */
  .site-header .header-item--search .search__input-wrap { flex-direction: row; }
  .site-header .header-item--search .search__input-wrap .element-button--search { order: -1; }
  .tdh-dnav-person > a > element-icon { transform: rotate(-90deg); flex: 0 0 auto; }
  .tdh-dnav-person > a > element-icon svg { width: 16px; height: 16px; }
}
@media (min-width: 769px) {
  .site-header .header-item--search .search__input-wrap .element-button--search { position: static; transform: none; flex: 0 0 auto; }
}

/* ===== Typography carried over from the old theme (same DM Sans, same rhythm) =====
   Old theme: letter spacing 0.025em, body line height 1.6, heading line height 1.1. */
:root {
  --element-text-letter-spacing--body: 0.025em;
  --element-text-letter-spacing--heading: 0.025em;
  --element-text-line-height--body: 1.6;
  --element-text-line-height--heading: 1.1;
}
body { letter-spacing: 0.025em; line-height: 1.6; }
h1, h2, h3, h4, h5, h6, .element-text[class*='--heading'] { letter-spacing: 0.025em; line-height: 1.1; }
/* parts that set their own system font now follow the theme font */
.product-single__meta kit-variant-picker, .product-single__meta kit-variant-picker *,
.tdh-bc-desktop, .tdh-bc-desktop *, nav.breadcrumb, nav.breadcrumb * { font-family: inherit !important; }
/* Heading sizes at the old theme's scale (its page titles were 28px, not 48px) */
:root {
  --element-text-font-size--heading-2xl: 30px;
  --element-text-font-size--heading-xl: 24px;
  --element-text-font-size--heading-lg: 22px;
  --element-text-font-size--heading-md: 20px;
  --element-text-font-size--heading-sm: 18px;
  --element-text-font-size--heading-xs: 16px;
}
@media (min-width: 769px) {
  :root {
    --element-text-font-size--heading-2xl: 36px;
    --element-text-font-size--heading-xl: 28px;
    --element-text-font-size--heading-lg: 24px;
    --element-text-font-size--heading-md: 20px;
    --element-text-font-size--heading-sm: 18px;
    --element-text-font-size--heading-xs: 17px;
  }
}
h1.element-text, .section-header__title { line-height: 1.1; }

/* Desktop category row: centred, and without the decorative line that ran through the text */
@media (min-width: 769px) {
  .site-navigation.site-navigation--below { justify-content: center !important; margin-left: 0; margin-right: 0; }
  .site-navigation.site-navigation--below::before,
  .site-navigation.site-navigation--below::after { display: none !important; content: none !important; }
  .site-header__element--sub[data-type='nav'] .page-width { text-align: center !important; }
}

/* Product cards: no dead space between the price block and the Add to cart button */
.product-grid-item:has(.tdh-card-atc) .grid-item__meta { margin-bottom: 0; }
.product-grid-item .tdh-card-atc { margin-top: 0; }

/* Phone header: icons out at the screen edges, more room for a larger logo */
@media (max-width: 768px) {
  .site-header .site-header__element--top > .page-width { padding-left: 4px; padding-right: 4px; }
  .site-header .header-layout > .header-item--logo { padding: 0 4px; }
  .site-header .header-layout > .header-item--logo .site-header__logo,
  .site-header .header-layout > .header-item--logo a,
  .site-header .header-layout > .header-item--logo img { max-width: 100%; }
  .site-header .header-layout > .header-item--logo img { height: auto; }
}

/* Secure checkout is the last row of the delivery block */
.tdh-dp .tdh-secure { border-radius: 0; border-top: 1px solid #e6e6e6; background: #fff; padding: 11px 14px; }

/* Sub-category row: arrows instead of a scrollbar */
.tdh-subs { position: relative; }
.tdh-subs.is-empty { display: none; }
.tdh-subs > .new-grid[data-type='subcollections'] { scrollbar-width: none !important; -ms-overflow-style: none; padding-bottom: 0 !important; scroll-behavior: smooth; }
.tdh-subs > .new-grid[data-type='subcollections']::-webkit-scrollbar { display: none !important; height: 0 !important; }
.tdh-subs__arrow { position: absolute; top: 56px; z-index: 2; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 1px solid #e6e6e6; border-radius: 50%; background: #fff; color: #111212; box-shadow: 0 2px 8px rgba(0, 0, 0, .14); cursor: pointer; }
.tdh-subs__arrow[hidden] { display: none; }
.tdh-subs__arrow--prev { left: 4px; }
.tdh-subs__arrow--next { right: 4px; }
.tdh-subs__arrow svg { width: 18px; height: 18px; }
.tdh-subs__arrow:hover { background: #111212; color: #fff; border-color: #111212; }
@media (min-width: 769px) {
  .tdh-subs__arrow { top: 75px; width: 40px; height: 40px; }
  .tdh-subs__arrow--prev { left: -8px; }
  .tdh-subs__arrow--next { right: -8px; }
}

/* Phone footer: the four menus sit in two columns, two rows */
@media (max-width: 768px) {
  .site-footer .footer__blocks { flex-direction: row !important; flex-wrap: wrap !important; column-gap: 16px; }
  .site-footer .footer__blocks > .footer__block { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; min-width: 0; }
  .site-footer .footer__blocks > .footer__block--menu { flex: 0 0 calc(50% - 8px) !important; width: calc(50% - 8px) !important; max-width: calc(50% - 8px) !important; }
  .site-footer .footer__block--menu a { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
  .site-footer .footer__block--menu li { margin-bottom: 2px; }
}

/* Trusted by: Trustpilot on its own white pill so it stands out from the grey strip */
.tdh-ptrust__strip { padding: 18px 16px; }
.tdh-ptrust__logos { padding-bottom: 14px; border-bottom: 1px solid #e6e6e6; }
.tdh-ptrust__tp { display: flex; align-items: center; justify-content: center; margin: 14px auto 0; max-width: 340px; min-height: 48px; padding: 12px 14px; border: 1px solid #e6e6e6; border-radius: 999px; background: #fff; }
.tdh-ptrust__tp .trustpilot-widget { width: 100%; }
.tdh-ptrust__tp iframe { display: block; }

/* Category tiles (homepage collection lists): rounded squares, same as the sub-category row */
.collection-image-wrap.collection-image--circle,
.collection-image-wrap.collection-image--circle .collection-image,
.collection-image-wrap.collection-image--circle img,
.collection-image-wrap.collection-image--circle::before,
.collection-image-wrap.collection-image--circle::after { border-radius: 10px !important; }

/* Gifts are clickable: picture, name and "View" open the product in a new tab */
a.tdh-gift__thumb { cursor: pointer; }
a.tdh-gift__name { color: #111212 !important; text-decoration: none !important; }
a.tdh-gift__name:hover { text-decoration: underline !important; }
.tdh-gift__view { color: #111212 !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 2px; }

/* ===== Toy finder quiz (sections/tdh-quiz.liquid) ===== */
.tdh-quiz { padding-top: 20px; padding-bottom: 40px; }
.tdh-quiz__signup { display: none; }
.tdh-quiz__card { max-width: 560px; margin: 0 auto; border: 1px solid #e6e6e6; border-radius: 14px; background: #fff; color: #111212; overflow: hidden; }
.tdh-quiz__top { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 0 16px; background: #111212; color: #fff; font-size: 14px; }
.tdh-quiz__back { display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; margin: 0; border: 0; background: none; color: #fff; font: inherit; cursor: pointer; }
.tdh-quiz__back[hidden] { display: none; }
.tdh-quiz__back svg { width: 16px; height: 16px; }
.tdh-quiz__count { margin-left: auto; font-weight: 600; }
.tdh-quiz__bar { height: 4px; background: #eee; }
.tdh-quiz__bar i { display: block; height: 100%; width: 0; background: #d75d43; transition: width .3s ease; }
.tdh-quiz__body { display: flex; flex-direction: column; min-height: 440px; padding: 22px 18px 18px; }
.tdh-quiz__h { margin: 0 0 6px; font-size: 24px; font-weight: 800; line-height: 1.2; color: #111212; outline: none; }
.tdh-quiz__s { margin: 0 0 16px; font-size: 15px; line-height: 1.45; color: #5b6170; }
.tdh-quiz__s--ok { display: flex; align-items: center; gap: 6px; color: #0b7a4b; font-weight: 600; }
.tdh-quiz__s--ok svg { width: 16px; height: 16px; }
.tdh-quiz__points { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tdh-quiz__points li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px; border-radius: 10px; background: #f7f7f7; font-size: 15px; font-weight: 600; }
.tdh-quiz__points svg { width: 22px; height: 22px; flex: 0 0 auto; }
.tdh-quiz__opts { display: flex; flex-direction: column; gap: 8px; }
.tdh-quiz__opt { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 10px 14px; margin: 0; border: 1px solid #dcdcdc; border-radius: 10px; background: #fff; color: #111212; font: inherit; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; }
.tdh-quiz__opt:hover { border-color: #111212; }
.tdh-quiz__opt.is-on { border-color: #111212; background: #f7f7f7; box-shadow: inset 0 0 0 1px #111212; }
.tdh-quiz__opt-icon { display: flex; flex: 0 0 auto; }
.tdh-quiz__opt-icon svg { width: 24px; height: 24px; }
.tdh-quiz__opt-text { flex: 1 1 auto; min-width: 0; }
.tdh-quiz__opt-text small { display: block; margin-top: 1px; font-size: 13px; font-weight: 400; color: #5b6170; }
.tdh-quiz__tick { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: 1px solid #c9c9c9; border-radius: 6px; flex: 0 0 auto; }
.tdh-quiz__tick svg { width: 14px; height: 14px; opacity: 0; }
.tdh-quiz__opt.is-on .tdh-quiz__tick { background: #111212; border-color: #111212; color: #fff; }
.tdh-quiz__opt.is-on .tdh-quiz__tick svg { opacity: 1; }
.tdh-quiz__err { min-height: 20px; margin: 8px 0; font-size: 14px; color: #b3261e; }
.tdh-quiz__err:empty { margin: 4px 0; min-height: 0; }
.tdh-quiz__cta { display: block; width: 100%; min-height: 52px; margin: auto 0 0; padding: 14px; border: 0; border-radius: 10px; background: #d75d43; color: #fff !important; font: inherit; font-size: 17px; font-weight: 700; text-align: center; text-decoration: none !important; cursor: pointer; }
.tdh-quiz__cta:hover { background: #c14e36; }
.tdh-quiz__link { display: block; width: 100%; margin: 0; padding: 12px 0 0; border: 0; background: none; color: #5b6170 !important; font: inherit; font-size: 14px; text-align: center; text-decoration: underline !important; cursor: pointer; }
.tdh-quiz__link[hidden] { display: none; }
.tdh-quiz__label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; }
.tdh-quiz__input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #c9c9c9; border-radius: 10px; background: #fff; color: #111212; font-size: 16px; }
.tdh-quiz__code { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 14px; padding: 10px 12px; border: 1px dashed #0b7a4b; border-radius: 10px; background: #f1faf5; color: #0b5a38; font-size: 15px; font-weight: 700; }
.tdh-quiz__code button { min-height: 38px; padding: 8px 14px; margin: 0; border: 0; border-radius: 8px; background: #0b7a4b; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.tdh-quiz__picks { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tdh-quiz__pick { display: flex; align-items: center; gap: 12px; margin: 0; padding: 10px; border: 1px solid #e6e6e6; border-radius: 10px; }
.tdh-quiz__pick-img { display: block; width: 84px; height: 84px; flex: 0 0 auto; border-radius: 8px; background: #f7f7f7; overflow: hidden; }
.tdh-quiz__pick-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.tdh-quiz__pick-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.tdh-quiz__tag { padding: 2px 9px; border-radius: 999px; background: #111212; color: #fff; font-size: 12px; font-weight: 700; }
.tdh-quiz__pick-name { color: #111212 !important; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-quiz__price { font-size: 13px; color: #5b6170; }
.tdh-quiz__price s { color: #8a8f99; }
.tdh-quiz__now { font-size: 17px; font-weight: 800; color: #0b7a4b; }
.tdh-quiz__with { display: block; font-size: 12px; font-weight: 600; color: #0b7a4b; }
.tdh-quiz__add { flex: 0 0 auto; min-width: 64px; min-height: 40px; padding: 8px 12px; margin: 0; border: 0; border-radius: 8px; background: #111212; color: #fff !important; font: inherit; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none !important; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.tdh-quiz .tdh-quiz__picks + .tdh-quiz__err + .tdh-quiz__cta { margin-top: 10px; }
@media (min-width: 769px) {
  .tdh-quiz { padding-top: 36px; padding-bottom: 60px; }
  .tdh-quiz__body { padding: 28px 28px 24px; }
  .tdh-quiz__h { font-size: 28px; }
}
.tdh-quiz__tag { white-space: nowrap; }

/* Toy finder: lube add-on row under the picks */
.tdh-quiz__pick--addon { margin-top: 8px; border-style: dashed; background: #f7f7f7; }
.tdh-quiz__pick--addon .tdh-quiz__pick-img { width: 60px; height: 60px; background: #fff; display: flex; align-items: center; justify-content: center; }
.tdh-quiz__addon-label { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: #5b6170; }
.tdh-quiz__addon-label svg { width: 14px; height: 14px; }
.tdh-quiz .tdh-quiz__err + .tdh-quiz__cta { margin-top: 10px; }

/* Toy finder: entry points */
.tdh-quizbar { display: flex; align-items: center; gap: 14px; margin: 18px 0; padding: 14px 16px; border-radius: 12px; background: #111212; color: #fff !important; text-decoration: none !important; }
.tdh-quizbar__icon { display: flex; flex: 0 0 auto; }
.tdh-quizbar__icon svg { width: 30px; height: 30px; }
.tdh-quizbar__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.35; color: #d9d9d9; }
.tdh-quizbar__text strong { font-size: 18px; font-weight: 800; color: #fff; }
.tdh-quizbar__btn { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 11px 16px; border-radius: 8px; background: #d75d43; color: #fff; font-size: 15px; font-weight: 700; white-space: nowrap; }
.tdh-quizbar__btn svg { width: 16px; height: 16px; }
.tdh-quizbar:hover .tdh-quizbar__btn { background: #c14e36; }
@media (max-width: 768px) {
  .tdh-quizbar { flex-wrap: wrap; gap: 10px 12px; margin: 14px 0; }
  .tdh-quizbar__icon svg { width: 26px; height: 26px; }
  .tdh-quizbar__text strong { font-size: 16px; }
  .tdh-quizbar__btn { width: 100%; justify-content: center; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-quiz { order: 15; width: 100%; margin: 8px 0 4px; border: 0; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-quiz > a.slide-nav__link { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 14px; border-radius: 10px; background: #111212; color: #fff !important; font-weight: 700; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-quiz svg { width: 22px; height: 22px; flex: 0 0 auto; color: #fff; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-quiz .slide-nav__link > span { flex: 1 1 auto; text-align: left; }
  header-drawer.site-header__mobile-nav .slide-nav > li.tdh-nav-quiz small { display: block; font-size: 12px; font-weight: 400; color: #d9d9d9; }
}
.tdh-empty__quiz { display: block; margin-top: 14px; font-size: 14px; color: #111212 !important; text-decoration: underline !important; text-underline-offset: 2px; }

/* Cart page on phones: the three columns fit the screen (the line total was pushed past the right edge) */
@media (max-width: 768px) {
  #CartPageForm .cart__item { grid-template-columns: 96px minmax(0, 1fr) auto !important; column-gap: 12px !important; }
  #CartPageForm .cart__item .cart__image { width: 96px; max-width: 96px; }
  #CartPageForm .cart__item .cart__image img { width: 100%; height: auto; }
  #CartPageForm .cart__item-title, #CartPageForm .cart__item-name { min-width: 0; overflow-wrap: anywhere; }
}

/* ===== Desktop footer structure =====
   Left column: logo, contact + social, Follow on Shop. Four menu columns beside it.
   Bottom strip: payment methods on the left, currency on the right. */
@media (min-width: 769px) {
  .site-footer .footer__blocks { display: grid !important; grid-template-columns: minmax(200px, 1.35fr) repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto 1fr auto; column-gap: 32px; row-gap: 22px; max-width: 1240px; margin: 0 auto; align-items: start; justify-content: initial; }
  .site-footer .footer__blocks > .footer__block { width: auto !important; max-width: none !important; min-width: 0; flex: none !important; margin: 0 !important; padding: 0 !important; }
  .site-footer .footer__block--image { grid-column: 1; grid-row: 1; }
  .site-footer .footer__block--image .image-wrap { max-width: 230px; }
  .site-footer .footer__block--contact { grid-column: 1; grid-row: 2; }
  .site-footer .footer__block--follow_shop_cta { grid-column: 1; grid-row: 3; }
  .site-footer .footer__block--menu { grid-row: 1 / span 3; }
  .site-footer .footer__block--contact .footer__blocks--mobile { display: flex; flex-direction: column; gap: 18px; }
  .site-footer .footer__block--contact .footer__title { margin-bottom: 8px; }

  .site-footer .footer__block--payment { grid-column: 1 / -1; grid-row: 4; padding-top: 22px !important; border-top: 1px solid rgba(255, 255, 255, .16); }
  .site-footer .footer__block--payment .footer__blocks--mobile { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .site-footer .footer__block--payment .footer__block--mobile { display: flex; align-items: center; gap: 14px; margin: 0; }
  .site-footer .footer__block--payment .footer__title { margin: 0 !important; white-space: nowrap; }
  .site-footer .footer__block--payment .payment-icons { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
  .site-footer .footer__block--payment .payment-icons li { margin: 0; }
  .site-footer .footer__block--payment .multi-selectors { display: flex; align-items: center; margin: 0; }
  .site-footer .footer__block--payment .multi-selectors__item { display: flex; align-items: center; gap: 14px; margin: 0; }
}

/* Collection pages: no empty band between the title (or intro) and the grid.
   The header and the grid section each brought their own padding, which stacked up to ~95px when there is no intro. */
[id$="__main-collection"] > section-main-content { padding-top: 0 !important; }
[id$="__collection-header"] .page-content--top { padding-bottom: 14px !important; }
@media (min-width: 769px) {
  [id$="__collection-header"] .page-content--top { padding-bottom: 20px !important; }
}

/* Rewards on the product page: money-back line under the price, member row in the delivery block */
.tdh-earn { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px 12px; border-radius: 10px; background: #f1faf5; color: #0b5a38; }
.tdh-earn[hidden], .tdh-dp__row[hidden] { display: none !important; }
.tdh-earn__icon { display: flex; flex: 0 0 auto; }
.tdh-earn__icon svg { width: 22px; height: 22px; }
.tdh-earn__text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.tdh-earn__title { font-size: 15px; line-height: 1.3; color: #0b5a38; }
.tdh-earn__title strong { font-weight: 800; }
.tdh-earn__sub { font-size: 13px; line-height: 1.3; color: #3d6b57; }
.tdh-earn__sub a { color: #0b5a38 !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 2px; }
/* while the rewards line is hidden its block takes no space in the buying column */
.product-single__meta > div:has(> [data-tdh-earn][hidden]) { display: none; }

/* Phone filter panel: very light grey surface so it reads as its own section over the white product grid */
.collection-mobile-filters .filter-wrapper { background: #f8f8f8 !important; box-shadow: 0 10px 22px rgba(0, 0, 0, .14) !important; border-bottom: 1px solid #e0e0e0; }
.collection-mobile-filters .filter-wrapper .element-accordion,
.collection-mobile-filters .filter-wrapper .collection-sidebar__group { border-color: #e6e6e6 !important; }
/* an opened group keeps the panel colour; only the checkboxes themselves are white */
.collection-mobile-filters .filter-wrapper details[open] { background: transparent; }

/* Filter icons for the metafield filters (from the supplied filter icon set) */
[data-tdh-filter*="target"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%227%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M12%202v3m0%2014v3M2%2012h3m14%200h3%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="texture"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M6%208q1.5-3%203%200t3%200t3%200t3%200M6%2012q1.5-3%203%200t3%200t3%200t3%200M6%2016q1.5-3%203%200t3%200t3%200t3%200%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="vibrat"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%229%22%20y%3D%226%22%20width%3D%226%22%20height%3D%2212%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M6%208a7%207%200%200%200%200%208m12-8a7%207%200%200%201%200%208M3%205a12%2012%200%200%200%200%2014M21%205a12%2012%200%200%201%200%2014%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="flared"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203v8c0%203-2%205-6%207v3h18v-3c-4-2-6-4-6-7V3M9%203h6M3%2018h18%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="harness"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207H3V3h18v4h-6M4%207l3%2013h3l1-5m9-8-3%2013h-3l-1-5%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E"); }
[data-tdh-filter*="width"] summary.element-accordion__toggle::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23111212%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M3%2012h18m-5-3%203%203-3%203%20M8%209l-3%203%203%203%22%2F%3E%3C%2Fsvg%3E"); }

/* "Back to <collection>" at the foot of product pages: plain white band, clean outlined button
   (was a peach band with a wave pattern running over the button) */
.return-section { margin-top: 0 !important; padding: 8px 0 36px !important; background: #fff !important; }
.return-section .scheme-wave { display: none !important; }
.return-section .return-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px !important; border: 1px solid #111212 !important; border-radius: 8px !important; background: #fff !important; color: #111212 !important; font-weight: 600; text-decoration: none !important; }
.return-section .return-link .element-icon { margin-right: 0; }
.return-section .return-link:hover { background: #111212 !important; color: #fff !important; }
@media (max-width: 768px) {
  .return-section { padding: 4px 0 28px !important; }
  .return-section .return-link { width: 100%; }
}

/* ===== "How big is it?" (sections/tdh-size-visual.liquid) ===== */
.tdh-size { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: 820px; margin: 8px auto 28px; padding: 18px; border: 1px solid #e6e6e6; border-radius: 14px; background: #fff; color: #111212; }
.tdh-size__art { display: flex; align-items: center; justify-content: center; padding: 10px; border-radius: 10px; background: #f7f7f7; }
.tdh-size__art svg { display: block; width: 100%; max-width: 260px; height: auto; max-height: 300px; overflow: visible; }
.tdh-size__guides path { fill: none; stroke: #6b7280; stroke-width: 1.3; stroke-linecap: round; }
.tdh-size__guides text { fill: #111212; font-size: 13px; font-weight: 700; font-family: inherit; }
.tdh-size__title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 20px; font-weight: 800; line-height: 1.2; }
.tdh-size__title svg { width: 22px; height: 22px; flex: 0 0 auto; }
.tdh-size__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; margin: 0 0 16px; }
.tdh-size__stats > div { display: flex; flex-direction: column; padding: 10px 8px; border-radius: 10px; background: #f7f7f7; text-align: center; }
.tdh-size__stats dd { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.2; }
.tdh-size__stats dt { font-size: 12px; font-weight: 400; color: #5b6170; }
.tdh-size__label { margin: 0 0 8px; font-size: 14px; font-weight: 700; }
.tdh-size__scale { margin: 0 0 16px; }
.tdh-size__scale[hidden], .tdh-size__rank[hidden] { display: none; }
.tdh-size__bars { display: flex; flex-direction: column; gap: 6px; }
.tdh-size__bar { display: grid; grid-template-columns: 70px minmax(0, 1fr) 52px; align-items: center; gap: 8px; font-size: 13px; color: #5b6170; }
.tdh-size__bar i { display: block; height: 12px; border-radius: 999px; background: #cfcfcf; width: 0; }
.tdh-size__bar.is-toy { color: #111212; font-weight: 700; }
.tdh-size__bar.is-toy i { background: #e71936; }
.tdh-size__bar b { font-weight: 700; color: #111212; text-align: right; }
.tdh-size__track { position: relative; height: 8px; margin: 14px 0 6px; border-radius: 999px; background: #eee; }
.tdh-size__track i { position: absolute; top: -5px; width: 18px; height: 18px; border: 3px solid #fff; border-radius: 50%; background: #e71936; box-shadow: 0 0 0 1px #e71936; transform: translateX(-50%); }
.tdh-size__ticks { display: flex; justify-content: space-between; font-size: 12px; color: #5b6170; }
.tdh-size__say { margin: 10px 0 0; padding: 9px 12px; border-radius: 8px; background: #f1faf5; color: #0b5a38; font-size: 14px; font-weight: 600; }
.tdh-size__note { margin: 14px 0 0; font-size: 12px; line-height: 1.4; color: #6b7280; }
/* one-time reveal when the block scrolls into view */
.tdh-size .tdh-ink { clip-path: inset(100% 0 0 0); }
.tdh-size .tdh-size__guides { opacity: 0; }
.tdh-size .tdh-size__bar i { transform: scaleX(0); transform-origin: left center; }
.tdh-size.is-in .tdh-ink { animation: tdhSizeReveal 1.1s cubic-bezier(.2, .7, .3, 1) both; }
.tdh-size.is-in .tdh-size__guides { animation: tdhSizeFade .6s ease-out .75s both; }
.tdh-size.is-in .tdh-size__bar i { animation: tdhSizeBar .7s cubic-bezier(.2, .7, .3, 1) .4s both; }
@keyframes tdhSizeReveal { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes tdhSizeFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tdhSizeBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .tdh-size .tdh-ink { clip-path: none; animation: none !important; }
  .tdh-size .tdh-size__guides { opacity: 1; animation: none !important; }
  .tdh-size .tdh-size__bar i { transform: none; animation: none !important; }
}
@media (min-width: 769px) {
  .tdh-size { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 28px; padding: 24px; align-items: center; }
  .tdh-size__art { align-self: stretch; }
}
/* link under the price */
.tdh-size-link { display: inline-flex; align-items: center; gap: 7px; color: #111212 !important; font-size: 14px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.tdh-size-link[hidden] { display: none !important; }
.tdh-size-link svg { width: 18px; height: 18px; }
.product-single__meta > div:has(> [data-tdh-size-link][hidden]) { display: none; }

/* Size block on desktop: full content width like the description below it, with air above */
@media (min-width: 769px) {
  .tdh-size { max-width: none; margin: 40px 0 12px; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); }
}
@media (min-width: 1100px) {
  .tdh-size { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 36px; padding: 28px; }
  .tdh-size__info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; align-items: start; }
  .tdh-size__title { grid-column: 1 / -1; }
  .tdh-size__stats { grid-column: 1; grid-row: 2; }
  .tdh-size__scale { grid-column: 1; grid-row: 3; margin-bottom: 0; }
  .tdh-size__rank { grid-column: 2; grid-row: 2 / span 2; }
  .tdh-size__note { grid-column: 1 / -1; grid-row: 4; }
  .tdh-size__track { margin-top: 18px; }
}
.tdh-size[hidden] { display: none !important; }

/* Size comparison line: three visible zones, each label centred under its zone, so the dot and the wording agree */
.tdh-size__track { background: linear-gradient(to right, #eee 0 33%, #fff 33% calc(33% + 3px), #e2e2e2 calc(33% + 3px) 67%, #fff 67% calc(67% + 3px), #eee calc(67% + 3px) 100%); }
.tdh-size__ticks { display: grid; grid-template-columns: 33fr 34fr 33fr; }
.tdh-size__ticks span { text-align: center; }

/* Size drawing with insertable length: pale toy, insertable part fills in from the tip to a dashed line */
.tdh-size .has-ins .tdh-ink { opacity: .32; }
.tdh-size .tdh-size__fill { clip-path: inset(0 0 100% 0); }
.tdh-size .tdh-size__dash { stroke: #111212 !important; stroke-dasharray: 4 3; }
.tdh-size .tdh-size__guides text.tdh-size__small { font-size: 11px; font-weight: 400; fill: #5b6170; }
.tdh-size.is-in .tdh-size__fill { animation: tdhSizeFill 1.2s cubic-bezier(.3, .7, .3, 1) 1s both; }
.tdh-size.is-in .tdh-size__mark { animation: tdhSizeFade .4s ease-out 2.1s both; }
@keyframes tdhSizeFill { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@media (prefers-reduced-motion: reduce) {
  .tdh-size .tdh-size__fill { clip-path: none; animation: none !important; }
  .tdh-size .tdh-size__mark { opacity: 1; animation: none !important; }
}

/* Soda can beside the size drawing (true to scale with the toy's length) */
.tdh-size__art svg { max-width: 330px; }
.tdh-size .tdh-size__can { opacity: 0; }
.tdh-size__can rect { fill: #fff; stroke: #9aa0ab; stroke-width: 1.4; }
.tdh-size__can path { fill: none; stroke: #9aa0ab; stroke-width: 1.2; }
.tdh-size__can ellipse { fill: none; stroke: #9aa0ab; stroke-width: 1; }
.tdh-size__can text { fill: #5b6170; font-size: 11px; font-weight: 600; font-family: inherit; }
.tdh-size__can text.tdh-size__can-h { fill: #8a8f99; font-weight: 400; }
.tdh-size.is-in .tdh-size__can { animation: tdhSizeFade .6s ease-out .75s both; }
@media (prefers-reduced-motion: reduce) { .tdh-size .tdh-size__can { opacity: 1; animation: none !important; } }

/* Category tiles (homepage lists and the sub-category row): a clearer grey tile, and product photos with a
   white background blend into it instead of showing as a white box */
.collection-image-wrap.collection-image--circle,
.new-grid[data-type='subcollections'] .collection-image-wrap,
.collection-image-wrap.collection-image--circle .collection-image,
.new-grid[data-type='subcollections'] .collection-image { background-color: #f7f7f7 !important; }
.collection-image-wrap.collection-image--circle img,
.new-grid[data-type='subcollections'] .collection-image img { mix-blend-mode: multiply; }

/* Soda can drawn as a can: aluminium body, darker label band, lid and opening */
.tdh-size__can .tdh-size__can-body { fill: #eef0f3; stroke: #8f96a3; stroke-width: 1.4; stroke-linejoin: round; }
.tdh-size__can rect.tdh-size__can-band { fill: #d3d8e0; stroke: none; }
.tdh-size__can .tdh-size__can-line { fill: none; stroke: #8f96a3; stroke-width: 1; }
.tdh-size__can ellipse.tdh-size__can-lid { fill: #f8f9fa; stroke: #8f96a3; stroke-width: 1.2; }
.tdh-size__can ellipse.tdh-size__can-tab { fill: #aab0bb; stroke: none; }
.tdh-size__can text.tdh-size__can-h { fill: #4b5261; font-weight: 600; }

/* ===== Clearance page (snippets/tdh-clearance.liquid) ===== */
.tdh-clr { color: #111212; padding-bottom: 28px; }
.tdh-clr__hero { padding: 16px; border-radius: 12px; background: #111212; color: #fff; }
.tdh-clr__lead { margin: 0; font-size: 15px; line-height: 1.45; color: #e3e3e3; }
.tdh-clr__facts { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; }
.tdh-clr__facts li { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 7px 12px; border-radius: 8px; background: #2a2b2b; font-size: 13px; font-weight: 600; color: #fff; }
.tdh-clr__facts svg { width: 16px; height: 16px; flex: 0 0 auto; color: #fff; }
.tdh-clr__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
.tdh-clr__chip { min-height: 38px; padding: 8px 14px; margin: 0; border: 1px solid #dcdcdc; border-radius: 999px; background: #fff; color: #111212; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.tdh-clr__chip:hover { border-color: #111212; }
.tdh-clr__chip.is-on { background: #111212; border-color: #111212; color: #fff; }
.tdh-clr__bar { display: flex; justify-content: space-between; gap: 12px; margin: 0 2px 10px; font-size: 13px; color: #5b6170; }
.tdh-clr__grid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; }
.tdh-clr__card { display: flex; flex-direction: column; margin: 0; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; overflow: hidden; }
.tdh-clr__img { position: relative; display: block; aspect-ratio: 1; background: #ebebeb; }
.tdh-clr__img img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.tdh-clr__off { position: absolute; top: 8px; left: 8px; padding: 4px 10px; border-radius: 999px; background: #d75d43; color: #fff; font-size: 13px; font-weight: 800; line-height: 1.2; }
.tdh-clr__body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 4px; padding: 10px; }
.tdh-clr__why { display: inline-flex; align-items: center; align-self: flex-start; gap: 5px; padding: 3px 9px; border-radius: 999px; background: #f7f7f7; color: #5b6170; font-size: 12px; font-weight: 600; }
.tdh-clr__why svg { width: 13px; height: 13px; flex: 0 0 auto; }
.tdh-clr__name { color: #111212 !important; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-clr__price { font-size: 13px; color: #6b7280; }
.tdh-clr__price strong { font-size: 19px; font-weight: 800; color: #0b7a4b; }
.tdh-clr__price s { color: #8a8f99; }
.tdh-clr__code { font-size: 12px; font-weight: 600; color: #0b7a4b; }
.tdh-clr__left { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; color: #8a5a00; white-space: nowrap; }
.tdh-clr__meter { flex: 1 1 auto; height: 4px; border-radius: 999px; background: #eee; overflow: hidden; }
.tdh-clr__meter i { display: block; height: 100%; border-radius: 999px; background: #d75d43; }
.tdh-clr__add { display: block; width: 100%; min-height: 42px; margin: auto 0 0; padding: 10px 8px; border: 0; border-radius: 8px; background: #111212; color: #fff !important; font: inherit; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none !important; cursor: pointer; }
.tdh-clr__body > .tdh-clr__add { margin-top: 8px; }
.tdh-clr__add:hover { background: #333; }
.tdh-clr__err { margin: 10px 0; font-size: 14px; color: #b3261e; }
.tdh-clr__err:empty { display: none; }
.tdh-clr__err button { margin-left: 6px; padding: 4px 10px; border: 1px solid #b3261e; border-radius: 6px; background: #fff; color: #b3261e; font: inherit; cursor: pointer; }
.tdh-clr__more { display: block; min-width: 220px; min-height: 48px; margin: 18px auto 0; padding: 12px 24px; border: 1px solid #111212; border-radius: 8px; background: #fff; color: #111212; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.tdh-clr__more[hidden] { display: none; }
.tdh-clr__more:hover { background: #111212; color: #fff; }
@media (min-width: 769px) {
  .tdh-clr__hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 24px; }
  .tdh-clr__lead { font-size: 17px; }
  .tdh-clr__facts { margin: 0; flex-wrap: nowrap; }
  .tdh-clr__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
}
@media (min-width: 1200px) {
  .tdh-clr__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.tdh-clr__chip[hidden] { display: none; }
/* clearance card pictures: always a square, whatever the photo's shape */
.tdh-clr__img { overflow: hidden; height: 0; padding-bottom: 100%; aspect-ratio: auto; }
.tdh-clr__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
/* clearance cards: the button sits at the bottom of every card, so buttons line up across a row */
.tdh-clr__card { height: 100%; }
.tdh-clr__body > .tdh-clr__add { margin-top: auto; }
.tdh-clr__body > :nth-last-child(2) { margin-bottom: 8px; }

/* ===== Product cards: picture on a grey panel, text and button on white (same look as the clearance cards) ===== */
.grid-item.grid-product::after { display: none !important; }
.grid-item.grid-product .product-grid-item { height: 100%; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; overflow: hidden; }
.grid-item.grid-product .grid-item__content { height: 100%; display: flex; flex-direction: column; background: #fff; }
.grid-item.grid-product .grid-item__link { border-radius: 0; flex: 1 1 auto; }
.grid-item.grid-product .grid-product__image-wrap { width: 100% !important; max-width: none !important; margin: 0 !important; background: #ebebeb; border-radius: 0; }
.grid-item.grid-product .grid-product__image-wrap .grid__image-ratio,
.grid-item.grid-product .grid-product__image-wrap .image-wrap,
.grid-item.grid-product .grid-product__image-wrap .grid-product__secondary-image { background: transparent !important; }
.grid-item.grid-product .grid-product__image-wrap img { mix-blend-mode: multiply; }
.grid-item.grid-product .grid-item__meta { padding: 10px 10px 0 !important; margin-top: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: auto !important; }
.grid-item.grid-product .tdh-card-atc { padding: 8px 10px 10px; }
.grid-item.grid-product .tdh-card-atc__btn { border-radius: 8px; }
/* the button is pinned to the bottom of the card, so buttons line up across a row */
.grid-item.grid-product .grid-item__content > .layout-stack,
.grid-item.grid-product .grid-item__content > [class*='layout-stack'] { display: contents; }
.grid-item.grid-product .tdh-card-atc { margin-top: auto !important; }
/* "Choose options" stays on one line now that the button sits inside the card padding */
.grid-item.grid-product .tdh-card-atc__btn { white-space: nowrap; padding-left: 6px; padding-right: 6px; }
@media (max-width: 480px) { .grid-item.grid-product .tdh-card-atc__btn { font-size: 14px; } }

/* No grey fade under the filter bar at the top of product grids */
.collection-filter__inner::after { display: none !important; background: none !important; }

/* Product card pictures: background back to how it was before the card restyle.
   No grey panel and no blending; the same faint tint the theme used to lay over the whole card
   now sits over the picture only, so the text below stays on white. */
.grid-item.grid-product .grid-product__image-wrap { position: relative; background: #fff; }
.grid-item.grid-product .grid-product__image-wrap img { mix-blend-mode: normal; }
.grid-item.grid-product .grid-product__image-wrap::after { content: ''; position: absolute; inset: 0; background: #000; opacity: 0.027; pointer-events: none; z-index: 1; }
.grid-item.grid-product .grid-product__image-wrap .tdh-badges { z-index: 2; }

/* ===== Customer hub (sections/tdh-hub.liquid) ===== */
.tdh-hub { max-width: 760px; padding-top: 18px; padding-bottom: 44px; color: #111212; }
.tdh-hub__top { padding: 18px; border-radius: 14px; background: #111212; color: #fff; }
.tdh-hub__h1 { margin: 0 0 2px; font-size: 24px; font-weight: 800; line-height: 1.2; color: #fff; }
.tdh-hub__lead { margin: 0; font-size: 15px; color: #e3e3e3; }
.tdh-hub__links { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; padding: 0; }
.tdh-hub__links li { margin: 0; }
.tdh-hub__links a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 68px; padding: 8px 6px; border-radius: 10px; background: #2a2b2b; color: #fff !important; font-size: 13px; font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none !important; }
.tdh-hub__links a:hover { background: #3a3b3b; }
.tdh-hub__links svg { width: 20px; height: 20px; color: #fff; }
.tdh-hub__cta { display: block; min-height: 50px; margin: 14px 0 8px; padding: 13px; border-radius: 10px; background: #d75d43; color: #fff !important; font-size: 17px; font-weight: 700; text-align: center; text-decoration: none !important; }
.tdh-hub__cta:hover { background: #c14e36; }
.tdh-hub__top .tdh-hub__small { color: #d9d9d9; text-align: center; }
.tdh-hub__small { margin: 0; font-size: 12px; line-height: 1.4; color: #6b7280; }
.tdh-hub__sec { margin: 22px 0 0; }
.tdh-hub__h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 10px; font-size: 18px; font-weight: 800; line-height: 1.2; }
.tdh-hub__h2 span { font-size: 13px; font-weight: 400; color: #6b7280; }
.tdh-hub__list { list-style: none; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
.tdh-hub__row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0; padding: 10px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; }
.tdh-hub__row--low { border-color: #cdeadd; background: #f1faf5; }
.tdh-hub__img { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; flex: 0 0 auto; border-radius: 8px; background: #f7f7f7; overflow: hidden; }
.tdh-hub__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tdh-hub__img--icon svg { width: 26px; height: 26px; }
.tdh-hub__info { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tdh-hub__name { color: #111212 !important; font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-hub__meta { font-size: 13px; color: #6b7280; }
.tdh-hub__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 0 0 auto; min-height: 40px; padding: 8px 14px; margin: 0; border: 1px solid #111212; border-radius: 8px; background: #111212; color: #fff !important; font: inherit; font-size: 14px; font-weight: 700; text-decoration: none !important; white-space: nowrap; cursor: pointer; }
.tdh-hub__btn svg { width: 16px; height: 16px; }
.tdh-hub__btn--line { background: #fff; color: #111212 !important; }
.tdh-hub__btn--line:hover { background: #111212; color: #fff !important; }
.tdh-hub__btn--wide { display: flex; width: 100%; }
.tdh-hub__care { flex: 0 0 100%; padding: 12px; border-radius: 10px; background: #f7f7f7; }
.tdh-hub__care[hidden] { display: none; }
.tdh-hub__care-name { margin: 0 0 8px; font-size: 14px; font-weight: 800; }
.tdh-hub__care ul { list-style: none; display: flex; flex-direction: column; gap: 8px; margin: 0 0 8px; padding: 0; }
.tdh-hub__care li { display: flex; gap: 10px; margin: 0; font-size: 14px; line-height: 1.45; }
.tdh-hub__care li svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; }
.tdh-hub__more { display: block; width: 100%; min-height: 44px; margin: 8px 0 0; border: 1px solid #dcdcdc; border-radius: 10px; background: #fff; color: #111212; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.tdh-hub__empty { margin: 0 0 10px; font-size: 15px; color: #5b6170; }
.tdh-hub__err { margin: 12px 0 0; font-size: 14px; color: #b3261e; }
.tdh-hub__err:empty { display: none; }
@media (min-width: 769px) {
  .tdh-hub { padding-top: 32px; }
  .tdh-hub__top { padding: 24px; }
  .tdh-hub__h1 { font-size: 28px; }
  .tdh-hub__links a { flex-direction: row; min-height: 52px; font-size: 14px; }
}
/* header account icon as a plain link to the hub: same slot as Shopify's account button */
@media (max-width: 768px) {
  .site-header .site-nav__icons > .tdh-account-link { order: 5; flex: 0 0 46px; width: 46px; min-width: 46px; display: flex !important; align-items: center; justify-content: center; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
}

/* Footer column headlines: larger, so they read as headings above the link lists */
.site-footer .footer__title { font-size: 18px !important; font-weight: 800 !important; line-height: 1.25 !important; margin-bottom: 12px !important; letter-spacing: 0 !important; }
@media (max-width: 768px) {
  /* two narrow columns on phones: 17px keeps "About and Contact" on one line */
  .site-footer .footer__title { font-size: 17px !important; }
}

/* ===== Made-to-order options: "Customise it" (snippets/tdh-custom-options.liquid) ===== */
.tdh-co { padding: 14px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fafafa; color: #111212; }
.tdh-co.is-missing { border-color: #b3261e; }
.tdh-co__title { display: flex; align-items: center; gap: 8px; margin: 0 0 2px; font-size: 17px; font-weight: 800; line-height: 1.2; }
.tdh-co__title svg { width: 20px; height: 20px; flex: 0 0 auto; }
.tdh-co__lead { margin: 0 0 12px; font-size: 14px; line-height: 1.4; color: #4b5563; }
.tdh-co__field { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.tdh-co__label { display: block; margin: 0 0 8px; padding: 0; font-size: 15px; font-weight: 700; line-height: 1.3; }
.tdh-co__req { margin-left: 6px; font-size: 13px; font-weight: 400; color: #4b5563; }
.tdh-co__opt { margin-left: 6px; font-size: 13px; font-weight: 400; color: #6b7280; }
.tdh-co__pills { display: flex; gap: 8px; }
.tdh-co__pill { position: relative; margin: 0; cursor: pointer; }
.tdh-co__pill input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.tdh-co__pill span { display: flex; align-items: center; justify-content: center; min-width: 72px; min-height: 44px; padding: 8px 16px; border: 1px solid #cfcfcf; border-radius: 8px; background: #fff; font-size: 15px; font-weight: 600; }
.tdh-co__pill input:checked + span { border-color: #111212; background: #111212; color: #fff; }
.tdh-co__pill input:focus-visible + span { outline: 2px solid #111212; outline-offset: 2px; }
.tdh-co__picked { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; }
.tdh-co__picked:empty { display: none; }
.tdh-co__chip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 3px 4px 3px 8px; border: 1px solid #dcdcdc; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; line-height: 1.2; }
.tdh-co__chip i { width: 16px; height: 16px; flex: 0 0 auto; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.tdh-co__chip em { font-style: normal; font-weight: 400; color: #6b7280; }
.tdh-co__chip button { width: 26px; height: 26px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #f0f0f0; color: #111212; font-size: 16px; line-height: 1; cursor: pointer; }
.tdh-co__swap { min-height: 32px; margin: 0; padding: 4px 12px; border: 1px solid #111212; border-radius: 999px; background: #fff; color: #111212; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.tdh-co__group { margin: 10px 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6b7280; }
.tdh-co__group:first-child { margin-top: 0; }
.tdh-co__swatches { display: flex; flex-wrap: wrap; gap: 2px; margin: 0 -4px; }
.tdh-co__sw { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.tdh-co__dot { display: block; width: 32px; height: 32px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2); }
.tdh-co__dot--pearl { background-image: linear-gradient(135deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .6) 48%, rgba(255, 255, 255, 0) 66%); }
.tdh-co__sw:hover .tdh-co__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2), 0 0 0 2px #fafafa, 0 0 0 3px #9ca3af; }
.tdh-co__sw[aria-pressed="true"] .tdh-co__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2), 0 0 0 2px #fafafa, 0 0 0 4px #111212; }
.tdh-co__sw:focus-visible { outline: 2px solid #111212; outline-offset: 0; }
.tdh-co__sw b { position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #111212; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.tdh-co__sw b:empty { display: none; }
.tdh-co__link { display: inline-block; margin: 8px 0 0; color: #111212 !important; font-size: 14px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.tdh-co__preview { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid #e6e6e6; border-radius: 10px; background: #fff; }
.tdh-co__preview[hidden] { display: none; }
.tdh-co__art { flex: 0 0 84px; display: flex; align-items: center; justify-content: center; height: 132px; }
.tdh-co__art svg { display: block; width: 100%; height: 100%; }
.tdh-co__say { flex: 1 1 0; min-width: 0; }
.tdh-co__caption { margin: 0 0 4px; font-size: 15px; font-weight: 700; line-height: 1.35; }
.tdh-co__small { margin: 0; font-size: 12px; line-height: 1.4; color: #6b7280; }
.tdh-co__note { display: block; width: 100%; min-height: 64px; margin: 0; padding: 10px 12px; border: 1px solid #cfcfcf; border-radius: 8px; background: #fff; color: #111212; font: inherit; font-size: 16px; line-height: 1.4; resize: vertical; }
.tdh-co__err { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #b3261e; }
.tdh-co__err:empty { display: none; }
.tdh-co__notes { list-style: none; display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 12px 0 0; border-top: 1px solid #e6e6e6; }
.tdh-co__notes li { display: flex; gap: 8px; margin: 0; font-size: 13px; line-height: 1.45; color: #374151; }
.tdh-co__notes svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 2px; color: #1a7f4b; }
.tdh-co__notes a { color: #111212 !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 2px; }
a.tdh-card-atc__btn { display: block; text-decoration: none !important; }

/* ===== Phones: larger tap area on small text links, without moving anything =====
   Done with padding and an equal negative margin on the link itself. (An earlier version used an
   absolutely positioned ::after; where a link was not a positioning context that layer stretched
   over neighbouring content and swallowed taps meant for it.) */
@media (max-width: 768px) {
  /* product names are left out: they are cut to two lines, and padding would let a third line show through */
  .tdh-rm-btn, .section-header__link, .tdh-pb__remove, .tdh-co__link, .cart__item .text-link { padding-top: 9px; padding-bottom: 9px; margin-top: -9px; margin-bottom: -9px; }
}
}

/* ===== Filters: long lists show eight values until "Show all" ===== */
.filter-list:not(.is-all) .tdh-filter-extra { display: none !important; }
.tdh-filter-more { display: inline-block; margin: 8px 0 0; padding: 4px 0; border: 0; background: none; color: #111212; font: inherit; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; grid-column: 1 / -1; text-align: left; }

/* ===== Product cards on phones: title one size smaller and at most three lines ===== */
@media (max-width: 768px) {
  .grid-item.grid-product .grid-item__meta .element-text--body-md,
  .grid-item.grid-product .grid-item__meta .grid-product__title { font-size: 13px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* ===== Saved items / wishlist (snippets/tdh-saved.liquid, tdh-save-btn.liquid, sections/tdh-saved.liquid) ===== */
.tdh-save { margin: 0; padding: 0; border: 1px solid #dcdcdc; background: #fff; color: #111212; font: inherit; cursor: pointer; }
.tdh-save svg { width: 20px; height: 20px; flex: 0 0 auto; }
.tdh-save[aria-pressed="true"] svg { fill: currentColor; }
.tdh-save--round { position: absolute; top: 8px; right: 8px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; }
.tdh-save--round[aria-pressed="true"] { border-color: #d75d43; background: #d75d43; color: #fff; }
.tdh-save--round:hover { border-color: #111212; }
.tdh-save--wide { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; border-color: #111212; border-radius: 8px; font-size: 16px; font-weight: 700; }
.tdh-save--wide[aria-pressed="true"] { color: #b3432c; border-color: #d75d43; background: #fdf3f0; }
.tdh-save-note { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: #6b7280; text-align: center; }
.tdh-save-note a { color: #111212 !important; text-decoration: underline !important; text-underline-offset: 2px; }
.tdh-save-anchor { position: relative; z-index: 4; height: 0; }
.tdh-save-anchor .tdh-save--round { top: 10px; right: 10px; width: 44px; height: 44px; }
.tdh-clr__card { position: relative; }
.site-header .tdh-saved-link { position: relative; display: inline-flex; align-items: center; justify-content: center; color: inherit; }
.site-header .tdh-saved-link svg { width: 26px; height: 26px; }
.tdh-saved-link__n { position: absolute; top: 2px; right: 0; display: flex; align-items: center; justify-content: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: #d75d43; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.tdh-saved-link__n[hidden] { display: none; }
@media (max-width: 768px) {
  .site-header .site-nav__icons > .tdh-saved-link { order: 5; flex: 0 0 40px; width: 40px; min-width: 40px; display: flex !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
}
.tdh-saved-toast { position: fixed; left: 50%; bottom: 96px; z-index: 60; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 24px); padding: 10px 14px; border-radius: 10px; background: #111212; color: #fff; font-size: 15px; font-weight: 600; white-space: nowrap; box-shadow: 0 4px 16px rgba(0, 0, 0, .2); }
.tdh-saved-toast[hidden] { display: none; }
.tdh-saved-toast svg { width: 18px; height: 18px; fill: #d75d43; stroke: #d75d43; }
.tdh-saved-toast a { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; margin-left: 6px; }
.tdh-sv { max-width: 760px; padding-top: 18px; padding-bottom: 44px; color: #111212; }
.tdh-sv__h1 { margin: 0 0 2px; font-size: 24px; font-weight: 800; line-height: 1.2; }
.tdh-sv__n { font-size: 16px; font-weight: 400; color: #6b7280; }
.tdh-sv__lead { margin: 0 0 14px; font-size: 14px; color: #6b7280; }
.tdh-sv__list { list-style: none; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
.tdh-sv__loading { margin: 0; padding: 20px 0; font-size: 15px; color: #6b7280; }
.tdh-sv__row { display: flex; align-items: center; gap: 12px; margin: 0; padding: 10px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; }
.tdh-sv__row.is-out { background: #f7f7f7; }
.tdh-sv__row.is-out .tdh-sv__name, .tdh-sv__row.is-out .tdh-sv__price strong { color: #6b7280 !important; }
.tdh-sv__row.is-out img { opacity: .6; }
.tdh-sv__img { display: block; width: 72px; height: 72px; flex: 0 0 auto; border-radius: 8px; background: #f7f7f7; overflow: hidden; }
.tdh-sv__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tdh-sv__info { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tdh-sv__name { color: #111212 !important; font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-sv__price strong { font-size: 17px; font-weight: 800; color: #12784a; }
.tdh-sv__price s { font-size: 13px; color: #888; }
.tdh-sv__tags { display: flex; flex-wrap: wrap; gap: 4px; }
.tdh-sv__tag { padding: 2px 7px; border-radius: 5px; font-size: 12px; font-weight: 700; line-height: 1.4; }
.tdh-sv__tag--drop { background: #e1f5ee; color: #085041; }
.tdh-sv__tag--low { background: #faeeda; color: #633806; }
.tdh-sv__tag--out { background: #ececec; color: #4b5563; }
.tdh-sv__side { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.tdh-sv__act { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin: 0; padding: 8px 12px; border: 1px solid #111212; border-radius: 8px; background: #111212; color: #fff !important; font: inherit; font-size: 14px; font-weight: 700; text-decoration: none !important; white-space: nowrap; cursor: pointer; }
a.tdh-sv__act { background: #fff; color: #111212 !important; }
.tdh-sv__x { width: 40px; height: 40px; margin: 0; padding: 0; border: 0; background: none; color: #6b7280; font-size: 24px; line-height: 1; cursor: pointer; }
.tdh-sv__foot { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 0; }
.tdh-sv__foot[hidden], .tdh-sv__empty[hidden], .tdh-sv__btn[hidden] { display: none; }
.tdh-sv__btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin: 0; padding: 12px; border: 1px solid #111212; border-radius: 10px; background: #fff; color: #111212 !important; font: inherit; font-size: 16px; font-weight: 700; text-decoration: none !important; cursor: pointer; }
.tdh-sv__btn--main { background: #111212; color: #fff !important; }
.tdh-sv__msg { margin: 0; font-size: 14px; color: #12784a; word-break: break-all; }
.tdh-sv__msg:empty, .tdh-sv__err:empty { display: none; }
.tdh-sv__empty { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 0; }
.tdh-sv__empty p { margin: 0 0 6px; font-size: 16px; color: #4b5563; }
.tdh-sv__err { margin: 12px 0 0; font-size: 14px; color: #b3261e; }
@media (max-width: 480px) {
  .tdh-sv__row { flex-wrap: wrap; }
  .tdh-sv__side { flex: 1 1 100%; justify-content: space-between; padding-left: 84px; }
  .tdh-sv__side:has(.tdh-sv__x:only-child) { justify-content: flex-end; }
}
@media (min-width: 769px) {
  .tdh-sv { padding-top: 32px; }
  .tdh-sv__h1 { font-size: 28px; }
  .tdh-sv__foot { flex-direction: row; }
  .tdh-sv__foot .tdh-sv__btn { width: auto; flex: 1 1 0; }
  .tdh-sv__empty { flex-direction: row; flex-wrap: wrap; }
  .tdh-sv__empty p { flex: 1 1 100%; }
  .tdh-sv__empty .tdh-sv__btn { width: auto; padding: 12px 24px; }
}

/* ===== Back in stock signup (snippets/tdh-back-in-stock.liquid) ===== */
.tdh-bis { padding: 14px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fafafa; color: #111212; }
.tdh-bis[hidden], .tdh-bis__form[hidden], .tdh-bis__small[hidden] { display: none; }
.product-single__meta > div:has(> .tdh-bis[hidden]) { display: none; }
.tdh-bis__title { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 16px; font-weight: 800; line-height: 1.3; }
.tdh-bis__title svg { width: 20px; height: 20px; flex: 0 0 auto; }
.tdh-bis__form { display: flex; gap: 8px; margin: 0; }
.tdh-bis__input { flex: 1 1 0; min-width: 0; min-height: 48px; margin: 0; padding: 10px 12px; border: 1px solid #cfcfcf; border-radius: 8px; background: #fff; color: #111212; font: inherit; font-size: 16px; }
.tdh-bis__btn { flex: 0 0 auto; min-height: 48px; margin: 0; padding: 10px 18px; border: 1px solid #111212; border-radius: 8px; background: #111212; color: #fff; font: inherit; font-size: 16px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.tdh-bis__btn:disabled { opacity: .6; cursor: default; }
.tdh-bis__small { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: #6b7280; }
.tdh-bis__msg { margin: 8px 0 0; font-size: 14px; font-weight: 700; color: #b3261e; }
.tdh-bis__msg.is-ok { margin: 0; color: #12784a; font-size: 15px; }
.tdh-bis__msg:empty { display: none; }

/* ===== Products inside blog posts (snippets/tdh-article-products.liquid) ===== */
.tdh-ap { margin: 32px 0 8px; padding: 20px 0 0; border-top: 1px solid #e6e6e6; }
.tdh-ap__title { margin: 0 0 14px; font-size: 22px; font-weight: 800; line-height: 1.2; }
.tdh-ap__grid.new-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 !important; width: 100%; }
.tdh-ap__grid.new-grid > .grid-item { width: auto !important; max-width: none !important; min-width: 0 !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
@media (min-width: 769px) {
  .tdh-ap__grid.new-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

/* ===== Desktop: toolbar, header and menu share the content's left and right edges ===== */
@media (min-width: 769px) {
  .site-header .site-header__element > .page-width,
  .toolbar > .page-width { max-width: 1500px; padding-left: 40px; padding-right: 40px; }
  /* menu row: categories from the left edge, Best Sellers / New / Clearance at the right edge.
     The links carry 14px of their own padding, so the row is pulled out by that much. */
  .site-header .site-header__element--sub > .page-width { max-width: 1500px !important; padding-left: 40px !important; padding-right: 40px !important; }
  .site-header ul.site-navigation.site-navigation--below { justify-content: flex-start !important; width: auto !important; max-width: none !important; margin-left: -14px !important; margin-right: -14px !important; padding-left: 0 !important; padding-right: 0 !important; }
  .site-header ul.site-navigation.site-navigation--below > .tdh-dnav--best-sellers { margin-left: auto !important; }
  /* announcement centred on the page, not on the space left of the social icons */
  .toolbar .toolbar__content { position: relative; min-height: 34px; align-items: center; }
  .toolbar .toolbar__item--announcements { position: absolute; left: 50%; top: 0; bottom: 0; width: min(620px, 46%); transform: translateX(-50%); }
}

/* ===== Collection pages: breathing room under the intro and above the page numbers ===== */
.collection-intro2 { margin-bottom: 16px; }
.collection-grid .element-pagination { margin-top: 24px; }
@media (min-width: 769px) {
  .collection-intro2 { margin-bottom: 28px; }
  .collection-grid .element-pagination { margin-top: 36px; }
}
/* the menu links are narrower on smaller desktops; the row is pulled out by the same amount */
@media (min-width: 769px) and (max-width: 1399px) {
  .site-header ul.site-navigation.site-navigation--below { margin-left: -9px !important; margin-right: -9px !important; }
}
@media (min-width: 769px) and (max-width: 1099px) {
  .site-header ul.site-navigation.site-navigation--below { margin-left: -6px !important; margin-right: -6px !important; }
}

/* ===== Affiliate products (snippets/tdh-affiliate-buy.liquid) ===== */
.tdh-aff { margin: 0 0 12px; }
.tdh-aff__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; padding: 10px 16px; border-radius: 10px; background: #e2231a; color: #fff !important; font-size: 17px; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none !important; }
.tdh-aff__btn:hover { background: #c81d15; }
.tdh-aff__btn span { font-size: 13px; font-weight: 400; }
.tdh-aff__note { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: #6b7280; text-align: center; }
.tdh-bis { margin-bottom: 12px; }

/* ===== Header: saved-items heart in white ===== */
.site-header .tdh-saved-link, .site-header .tdh-saved-link svg { color: #fff !important; stroke: #fff; }

/* ===== Size block on phones: the headline sits above the drawing ===== */
@media (max-width: 768px) {
  .tdh-size { gap: 0; }
  .tdh-size__info { display: contents; }
  .tdh-size__title { order: -1; margin: 0 0 12px; }
  .tdh-size__art { margin: 0 0 14px; }
}

/* ===== Cart drawer: larger Check out label, the three assurances in one even row ===== */
.cart-drawer .cart__checkout, .cart-drawer .cart__checkout.element-button { font-size: 19px !important; font-weight: 800 !important; letter-spacing: 0; min-height: 56px; }
.cart-drawer .tdh-cart-trust { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.cart-drawer .tdh-cart-trust li { flex: none; justify-content: center; min-width: 0; padding: 6px 4px; gap: 4px; font-size: 11px; white-space: nowrap; }
.cart-drawer .cart__checkout * { font-size: inherit !important; font-weight: inherit !important; }
.cart-drawer .tdh-cart-trust li { font-size: 10.5px; letter-spacing: -.01em; padding: 6px 2px; gap: 3px; }
.cart-drawer .tdh-cart-trust svg { width: 13px; height: 13px; flex: 0 0 auto; }

/* ===== Email signup panel (sections/tdh-signup.liquid) ===== */
.tdh-signup { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 28px 0; padding: 22px 18px; border-radius: 14px; background: #111212; color: #fff; }
.tdh-signup__title { margin: 0 0 6px; font-size: 22px; font-weight: 800; line-height: 1.2; color: #fff; }
.tdh-signup__lead { margin: 0; font-size: 15px; line-height: 1.45; color: #d9d9d9; }
.tdh-signup__form { margin: 0; }
.tdh-signup__row { display: flex; gap: 8px; }
.tdh-signup__input { flex: 1 1 0; min-width: 0; min-height: 50px; margin: 0; padding: 10px 14px; border: 1px solid #fff; border-radius: 10px; background: #fff; color: #111212; font: inherit; font-size: 16px; }
.tdh-signup__btn { flex: 0 0 auto; min-height: 50px; margin: 0; padding: 10px 18px; border: 0; border-radius: 10px; background: #d75d43; color: #fff; font: inherit; font-size: 16px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.tdh-signup__btn:hover { background: #c14e36; }
.tdh-signup__points { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 10px 0 0; padding: 0; font-size: 13px; color: #d9d9d9; }
.tdh-signup__points li { margin: 0; }
.tdh-signup__points li::before { content: '\2713'; margin-right: 5px; color: #5dcaa5; }
.tdh-signup__done { display: flex; align-items: center; gap: 8px; margin: 0; padding: 14px; border-radius: 10px; background: #1f2a25; color: #fff; font-size: 16px; font-weight: 700; }
.tdh-signup__done svg { width: 20px; height: 20px; flex: 0 0 auto; color: #5dcaa5; }
.tdh-signup__err { margin: 8px 0 0; font-size: 14px; font-weight: 700; color: #ffb4a8; }
@media (min-width: 769px) {
  .tdh-signup { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 32px; margin: 44px 0; padding: 32px 36px; }
  .tdh-signup__title { font-size: 28px; }
  .tdh-signup__lead { font-size: 16px; }
}

/* ===== Footer: Trustpilot strip on a white pill so it reads on the black footer ===== */
.site-footer [id^="trustpilot-widget-trustbox"][id$="-wrapper"] { width: fit-content; max-width: calc(100% - 32px); margin: 18px auto; padding: 12px 22px 10px; border-radius: 999px; background: #fff; }
.site-footer [id^="trustpilot-widget-trustbox"][id$="-wrapper"] .trustpilot-widget { min-width: 260px; }
.site-footer [id^="trustpilot-widget-trustbox"][id$="-wrapper"] { display: block; margin-left: auto; margin-right: auto; }

/* ===== Homepage category tiles: the light grey of the product pictures ===== */
.layout-section--featured-collections .collection-image-wrap.collection-image--circle,
.layout-section--featured-collections .collection-image-wrap.collection-image--circle .collection-image { background-color: #f7f7f7 !important; }

/* ===== Product page: larger brand name, and no gaps left by blocks that show nothing ===== */
.tdh-vendor { font-size: 16px; font-weight: 700; color: #111212; text-decoration: underline; text-underline-offset: 3px; }
.product-single__meta > div:not(:has(> :not(script):not(style))),
.product-single__meta > div:has(> .tdh-atc-stock[hidden]),
.product-single__meta > .shopify-app-block:has(> a:only-child:empty) { display: none !important; }

/* ===== Billing name: what the card statement will say (snippets/tdh-billing-name.liquid) ===== */
.tdh-billing-name { display: inline-block; padding: 1px 7px; border-radius: 5px; background: #f1f1f1; color: #111212; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.tdh-cart-billing { margin: 10px 0 0; font-size: 13px; line-height: 1.4; color: #4b5563; text-align: center; }

/* ===== Homepage blog block, compact: wide pictures in their own shape, small thumbnails, tight gaps ===== */
.index-section .blog-layout__main,
.index-section .blog-layout__sidebar { margin-top: 0 !important; }
.index-section .blog-layout__main { margin-bottom: 12px !important; }
.index-section .blog-layout .grid__image-ratio--square { padding-bottom: 0 !important; height: auto !important; aspect-ratio: 16 / 9 !important; }
.index-section .blog-layout .grid__image-ratio--square::before,
.index-section .blog-layout .grid__image-ratio--square::after { display: none !important; }
.index-section .blog-layout .grid__image-ratio--square img { object-fit: cover; }
.index-section .blog-layout .grid-article__image { margin-bottom: 8px !important; }
.index-section .blog-layout__main .grid-article { height: auto !important; }
.index-section .blog-layout__main .article__title { font-size: 17px; line-height: 1.3; }
.index-section .blog-layout__sidebar > h4 { margin: 0 0 8px; }
.index-section .blog-layout__sidebar .grid-article { align-items: center; gap: 12px !important; margin-bottom: 10px !important; }
.index-section .blog-layout__sidebar .grid-article__image { flex: 0 0 104px; width: 104px !important; margin-bottom: 0 !important; }
.index-section .blog-layout__sidebar .grid-article__image img,
.index-section .blog-layout__sidebar .grid-article__image .image-wrap { border-radius: 8px; }
.index-section .blog-layout__sidebar .article__title { font-size: 14px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.index-section:has(.blog-layout) .section-header { margin-bottom: 14px; }
@media (min-width: 769px) {
  .index-section .blog-layout { align-items: flex-start; }
  .index-section .blog-layout__main { margin-bottom: 0 !important; }
  .index-section .blog-layout__sidebar .grid-article__image { flex-basis: 128px; width: 128px !important; }
  .index-section .blog-layout__sidebar .article__title { font-size: 15px; }
}
/* the tag cloud under "Latest posts" stays on the blog pages; on the homepage it made this block four screens tall */
.index-section .blog-layout__sidebar > hr,
.index-section .blog-layout__sidebar > hr ~ * { display: none !important; }

/* ===== Cart gifts: two picks from the $199 tier up (snippets/tdh-cart-gifts.liquid) ===== */
.tdh-gifts__slots { display: flex; gap: 6px; margin: 0 0 8px; }
.tdh-gifts__slot { flex: 1 1 0; min-width: 0; padding: 7px 6px; border: 1px dashed #b4b2a9; border-radius: 8px; color: #6b7280; font-size: 12px; line-height: 1.2; text-align: center; }
.tdh-gifts__slot.is-filled { border: 1px solid #12784a; background: #f1faf5; color: #085041; font-weight: 700; }
.tdh-gifts__title--done svg { color: #12784a; }
.tdh-gifts__list.is-full .tdh-gift:not(.is-selected) { display: none; }
.tdh-gifts__list.is-full .tdh-gift__btn { background: none; border: 0; padding: 4px 2px; color: #111212; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; min-height: 0; }
.tdh-gifts__small { margin: 6px 0 0; font-size: 12px; color: #6b7280; }
.tdh-gifts__tease { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; padding: 8px 10px; border-radius: 8px; background: #fbe6e0; color: #712b13; font-size: 13px; line-height: 1.3; }
.tdh-gifts__tease svg { width: 16px; height: 16px; flex: 0 0 auto; }

/* ===== Homepage: the three picture tiles under the hero are larger on phones (about two and a bit per screen, swipe for the rest) ===== */
@media (max-width: 768px) {
  .template-index [class*='text-columns-'] .float-grid { gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-right: -17px; padding-right: 17px; }
  .template-index [class*='text-columns-'] .float-grid::-webkit-scrollbar { display: none; }
  .template-index [class*='text-columns-'] .float-grid > .grid__item { flex: 0 0 44%; scroll-snap-align: start; }
  .template-index [class*='text-columns-'] .float-grid > .grid__item img { border-radius: 10px; }
}

/* ===== Sub-category row: draggable with the mouse ===== */
@media (hover: hover) and (pointer: fine) {
  .tdh-subs > .new-grid[data-type='subcollections'] { cursor: grab; }
}
.tdh-subs > .new-grid[data-type='subcollections'].is-dragging { cursor: grabbing; scroll-behavior: auto !important; user-select: none; }
.tdh-subs > .new-grid[data-type='subcollections'].is-dragging a { pointer-events: none; }

/* ===== Cart drawer on phones: a shorter payment area, so more of the gifts and suggestions shows ===== */
@media (max-width: 768px) {
  .cart-drawer .cart__footer { padding-top: 10px !important; padding-bottom: 10px !important; }
  .cart-drawer .cart__footer .cart__discounts { margin: 2px 0 8px !important; }
  .cart-drawer .cart__footer .tdh-cart-line__note { display: none; }
  .cart-drawer .cart__checkout, .cart-drawer .cart__checkout.element-button { min-height: 50px; padding-top: 6px; padding-bottom: 6px; }
  .cart-drawer .tdh-cart-trust { margin-top: 6px !important; }
  .cart-drawer .tdh-cart-trust li { padding-top: 4px; padding-bottom: 4px; }
  .cart-drawer .tdh-cart-billing { margin-top: 5px; font-size: 12px; }
}

/* ===== Cart drawer: the list is the only thing that scrolls =====
   Hidden labels inside the list are positioned absolutely. Without a positioned list they were
   measured against the whole drawer, which made the drawer itself scroll into empty space. */
.cart-drawer .cart__scrollable { position: relative; }
/* the drawer keeps its own scrolling as a fallback: on a phone whose browser bars change the visible
   height, it is what still lets the Check out button be reached */

/* ===== Header notification after add to cart (snippets/tdh-cart-nudge.liquid) ===== */
.tdh-nudge-on .tdh-code-strip { display: none !important; }
.tdh-nudge-strip { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 34px; padding: 6px 40px; background: #fbe6e0; color: #712b13; font-size: 13px; line-height: 1.3; text-align: center; }
.tdh-nudge-strip[hidden] { display: none; }
.tdh-nudge-strip strong { font-weight: 800; }
.tdh-nudge-strip__ico { display: none; flex: 0 0 auto; }
.tdh-nudge-strip__ico svg { display: block; width: 16px; height: 16px; }
.tdh-nudge-strip[data-kind="wait"] .tdh-nudge-strip__ico--gift, .tdh-nudge-strip[data-kind="gift"] .tdh-nudge-strip__ico--gift, .tdh-nudge-strip[data-kind="ship"] .tdh-nudge-strip__ico--ship { display: block; }
.tdh-nudge-strip__go { flex: 0 0 auto; padding: 4px 12px; border: 0; border-radius: 999px; background: #d75d43; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3; cursor: pointer; }
.tdh-nudge-strip__go[hidden] { display: none; }
.tdh-nudge-strip__x { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; background: none; color: inherit; opacity: .7; cursor: pointer; }
.tdh-nudge-strip__x svg { width: 13px; height: 13px; }

.tdh-nudge { position: fixed; z-index: 58; width: 330px; max-width: calc(100vw - 16px); padding: 14px; border: 1px solid #e6e3dc; border-radius: 14px; background: #fff; color: #111212; box-shadow: 0 12px 34px rgba(17, 18, 18, .18); opacity: 0; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; }
.tdh-nudge[hidden] { display: none; }
.tdh-nudge.is-open { opacity: 1; transform: none; }
.tdh-nudge__tip { position: absolute; top: -7px; width: 12px; height: 12px; border-left: 1px solid #e6e3dc; border-top: 1px solid #e6e3dc; background: #fff; transform: rotate(45deg); }
.tdh-nudge__tip[hidden] { display: none; }
.tdh-nudge__x { position: absolute; top: 4px; right: 4px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; background: none; color: #6b7280; cursor: pointer; }
.tdh-nudge__x svg { width: 13px; height: 13px; }
.tdh-nudge__item { display: flex; align-items: center; gap: 10px; padding-right: 26px; }
.tdh-nudge__img { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 8px; background: #f7f7f7; object-fit: contain; }
.tdh-nudge__img[hidden] { display: none; }
.tdh-nudge__what { min-width: 0; }
.tdh-nudge__ok { display: flex; align-items: center; gap: 5px; margin: 0; color: #12784a; font-size: 13px; font-weight: 700; line-height: 1.3; }
.tdh-nudge__ok svg { width: 15px; height: 15px; flex: 0 0 auto; stroke-width: 2.2; }
.tdh-nudge__name { margin: 2px 0 0; overflow: hidden; color: #111212; font-size: 13px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.tdh-nudge__reward { margin-top: 12px; padding: 10px; border-radius: 10px; background: #fbe6e0; color: #712b13; }
.tdh-nudge__reward[hidden] { display: none; }
.tdh-nudge__msg { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 14px; line-height: 1.3; }
.tdh-nudge__msg strong { font-weight: 800; }
.tdh-nudge__ico { display: none; flex: 0 0 auto; }
.tdh-nudge__ico svg { display: block; width: 18px; height: 18px; }
.tdh-nudge[data-kind="wait"] .tdh-nudge__ico--gift, .tdh-nudge[data-kind="gift"] .tdh-nudge__ico--gift, .tdh-nudge[data-kind="ship"] .tdh-nudge__ico--ship { display: block; }
.tdh-nudge__bar { height: 6px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: rgba(113, 43, 19, .16); }
.tdh-nudge__bar[hidden] { display: none; }
.tdh-nudge__bar i { display: block; height: 100%; border-radius: 999px; background: #d75d43; }
.tdh-nudge__actions { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.tdh-nudge__btn { flex: 1 1 auto; min-height: 42px; padding: 8px 14px; border: 0; border-radius: 8px; background: #111212; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.tdh-nudge[data-kind="wait"] .tdh-nudge__btn { background: #d75d43; }
.tdh-nudge__link { flex: 0 0 auto; padding: 8px 2px; border: 0; background: none; color: #111212; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tdh-nudge__link[hidden] { display: none; }

/* Cart drawer: the list starts right under the header, no empty band above the gift box */
.cart-drawer .cart__scrollable, #HeaderCart .cart__scrollable { padding-top: 8px; }

/* ===== Toy finder: wider quiz (two-column answers with group headings) ===== */
.tdh-quiz__opts--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tdh-quiz__opts--grid .tdh-quiz__opt { min-height: 60px; padding: 8px 10px; gap: 8px; font-size: 14px; line-height: 1.25; }
.tdh-quiz__opts--grid .tdh-quiz__opt-icon svg { width: 20px; height: 20px; }
.tdh-quiz__opts--grid .tdh-quiz__opt-text small { font-size: 12px; line-height: 1.25; }
.tdh-quiz__opts--grid .tdh-quiz__tick { width: 18px; height: 18px; }
.tdh-quiz__opts--grid .tdh-quiz__tick svg { width: 12px; height: 12px; }
.tdh-quiz__group { grid-column: 1 / -1; margin: 6px 0 -2px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #5b6170; }
.tdh-quiz__group:first-child { margin-top: 0; }

/* ===== Toy finder: card inside collection grids (snippets/tdh-quiz-tile.liquid) ===== */
.tdh-quiz-done .tdh-quiz-tile, .tdh-quiz-done .tdh-quizbar--top, [data-view="list"] > .tdh-quiz-tile { display: none !important; }
.tdh-quiz-tile { display: flex; }
.tdh-quiz-tile__in { flex: 1 1 auto; display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 16px 14px; border: 1px solid #f5c4b3; border-radius: 12px; background: #fbe6e0; color: #4a1b0c !important; text-decoration: none !important; }
.tdh-quiz-tile__icon svg { display: block; width: 28px; height: 28px; color: #d75d43; }
.tdh-quiz-tile__h { margin-top: 4px; font-size: 18px; font-weight: 800; line-height: 1.2; color: #4a1b0c; }
.tdh-quiz-tile__s { margin-bottom: 6px; font-size: 14px; line-height: 1.35; color: #712b13; }
.tdh-quiz-tile__row { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 1.3; color: #712b13; }
.tdh-quiz-tile__row svg { width: 15px; height: 15px; flex: 0 0 auto; }
.tdh-quiz-tile__btn { margin-top: auto; padding: 11px 10px; border-radius: 8px; background: #d75d43; color: #fff; font-size: 15px; font-weight: 700; text-align: center; }
.tdh-quiz-tile__in:hover .tdh-quiz-tile__btn { background: #c14e36; }
@media (max-width: 768px) {
  .tdh-quiz-tile__in { padding: 12px 10px; }
  .tdh-quiz-tile__h { font-size: 16px; }
  .tdh-quiz-tile__s { font-size: 13px; }
  .tdh-quiz-tile__row { font-size: 12px; }
}

/* ===== Toy finder: "Picked for you" row (snippets/tdh-quiz-picks.liquid) ===== */
.tdh-picked { margin: 14px 0 18px; padding: 14px; border: 1px solid #f5c4b3; border-radius: 12px; background: #fdf6f3; color: #111212; }
.tdh-picked[hidden] { display: none; }
.tdh-picked__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tdh-picked__title { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 17px; font-weight: 800; line-height: 1.2; }
.tdh-picked__title svg { width: 18px; height: 18px; color: #d75d43; }
.tdh-picked__change { flex: 0 0 auto; color: #5b6170 !important; font-size: 13px; text-decoration: underline !important; text-underline-offset: 3px; }
.tdh-picked__why { margin: 3px 0 10px; font-size: 13px; line-height: 1.35; color: #5b6170; }
.tdh-picked__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tdh-picked__card { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 8px; border: 1px solid #e6e3dc; border-radius: 10px; background: #fff; }
.tdh-picked__img { display: block; aspect-ratio: 1; border-radius: 8px; background: #f7f7f7; overflow: hidden; }
.tdh-picked__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tdh-picked__name { color: #111212 !important; font-size: 13px; font-weight: 600; line-height: 1.3; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.tdh-picked__price { font-size: 12px; color: #8a8f99; }
.tdh-picked__price strong { font-size: 15px; font-weight: 800; color: #111212; }
.tdh-picked__price strong.is-coded { color: #12784a; }
.tdh-picked__btn { margin-top: auto; min-height: 38px; padding: 8px 6px; border: 0; border-radius: 8px; background: #111212; color: #fff !important; font: inherit; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none !important; cursor: pointer; }
@media (min-width: 769px) {
  .tdh-picked { padding: 18px; }
  .tdh-picked__list { grid-template-columns: repeat(3, minmax(0, 220px)); gap: 14px; }
  .tdh-picked__name { font-size: 14px; }
}
.tdh-quizbar--top { margin-top: 14px; }
.tdh-quiz__opts--grid .tdh-quiz__tick { display: none; }
.tdh-quiz__opts--grid .tdh-quiz__opt.is-on { border-color: #d75d43; background: #fbe6e0; box-shadow: inset 0 0 0 1px #d75d43; }
