/** Shopify CDN: Minification failed

Line 1869: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: #c0392b;
  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: #2b1a17; 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: #2b1a17; 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: #c0392b; 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: #2b1a17;
  border-color: #2b1a17;
}
.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: #2b1a17; color: #fff; }
.tdh-badge--sale { background: #fff; color: #ba4444; border-color: #ba4444; }
.tdh-badge--hot { background: #c0392b; color: #fff; border-color: #c0392b; }
.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: #2b1a17; border-color: #2b1a17; }
.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: #c0392b; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tdh-empty__title { margin: 0; font-size: 20px; font-weight: 700; color: #2b1a17; 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: #2b1a17; 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: #2b1a17; }
.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: #2b1a17; 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 #2b1a17; border-radius: 10px; color: #2b1a17 !important; font-size: 16px; font-weight: 700; text-decoration: none !important; text-align: center; }
.tdh-atc-similar:hover { background: #2b1a17; 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: #2b1a17; }
.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: #c0392b; 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: #2b1a17; }
.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: #c0392b; 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: #2b1a17 !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: #2b1a17; }
.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: #2b1a17; }
.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: #c0392b; 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: #2b1a17; }
.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: #2b1a17; 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: #2b1a17; 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: #2b1a17; }
.product-single__meta kit-variant-picker .kit-radio { cursor: pointer; }
.product-single__meta kit-variant-picker .kit-radio .kit-button {
  background: #fff !important;
  color: #2b1a17 !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: #2b1a17 !important; }
.product-single__meta kit-variant-picker .kit-radio__input:checked + .kit-button {
  background: #f4e3da !important;
  border-color: #c0392b !important;
  color: #7a2a1c !important;
}
.product-single__meta kit-variant-picker .kit-radio__input:focus-visible + .kit-button { outline: 2px solid #2b1a17; 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: #2b1a17; white-space: nowrap; }
.tdh-secure__label svg { width: 18px; height: 18px; fill: none; stroke: #c0392b; 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: #2b1a17; }
.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: #c0392b; 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: #2b1a17; 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__guide { margin-top: 2px; color: #555; font-size: 12px; font-weight: 400; line-height: 1.35; }
.tdh-addons__guide b { color: #a32a2a; font-weight: 500; }
.tdh-compat[hidden] { display: none; }
.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: #c0392b; 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: #2b1a17; 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: #2b1a17; }
.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: #2b1a17 !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.tdh-ptrust__chips a:hover { border-color: #2b1a17; }
.tdh-ptrust__chips a span { color: #c0392b; }
@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: #2b1a17; }
.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: #2b1a17; 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: #2b1a17; }
  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: #2b1a17; }
  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: #2b1a17; --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: #2b1a17 !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: #2b1a17 !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: #2b1a17; }
  .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: #2b1a17; }
  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: #2b1a17; 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: #2b1a17; }
.tdh-dp__row { gap: 14px; }
.tdh-secure__label svg { stroke: #2b1a17; }
.tdh-empty__icon { width: auto; height: auto; border-radius: 0; background: none; margin-bottom: 4px; }
.tdh-empty__icon svg { width: 44px; height: 44px; stroke: #2b1a17; }
[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: #2b1a17; }
.tdh-cart-trust svg { color: #2b1a17; stroke: #2b1a17; }
.tdh-card-code__offer { background: #f7f7f7; border-color: #e6e6e6; }
.tdh-card-code__offer svg { stroke: #2b1a17; }
.tdh-pb__offer { background: #f7f7f7; border-color: #e6e6e6; }
.tdh-pb__offer .tdh-pb__icon { stroke: #2b1a17; }

/* 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: #2b1a17; }
.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: #2b1a17; 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: #2b1a17; 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: #2b1a17; 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: #2b1a17; }

/* ===== 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: #2b1a17; 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: #2b1a17; 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: #2b1a17 !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: #2b1a17 !important; background: none !important; --element-icon-color: #2b1a17; --element-icon-opacity: 1; padding: 0; }
  .site-header .header-item--search .element-button--close-search { color: #2b1a17 !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: #2b1a17 !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: #2b1a17; 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: #2b1a17; color: #fff; border-color: #2b1a17; }
@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: #2b1a17 !important; text-decoration: none !important; }
a.tdh-gift__name:hover { text-decoration: underline !important; }
.tdh-gift__view { color: #2b1a17 !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: #2b1a17; overflow: hidden; }
.tdh-quiz__top { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 0 16px; background: #2b1a17; 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: #c0392b; 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: #2b1a17; 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: #2b1a17; font: inherit; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; }
.tdh-quiz__opt:hover { border-color: #2b1a17; }
.tdh-quiz__opt.is-on { border-color: #2b1a17; background: #f7f7f7; box-shadow: inset 0 0 0 1px #2b1a17; }
.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: #2b1a17; border-color: #2b1a17; 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: #c0392b; 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: #ab3326; }
.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: #2b1a17; 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: #2b1a17; color: #fff; font-size: 12px; font-weight: 700; }
.tdh-quiz__pick-name { color: #2b1a17 !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: #2b1a17; 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: #2b1a17; 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: #c0392b; 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: #ab3326; }
@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: #2b1a17; 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: #2b1a17 !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 #2b1a17 !important; border-radius: 8px !important; background: #fff !important; color: #2b1a17 !important; font-weight: 600; text-decoration: none !important; }
.return-section .return-link .element-icon { margin-right: 0; }
.return-section .return-link:hover { background: #2b1a17 !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: #2b1a17; }
.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: #2b1a17; 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: #2b1a17; font-weight: 700; }
.tdh-size__bar.is-toy i { background: #e71936; }
.tdh-size__bar b { font-weight: 700; color: #2b1a17; 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: #2b1a17 !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: #2b1a17 !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: #2b1a17; padding-bottom: 28px; }
.tdh-clr__hero { padding: 16px; border-radius: 12px; background: #2b1a17; 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: #2b1a17; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.tdh-clr__chip:hover { border-color: #2b1a17; }
.tdh-clr__chip.is-on { background: #2b1a17; border-color: #2b1a17; 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: #c0392b; 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: #2b1a17 !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: #c0392b; }
.tdh-clr__add { display: block; width: 100%; min-height: 42px; margin: auto 0 0; padding: 10px 8px; border: 0; border-radius: 8px; background: #2b1a17; 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 #2b1a17; border-radius: 8px; background: #fff; color: #2b1a17; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.tdh-clr__more[hidden] { display: none; }
.tdh-clr__more:hover { background: #2b1a17; 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: #2b1a17; }
.tdh-hub__top { padding: 18px; border-radius: 14px; background: #2b1a17; 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: #c0392b; color: #fff !important; font-size: 17px; font-weight: 700; text-align: center; text-decoration: none !important; }
.tdh-hub__cta:hover { background: #ab3326; }
.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: #2b1a17 !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 #2b1a17; border-radius: 8px; background: #2b1a17; 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: #2b1a17 !important; }
.tdh-hub__btn--line:hover { background: #2b1a17; 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: #2b1a17; 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: #2b1a17; }
.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: #2b1a17; background: #2b1a17; color: #fff; }
.tdh-co__pill input:focus-visible + span { outline: 2px solid #2b1a17; 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: #2b1a17; font-size: 16px; line-height: 1; cursor: pointer; }
.tdh-co__swap { min-height: 32px; margin: 0; padding: 4px 12px; border: 1px solid #2b1a17; border-radius: 999px; background: #fff; color: #2b1a17; 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 #2b1a17; }
.tdh-co__sw:focus-visible { outline: 2px solid #2b1a17; 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: #2b1a17; 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: #2b1a17 !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: #2b1a17; 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: #2b1a17 !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: #2b1a17; 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: #2b1a17; 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: #c0392b; background: #c0392b; color: #fff; }
.tdh-save--round:hover { border-color: #2b1a17; }
.tdh-save--wide { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; border-color: #2b1a17; border-radius: 8px; font-size: 16px; font-weight: 700; }
.tdh-save--wide[aria-pressed="true"] { color: #ab3326; border-color: #c0392b; 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: #2b1a17 !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: #c0392b; 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: #2b1a17; 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: #c0392b; stroke: #c0392b; }
.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: #2b1a17; }
.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: #2b1a17 !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 #2b1a17; border-radius: 8px; background: #2b1a17; 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: #2b1a17 !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 #2b1a17; border-radius: 10px; background: #fff; color: #2b1a17 !important; font: inherit; font-size: 16px; font-weight: 700; text-decoration: none !important; cursor: pointer; }
.tdh-sv__btn--main { background: #2b1a17; 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: #2b1a17; }
.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: #2b1a17; font: inherit; font-size: 16px; }
.tdh-bis__btn { flex: 0 0 auto; min-height: 48px; margin: 0; padding: 10px 18px; border: 1px solid #2b1a17; border-radius: 8px; background: #2b1a17; 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: #2b1a17; 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: #2b1a17; 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: #c0392b; color: #fff; font: inherit; font-size: 16px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.tdh-signup__btn:hover { background: #ab3326; }
.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: #2b1a17; 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: #2b1a17; 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: #2b1a17; 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: #f6dcd9; 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; }
  /* the open cart reaches the bottom of the screen (--tdh-cart-h is set in snippets/header.cart-drawer.liquid) */
  header-drawer.site-header__cart.is-active:has(.cart-drawer:not(.is-empty)) { height: var(--tdh-cart-h, auto); max-height: var(--tdh-cart-h, var(--max-drawer-height)); padding-bottom: 0; overflow: hidden; }
  header-drawer.site-header__cart.is-active:has(.cart-drawer:not(.is-empty)) .site-header__drawer-animate,
  header-drawer.site-header__cart.is-active:has(.cart-drawer:not(.is-empty)) .cart-drawer { display: block; height: 100%; }
  header-drawer.site-header__cart.is-active .cart-drawer:not(.is-empty) .cart__drawer-form { height: 100%; max-height: none !important; }
  header-drawer.site-header__cart .cart__scrollable { flex: 1 1 auto; min-height: 0; }
  .cart-drawer .cart__footer { padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* less white space under the Trustpilot line */
header-drawer.site-header__cart { padding-bottom: 0; }
.cart-drawer .cart__footer { padding-bottom: 12px; }
.cart-drawer .tdh-cart-tp { margin-bottom: 0; }

/* ===== 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: #f6dcd9; 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__text { min-width: 0; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: inherit; line-height: inherit; letter-spacing: inherit; text-transform: none; cursor: pointer; }
.tdh-nudge-strip__text:hover, .tdh-nudge-strip__text:focus-visible { text-decoration: underline; }
.tdh-nudge-strip__go { flex: 0 0 auto; padding: 4px 12px; border: 0; border-radius: 999px; background: #c0392b; 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: #2b1a17; 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: #2b1a17; 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: #f6dcd9; 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: #c0392b; }
.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: #2b1a17; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.tdh-nudge[data-kind="wait"] .tdh-nudge__btn { background: #c0392b; }
.tdh-nudge__link { flex: 0 0 auto; padding: 8px 2px; border: 0; background: none; color: #2b1a17; 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: #f6dcd9; color: #4a1b0c !important; text-decoration: none !important; }
.tdh-quiz-tile__icon svg { display: block; width: 28px; height: 28px; color: #c0392b; }
.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: #c0392b; color: #fff; font-size: 15px; font-weight: 700; text-align: center; }
.tdh-quiz-tile__in:hover .tdh-quiz-tile__btn { background: #ab3326; }
@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: #2b1a17; }
.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: #c0392b; }
.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: #2b1a17 !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: #2b1a17; }
.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: #2b1a17; 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; }
}
/* on a collection the picks sit in the grid: one line above it, a tag on each picked card */
.tdh-pickline { display: flex; align-items: center; gap: 8px; margin: 12px 0 4px; padding: 8px 12px; border-radius: 10px; background: #fdf6f3; color: #2b1a17; font-size: 13px; line-height: 1.35; }
.tdh-pickline[hidden] { display: none; }
.tdh-pickline svg { flex: 0 0 auto; width: 16px; height: 16px; color: #c0392b; }
.tdh-pickline span { flex: 1 1 auto; min-width: 0; color: #5b6170; }
.tdh-pickline b { color: #2b1a17; font-weight: 800; }
.tdh-pickline a { flex: 0 0 auto; color: #5b6170 !important; text-decoration: underline !important; text-underline-offset: 3px; }
.tdh-pickline button { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: -6px -8px -6px -4px; padding: 0; border: 0; border-radius: 50%; background: none; color: #5b6170; font: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.tdh-pickline button:hover { background: #f5c4b3; color: #2b1a17; }
.tdh-pick .grid-product__image-wrap { position: relative; }
.tdh-pick__tag { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 5px 6px; background: #c0392b; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.2; pointer-events: none; }
.tdh-pick__tag svg { width: 13px; height: 13px; flex: 0 0 auto; }
@media (max-width: 768px) { .tdh-pick__tag { font-size: 11px; padding: 4px; } }
.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: #c0392b; background: #f6dcd9; box-shadow: inset 0 0 0 1px #c0392b; }

/* ===== Batteries: tick row above Add to cart (snippets/tdh-battery.liquid) ===== */
.tdh-batt { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding: 10px 12px; border: 1px solid #d3d1c7; border-radius: 10px; background: #fff; color: #2b1a17; cursor: pointer; }
.tdh-batt[hidden] { display: none; }
.tdh-batt.is-on { border-color: #2b1a17; background: #f7f7f7; box-shadow: inset 0 0 0 1px #2b1a17; }
.tdh-batt__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tdh-batt__box { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 22px; height: 22px; border: 1.5px solid #888780; border-radius: 6px; color: #fff; }
.tdh-batt__box svg { width: 14px; height: 14px; opacity: 0; stroke-width: 2.4; }
.tdh-batt.is-on .tdh-batt__box { border-color: #2b1a17; background: #2b1a17; }
.tdh-batt.is-on .tdh-batt__box svg { opacity: 1; }
.tdh-batt__input:focus-visible + .tdh-batt__box { outline: 2px solid #2b1a17; outline-offset: 2px; }
.tdh-batt__img { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 6px; background: #f7f7f7; overflow: hidden; }
.tdh-batt__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tdh-batt__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; font-size: 15px; line-height: 1.3; }
.tdh-batt__text strong { font-weight: 700; }
.tdh-batt__text small { font-size: 13px; color: #5b6170; }
.tdh-batt__price { flex: 0 0 auto; font-size: 15px; font-weight: 700; }
.tdh-batt-incl { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; padding: 9px 12px; border-radius: 10px; background: #f1faf5; color: #0b5a38; font-size: 14px; font-weight: 600; line-height: 1.3; }
.tdh-batt-incl svg { width: 17px; height: 17px; flex: 0 0 auto; }

/* ===== Batteries: reminder under a cart line (snippets/tdh-cart-battery.liquid) ===== */
.tdh-batt-x .tdh-cart-batt { display: none; }
.tdh-cart-batt { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 8px; padding: 8px 30px 8px 10px; border: 1px solid #fac775; border-radius: 10px; background: #faeeda; color: #633806; font-size: 13px; line-height: 1.3; }
.tdh-cart-batt__add { padding: 6px 10px; border: 0; border-radius: 6px; background: #2b1a17; color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.tdh-cart-batt__x { position: absolute; top: 2px; right: 2px; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; background: none; color: inherit; opacity: .7; cursor: pointer; }
.tdh-cart-batt__x svg { width: 11px; height: 11px; }

/* ===== Cart advice: lube match check (snippets/tdh-cart-lube.liquid) ===== */
.tdh-lube-x .tdh-cart-lube--warn { display: none; }
.tdh-cart-lube { margin-top: 8px; padding: 9px 10px; border-radius: 10px; font-size: 13px; line-height: 1.35; }
.tdh-cart-lube svg { display: inline-block; width: 15px; height: 15px; vertical-align: -3px; }
.tdh-cart-lube--warn { border: 1px solid #fac775; background: #faeeda; color: #633806; }
.tdh-cart-lube--ok { display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #9fe1cb; background: #e1f5ee; color: #085041; }
.tdh-cart-lube__h { margin: 0 0 3px; font-weight: 700; }
.tdh-cart-lube__s { margin: 0 0 8px; }
.tdh-cart-lube__btn { display: inline-block; margin: 0 10px 0 0; padding: 7px 10px; border: 0; border-radius: 6px; background: #2b1a17; color: #fff; font: inherit; font-size: 13px; font-weight: 700; text-align: left; cursor: pointer; }
.tdh-cart-lube__link { padding: 6px 0; border: 0; background: none; color: inherit; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tdh-lube-note { display: flex; gap: 8px; margin: 0 0 10px; padding: 10px 12px; border: 1px solid #fac775; border-radius: 10px; background: #faeeda; color: #633806; font-size: 14px; line-height: 1.35; }
.tdh-lube-note svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 1px; }

/* ===== Cart advice: complete the kit (snippets/tdh-cart-kit.liquid) ===== */
/* the suggestions stay visible next to the kit: they no longer offer lubes or cleaners */
.tdh-kit { margin: 14px 0 6px; padding: 12px; border: 1px solid #f5c4b3; border-radius: 12px; background: #fdf6f3; color: #2b1a17; }
.tdh-kit__title { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 16px; font-weight: 800; line-height: 1.2; }
.tdh-kit__title svg { width: 18px; height: 18px; color: #c0392b; }
.tdh-kit__sub { margin: 2px 0 8px; font-size: 13px; color: #5b6170; }
.tdh-kit__row { display: flex; align-items: center; gap: 9px; padding: 6px 0; cursor: pointer; }
.tdh-kit__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tdh-kit__box { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 20px; height: 20px; border: 1.5px solid #888780; border-radius: 5px; background: #fff; color: #fff; }
.tdh-kit__box svg { width: 13px; height: 13px; opacity: 0; stroke-width: 2.4; }
.tdh-kit__input:checked + .tdh-kit__box { border-color: #2b1a17; background: #2b1a17; }
.tdh-kit__input:checked + .tdh-kit__box svg { opacity: 1; }
.tdh-kit__input:focus-visible + .tdh-kit__box { outline: 2px solid #2b1a17; outline-offset: 2px; }
.tdh-kit__img { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 6px; background: #fff; overflow: hidden; }
.tdh-kit__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tdh-kit__name { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tdh-kit__price { flex: 0 0 auto; font-size: 14px; font-weight: 700; }
.tdh-kit__unlock { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; padding: 6px 9px; border-radius: 8px; background: #e1f5ee; color: #085041; font-size: 13px; line-height: 1.3; }
.tdh-kit__unlock[hidden] { display: none; }
.tdh-kit__unlock svg { width: 15px; height: 15px; flex: 0 0 auto; }
.tdh-kit__btn { display: block; width: 100%; min-height: 42px; margin-top: 10px; padding: 9px 12px; border: 0; border-radius: 8px; background: #2b1a17; color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.tdh-kit__btn:disabled { background: #b4b2a9; cursor: default; }

/* ===== "How big is it?": products sold in several sizes (custom.size_chart) ===== */
.tdh-size__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.tdh-size__chips[hidden], .tdh-size__all[hidden] { display: none; }
.tdh-size__chip { flex: 1 1 auto; min-height: 38px; padding: 7px 12px; border: 1px solid #d3d1c7; border-radius: 999px; background: #fff; color: #2b1a17; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; }
.tdh-size__chip.is-on { border-color: #2b1a17; background: #2b1a17; color: #fff; }
.tdh-size__all { margin: 0 0 16px; }
.tdh-size__table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.tdh-size__table th, .tdh-size__table td { padding: 7px 6px; border: 0; border-top: 1px solid #e6e3dc; text-align: right; font-weight: 400; background: none; }
.tdh-size__table thead th { border-top: 0; padding-top: 0; color: #5b6170; font-size: 12px; }
.tdh-size__table th:first-child { text-align: left; }
.tdh-size__table tbody tr { cursor: pointer; }
.tdh-size__table tbody tr.is-on th, .tdh-size__table tbody tr.is-on td { background: #f6dcd9; font-weight: 700; }
.tdh-size.is-multi .tdh-size__bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tdh-size.is-multi .tdh-size__bar { grid-template-columns: 84px minmax(0, 1fr) 52px; }
/* switching size redraws the block: show it at once instead of replaying the entrance */
.tdh-size.is-switched .tdh-ink, .tdh-size.is-switched .tdh-size__guides, .tdh-size.is-switched .tdh-size__fill, .tdh-size.is-switched .tdh-size__mark, .tdh-size.is-switched .tdh-size__can, .tdh-size.is-switched .tdh-size__bar i { animation-duration: .01s !important; animation-delay: 0s !important; }
@media (max-width: 768px) {
  .tdh-size__chips { order: -1; }
}
@media (min-width: 1100px) {
  .tdh-size.is-multi .tdh-size__chips { grid-column: 1 / -1; grid-row: 2; }
  .tdh-size.is-multi .tdh-size__stats { grid-row: 3; }
  .tdh-size.is-multi .tdh-size__all { grid-column: 1; grid-row: 4; }
  .tdh-size.is-multi .tdh-size__scale { grid-row: 5; }
  .tdh-size.is-multi .tdh-size__rank { grid-row: 3 / span 3; }
  .tdh-size.is-multi .tdh-size__note { grid-row: 6; }
}

/* ===== Lube guide card on the product page (snippets/tdh-compat.liquid) ===== */
.tdh-compat { margin: 12px 0 0; border: 1px solid #e6e6e6; border-radius: 12px; overflow: hidden; background: #fff; color: #2b1a17; }
.tdh-compat__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 14px; border-bottom: 1px solid #ececec; background: #fafafa; }
.tdh-compat__head b { font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tdh-compat__head a { color: #b8521f; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.tdh-compat__head a:hover { text-decoration: underline; }
.tdh-compat__rows { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.tdh-compat__rows > div { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 11px 14px; font-size: 14px; font-weight: 500; line-height: 1.25; letter-spacing: 0; }
.tdh-compat__rows > div + div { border-left: 1px solid #ececec; }
.tdh-compat__rows small { display: block; margin-top: 1px; color: #767676; font-size: 12px; font-weight: 400; }
.tdh-compat__rows i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; }
.tdh-compat__rows svg { width: 13px; height: 13px; stroke-width: 2.8; }
.tdh-compat .is-yes i { background: #e1f5ee; color: #0a6b55; }
.tdh-compat .is-no i { background: #fcebeb; color: #a32a2a; }
.tdh-compat .is-maybe i { background: #faeeda; color: #7a4a0a; }
@media (max-width: 340px) { .tdh-compat__rows { grid-auto-flow: row; } .tdh-compat__rows > div + div { border-left: 0; border-top: 1px solid #ececec; } }
.product-single__meta > div:has(> .tdh-compat:only-child) { margin-top: 0; }

/* ===== Cart notes: made to order, harness offer (snippets/tdh-cart-notes.liquid) ===== */
.tdh-cart-note { display: flex; gap: 7px; margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: #f1efe8; color: #444441; font-size: 13px; line-height: 1.35; }
.tdh-cart-note svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 1px; }
.tdh-cart-note strong { font-weight: 700; color: #2b1a17; }
.tdh-cart-batt--harness { border-color: #d3d1c7; background: #f7f7f7; color: #444441; }

/* ===== Harness choice above Add to cart (snippets/tdh-harness-add.liquid) ===== */
.tdh-harness { margin: 0 0 10px; }
.tdh-harness[hidden] { display: none; }
.tdh-harness__title { display: flex; align-items: center; gap: 7px; margin: 0 0 6px; font-size: 14px; font-weight: 700; line-height: 1.3; }
.tdh-harness__title svg { width: 18px; height: 18px; flex: 0 0 auto; }
.tdh-harness .tdh-batt { margin-bottom: 6px; }
.tdh-harness .tdh-batt__text strong { font-size: 14px; }
.tdh-cart-batt--harness .tdh-cart-batt__text { flex: 1 1 100%; font-weight: 700; color: #2b1a17; }
/* the offer sits in the narrow text column of a cart line: one slim row per harness, name left, price right */
.tdh-cart-batt--harness { display: block; padding: 7px 8px; }
.tdh-cart-batt--harness .tdh-cart-batt__text { display: block; margin: 0 22px 5px 0; font-size: 12px; }
.tdh-cart-batt--harness .tdh-cart-batt__add { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; margin-top: 4px; padding: 6px 8px; border: 1px solid #d3d1c7; border-radius: 8px; background: #fff; color: #2b1a17; font-size: 12px; font-weight: 600; line-height: 1.25; text-align: left; }
.tdh-cart-batt--harness .tdh-cart-batt__add span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tdh-cart-batt--harness .tdh-cart-batt__add b { flex: 0 0 auto; font-weight: 800; white-space: nowrap; }
.tdh-cart-batt--harness .tdh-cart-batt__x { top: 0; right: 0; }

/* ===== Back to top (snippets/tdh-top.liquid) ===== */
.tdh-top { position: fixed; right: 14px; bottom: 16px; z-index: 54; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 1px solid #2b1a17; border-radius: 50%; background: #2b1a17; color: #fff; box-shadow: 0 6px 18px rgba(17, 18, 18, .22); opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; cursor: pointer; }
.tdh-top[hidden] { display: none; }
.tdh-top.is-in { opacity: 1; transform: none; }
.tdh-top svg { width: 20px; height: 20px; stroke-width: 2.2; }
.tdh-top:hover { background: #2a2b2b; }
/* keep clear of the bars that can sit on the bottom edge */
body:has(.tdh-codebar.is-in) .tdh-top { bottom: 96px; }
@media (max-width: 899px) {
  body:has(.tdh-sticky.is-visible) .tdh-top { bottom: 88px; }
  body:has(.tdh-sticky.is-visible):has(.tdh-codebar.is-in) .tdh-top { bottom: 168px; }
}
@media (min-width: 769px) {
  .tdh-top { right: 24px; bottom: 24px; width: 48px; height: 48px; }
}
@media print { .tdh-top { display: none; } }

/* ===== Care and tips card on product pages (sections/tdh-care.liquid) ===== */
.tdh-care { max-width: 820px; margin: 8px auto 28px; padding: 18px; border: 1px solid #e6e6e6; border-radius: 14px; background: #fff; color: #2b1a17; }
.tdh-care__title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 20px; font-weight: 800; line-height: 1.2; }
.tdh-care__title svg { width: 22px; height: 22px; flex: 0 0 auto; color: #c0392b; }
.tdh-care__sub { margin: 3px 0 12px; font-size: 13px; color: #5b6170; }
.tdh-care__tabs { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0 0 10px; }
.tdh-care.has-tabs .tdh-care__tabs { display: grid; }
.tdh-care__tab { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 8px 6px; border: 1px solid #d3d1c7; border-radius: 10px; background: #fff; color: #2b1a17; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.tdh-care__tab svg { width: 17px; height: 17px; flex: 0 0 auto; }
.tdh-care__tab.is-on { border-color: #2b1a17; background: #2b1a17; color: #fff; }
.tdh-care__panel[hidden] { display: none; }
.tdh-care__panel-title { margin: 12px 0 2px; font-size: 14px; font-weight: 700; }
.tdh-care.has-tabs .tdh-care__panel-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tdh-care__list { margin: 0; padding: 0; list-style: none; }
.tdh-care__list li { display: flex; gap: 10px; margin: 0; padding: 9px 0; border-top: 1px solid #eeece6; font-size: 15px; line-height: 1.4; }
.tdh-care__list li:first-child { border-top: 0; }
.tdh-care__n { display: flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: #f1efe8; color: #444441; font-size: 13px; font-weight: 700; }
.tdh-care__panel--avoid .tdh-care__n { background: #fcebeb; color: #791f1f; }
.tdh-care__n svg { width: 12px; height: 12px; stroke-width: 2.6; }
.tdh-care__tip { margin-top: 12px; padding: 12px 14px; border: 1px solid #f5c4b3; border-radius: 10px; background: #fdf6f3; color: #4a1b0c; }
.tdh-care__tip-title { display: flex; align-items: center; gap: 7px; margin: 0 0 3px; font-size: 15px; font-weight: 800; line-height: 1.3; }
.tdh-care__tip-title svg { width: 17px; height: 17px; flex: 0 0 auto; }
.tdh-care__tip-text { margin: 0; font-size: 14px; line-height: 1.45; }
.tdh-care__tip-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: #4a1b0c !important; font-size: 13px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.tdh-care__tip-link svg { width: 14px; height: 14px; }
@media (min-width: 769px) {
  .tdh-care { max-width: none; margin: 12px 0 12px; padding: 24px; }
  .tdh-care__tabs { max-width: 420px; }
}

/* Cart line: the sitewide code shown on each item (snippets/cart.line-item.liquid) */
.tdh-cart-price__now.is-coded { color: #12784a !important; }
.tdh-cart-price__code { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; padding: 2px 7px; border-radius: 999px; background: #f1faf5; color: #0b5a38; font-size: 12px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.tdh-cart-price__code svg { width: 12px; height: 12px; stroke-width: 2.4; }

/* ===== Import duties notice (snippets/tdh-duties.liquid, tdh-duties-js.liquid) ===== */
.tdh-duties { margin: 0 0 10px; text-align: left; }
.tdh-duties[hidden], .tdh-duties-pick[hidden], .tdh-duties-ask[hidden] { display: none; }
.tdh-duties__note { padding: 9px 10px; border: 1px solid #fac775; border-radius: 10px; background: #faeeda; color: #633806; font-size: 13px; line-height: 1.4; }
.tdh-duties__h { display: flex; align-items: center; gap: 6px; margin: 0 0 3px; font-weight: 700; }
.tdh-duties__h svg { flex: none; width: 16px; height: 16px; }
.tdh-duties__h > span { flex: 1; min-width: 0; }
.tdh-duties__change { flex: none; padding: 4px 0; border: 0; background: none; color: inherit; font: inherit; font-size: 12px; font-weight: 400; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tdh-duties__s { margin: 0; }
.tdh-duties__more { margin-top: 4px; }
.tdh-duties__more summary { display: inline-block; padding: 4px 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; list-style: none; }
.tdh-duties__more summary::-webkit-details-marker { display: none; }
.tdh-duties__more p { margin: 4px 0 0; }
.tdh-duties__more a { color: inherit; text-decoration: underline; }
.tdh-duties__ack { display: flex; align-items: flex-start; gap: 9px; margin: 10px 0 0; padding: 2px 0; font-size: 13px; line-height: 1.4; cursor: pointer; }
.tdh-duties__ack input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: #2b1a17; }
.tdh-duties.is-missing .tdh-duties__ack input { outline: 2px solid #c0392b; outline-offset: 2px; }
.tdh-duties__err { margin: 6px 0 0 29px; color: #c0392b; font-size: 13px; font-weight: 700; }
.tdh-duties__err[hidden] { display: none; }
.tdh-duties-pick { margin: 0 0 10px; text-align: left; font-size: 13px; }
.tdh-duties-pick label { display: block; }
.tdh-duties-pick span { display: block; margin-bottom: 4px; font-weight: 700; }
.tdh-duties-pick select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #c9c9c9; border-radius: 8px; background: #fff; color: #2b1a17; font: inherit; font-size: 16px; }
.tdh-duties-ask { display: block; margin: 0 auto 8px; padding: 6px 0; border: 0; background: none; color: #6b6b6b; font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
/* express buttons skip the cart, and so the tick box: outside the US everyone goes through the cart */
.tdh-intl .tdh-cart-express, .tdh-intl .additional-checkout-buttons, .tdh-intl .shopify-payment-button { display: none !important; }
.tdh-duties-page { padding-top: 28px; padding-bottom: 48px; }
.tdh-duties-page__h { margin: 0 0 14px; }
.tdh-duties-page__scroll { margin: 18px 0; overflow-x: auto; }
.tdh-duties-page__table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.tdh-duties-page__table th, .tdh-duties-page__table td { padding: 10px 12px; border: 1px solid #e3e3e3; text-align: left; vertical-align: top; }
.tdh-duties-page__table th { background: #f6f6f6; font-weight: 700; }
.tdh-duties-page__table td:first-child { font-weight: 700; white-space: nowrap; }
.tdh-duties-page__date { color: #6b6b6b; font-size: 13px; }

/* ===== LELO brand page (sections/tdh-lelo.liquid): short hero and line links above the grid, brand content below ===== */
.tdh-lelo { background: #2b1a17; color: #fff; }
.tdh-lelo a { color: inherit; text-decoration: none; }
.tdh-lelo__wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.tdh-lelo__eyebrow { display: block; font-size: 11px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; color: #c9a96a; }
.tdh-lelo .tdh-lelo__h1, .tdh-lelo .tdh-lelo__h2 { margin: 0; color: #fff; font-weight: 300; letter-spacing: -.01em; text-transform: none; }
.tdh-lelo .tdh-lelo__h1 { margin: 10px 0 8px; font-size: clamp(30px, 4.4vw, 56px); line-height: 1.05; }
.tdh-lelo .tdh-lelo__h2 { margin: 10px 0 16px; font-size: clamp(26px, 3.6vw, 40px); line-height: 1.1; }
.tdh-lelo__hero { position: relative; display: flex; align-items: flex-end; min-height: 320px; overflow: hidden; background: #000; }
.tdh-lelo__hero--slim { min-height: 0; background: #2b1a17; }
.tdh-lelo__hero .tdh-lelo__media, .tdh-lelo__hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tdh-lelo__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17, 18, 18, .3) 0%, rgba(17, 18, 18, .25) 30%, rgba(17, 18, 18, .95) 100%); }
.tdh-lelo__hero--slim::after { content: none; }
.tdh-lelo__hero-in { position: relative; z-index: 1; width: 100%; padding-top: 22px; padding-bottom: 18px; }
.tdh-lelo__hero-p { max-width: 540px; margin: 0; color: #e2ddd4; font-size: 16px; }
.tdh-lelo__nav { border-top: 1px solid #26272a; }
.tdh-lelo__nav .tdh-lelo__wrap { display: flex; gap: 6px; padding-top: 11px; padding-bottom: 11px; overflow-x: auto; scrollbar-width: none; }
.tdh-lelo__nav .tdh-lelo__wrap::-webkit-scrollbar { display: none; }
.tdh-lelo__nav a { flex: none; padding: 8px 15px; border: 1px solid #3a3a3d; border-radius: 99px; font-size: 14px; font-weight: 500; white-space: nowrap; }
.tdh-lelo__nav a:hover, .tdh-lelo__nav a.is-on { border-color: #fff; background: #fff; color: #2b1a17; }
.tdh-lelo--bottom { margin-top: 32px; }
.tdh-lelo__why { border-bottom: 1px solid #26272a; }
.tdh-lelo__why .tdh-lelo__wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.tdh-lelo__why .tdh-lelo__wrap > div { padding: 20px 14px; border-left: 1px solid #26272a; color: #b9b4ab; font-size: 13px; text-align: center; }
.tdh-lelo__why .tdh-lelo__wrap > div:first-child { border-left: 0; }
.tdh-lelo__why b { display: block; margin-bottom: 2px; color: #fff; font-size: 15px; font-weight: 700; }
.tdh-lelo__sec { padding: 48px 0 0; }
.tdh-lelo__needs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.tdh-lelo__need { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid #303134; border-radius: 12px; background: #18191b; }
.tdh-lelo__need:hover { border-color: #fff; }
.tdh-lelo__need img { flex: none; width: 76px; height: 76px; border-radius: 8px; background: #f6f6f4; object-fit: contain; }
.tdh-lelo__need b { display: block; font-size: 16px; font-weight: 700; line-height: 1.25; }
.tdh-lelo__need span span { display: block; margin: 2px 0 4px; color: #b9b4ab; font-size: 13px; }
.tdh-lelo__need em { color: #c9a96a; font-size: 13px; font-style: normal; font-weight: 500; }
.tdh-lelo__about { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: start; margin-top: 48px; padding: 48px 0 56px; border-top: 1px solid #26272a; scroll-margin-top: 20px; }
.tdh-lelo__about p { max-width: 620px; margin: 0 0 14px; color: #d6d1c8; font-size: 16px; line-height: 1.65; }
.tdh-lelo__terms { margin: 20px 0 0; padding: 0; border-top: 1px solid #303134; }
.tdh-lelo__terms div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid #303134; }
.tdh-lelo__terms dt { margin: 0; color: #fff; font-size: 15px; font-weight: 700; }
.tdh-lelo__terms dd { margin: 0; color: #b9b4ab; font-size: 14px; line-height: 1.5; }
.tdh-lelo__facts { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid #303134; border-radius: 12px; overflow: hidden; }
.tdh-lelo__facts div { padding: 20px 18px; border-top: 1px solid #303134; border-left: 1px solid #303134; }
.tdh-lelo__facts div:nth-child(-n+2) { border-top: 0; }
.tdh-lelo__facts div:nth-child(odd) { border-left: 0; }
.tdh-lelo__facts b { display: block; margin-bottom: 4px; font-size: 28px; font-weight: 300; line-height: 1.1; }
.tdh-lelo__facts span { color: #b9b4ab; font-size: 13px; }
@media (max-width: 900px) {
  .tdh-lelo__wrap { padding: 0 14px; }
  .tdh-lelo__hero { min-height: 200px; }
  .tdh-lelo__hero--slim { min-height: 0; }
  .tdh-lelo__hero-in { padding-top: 16px; padding-bottom: 12px; }
  .tdh-lelo__hero-p { font-size: 14px; }
  .tdh-lelo__nav .tdh-lelo__wrap { padding-top: 9px; padding-bottom: 9px; }
  .tdh-lelo__why .tdh-lelo__wrap { grid-template-columns: repeat(2, 1fr); }
  .tdh-lelo__why .tdh-lelo__wrap > div { padding: 14px 8px; }
  .tdh-lelo__why .tdh-lelo__wrap > div:nth-child(3) { border-left: 0; }
  .tdh-lelo__why .tdh-lelo__wrap > div:nth-child(n+3) { border-top: 1px solid #26272a; }
  .tdh-lelo__sec { padding-top: 36px; }
  .tdh-lelo__needs { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .tdh-lelo__need img { width: 64px; height: 64px; }
  .tdh-lelo__about { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 36px; padding: 36px 0 40px; }
  .tdh-lelo__facts b { font-size: 22px; }
  .tdh-lelo__facts div { padding: 14px 12px; }
  .tdh-lelo__terms div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* ===== Products the sitewide code does not apply to (snippets/tdh-no-code.liquid) ===== */
.tdh-pb.is-nocode .tdh-pb__offer, .tdh-pb.is-nocode .tdh-pb__note, .tdh-pb.is-nocode .tdh-pb__applied, .tdh-pb.is-nocode .tdh-pb__remove { display: none !important; }

/* care card moved into the buying column on desktop (sections/tdh-care.liquid) */
.tdh-care.tdh-care--side { max-width: none; margin: 16px 0; }
.tdh-nocode-page .tdh-codebar { display: none !important; }

/* ===== LELO story band on product pages (sections/tdh-lelo-story.liquid) ===== */
.tdh-wrap [hidden] { display: none !important; }
.tdh-story { margin: 28px 0; background: #2b1a17; color: #fff; }
.tdh-story:empty { display: none; }
.tdh-story__wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.tdh-story__eyebrow { display: block; font-size: 11px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; color: #c9a96a; }
.tdh-story .tdh-story__h2 { margin: 10px 0 0; color: #fff; font-size: clamp(26px, 3.6vw, 42px); font-weight: 300; letter-spacing: -.01em; line-height: 1.1; text-transform: none; }
.tdh-story__film { position: relative; background: #000; }
.tdh-story__film video { display: block; width: 100%; max-height: 82vh; aspect-ratio: 16 / 9; object-fit: cover; }
.tdh-story__film--none { padding-top: 64px; background: #2b1a17; }
.tdh-story__cap { position: absolute; right: 0; bottom: 0; left: 0; padding: 90px 0 30px; background: linear-gradient(180deg, rgba(17, 18, 18, 0), rgba(17, 18, 18, .92)); pointer-events: none; }
.tdh-story__film--none .tdh-story__cap { position: static; padding: 0; background: none; }
.tdh-story__sub { max-width: 600px; margin: 10px 0 0; color: #e2ddd4; font-size: 17px; }
.tdh-story__sound { position: absolute; top: 16px; right: 16px; z-index: 2; padding: 9px 16px; border: 1px solid rgba(255, 255, 255, .6); border-radius: 99px; background: rgba(17, 18, 18, .5); color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; backdrop-filter: blur(6px); }
.tdh-story__sound[aria-pressed="true"] { border-color: #fff; background: #fff; color: #2b1a17; }
.tdh-story__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); border-bottom: 1px solid #26272a; }
.tdh-story__stats div { padding: 34px 12px 30px; border-left: 1px solid #26272a; text-align: center; }
.tdh-story__stats div:first-child { border-left: 0; }
.tdh-story__stats b { display: block; font-size: clamp(34px, 5vw, 60px); font-weight: 300; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.tdh-story__stats span { display: block; margin-top: 8px; color: #b9b4ab; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.tdh-story__sec { padding: 64px 0 0; }
.tdh-story__sec--last { padding-bottom: 72px; }
.tdh-story__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.tdh-story__tile { padding: 26px 22px 28px; border: 1px solid #303134; border-radius: 14px; background: linear-gradient(160deg, #1c1d20 0%, #151617 100%); transition: border-color .25s ease, transform .25s ease; }
.tdh-story__tile:hover { border-color: #c9a96a; transform: translateY(-3px); }
.tdh-story__tile i { display: block; margin-bottom: 18px; color: #c9a96a; font-size: 12px; font-style: normal; letter-spacing: .24em; }
.tdh-story__tile b { display: block; margin-bottom: 8px; font-size: 21px; font-weight: 700; line-height: 1.2; }
.tdh-story__tile span { color: #b9b4ab; font-size: 15px; line-height: 1.55; }
.tdh-story__how { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 36px; align-items: center; margin-top: 26px; }
.tdh-story__how--text { grid-template-columns: minmax(0, 1fr); }
.tdh-story__stage { position: relative; aspect-ratio: 1 / 1; border-radius: 16px; background: #18191b; overflow: hidden; }
.tdh-story__stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .6s ease, transform 1.2s ease; }
.tdh-story__stage img.is-on { opacity: 1; transform: none; }
.tdh-story__steps { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.tdh-story__steps li { margin: 0; border-top: 1px solid #26272a; list-style: none; }
.tdh-story__steps li:last-child { border-bottom: 1px solid #26272a; }
.tdh-story__steps button { position: relative; display: block; width: 100%; padding: 20px 0 22px; border: 0; background: none; color: #8d8a84; font: inherit; text-align: left; cursor: pointer; transition: color .3s ease; }
.tdh-story__steps em { display: block; margin-bottom: 6px; color: inherit; font-size: 11px; font-style: normal; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; }
.tdh-story__steps span { display: block; font-size: 18px; line-height: 1.45; }
.tdh-story__steps li.is-on button { color: #fff; }
.tdh-story__steps li.is-on em { color: #c9a96a; }
.tdh-story__steps u { position: absolute; top: -1px; left: 0; width: 0; height: 2px; background: #c9a96a; }
.tdh-story__how.is-auto .tdh-story__steps li.is-on u { width: 100%; transition: width 4.2s linear; }
.tdh-story__how--text .tdh-story__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.tdh-story__how--text .tdh-story__steps li, .tdh-story__how--text .tdh-story__steps li:last-child { padding: 0 20px; border: 1px solid #303134; border-radius: 14px; background: #18191b; }
.tdh-story__how--text .tdh-story__steps button { color: #fff; cursor: default; }
.tdh-story__how--text .tdh-story__steps em { color: #c9a96a; }
.tdh-story__how--text .tdh-story__steps u { display: none; }
.tdh-story__spec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: start; margin-top: 26px; }
.tdh-story__spec--solo { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.tdh-story__spec img { display: block; width: 100%; border-radius: 16px; }
.tdh-story__spec table { width: 100%; border-collapse: collapse; background: none; font-size: 15px; }
.tdh-story__spec td { padding: 12px 0; border: 0; border-bottom: 1px solid #26272a; background: none; color: #fff; vertical-align: top; }
.tdh-story__spec td:first-child { width: 42%; padding-right: 12px; color: #b9b4ab; }
.tdh-story .tdh-story__spec h3 { margin: 28px 0 10px; color: #c9a96a; font-size: 11px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; }
.tdh-story__box { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tdh-story__box li { margin: 0; padding: 7px 14px; border: 1px solid #3a3a3d; border-radius: 99px; color: #e2ddd4; font-size: 14px; list-style: none; }
.tdh-story.has-motion [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease var(--d, 0ms), transform .7s ease var(--d, 0ms); }
.tdh-story.has-motion [data-reveal].is-in { opacity: 1; transform: none; }
.tdh-story.has-motion .tdh-story__tile.is-in:hover { transform: translateY(-3px); }
@media (max-width: 800px) {
  .tdh-story { margin: 20px 0; }
  .tdh-story__wrap { padding: 0 14px; }
  .tdh-story__film video { max-height: none; aspect-ratio: 4 / 5; }
  .tdh-story__cap { padding: 70px 0 20px; }
  .tdh-story__sub { font-size: 15px; }
  .tdh-story__stats { grid-template-columns: repeat(2, 1fr); }
  .tdh-story__stats div { padding: 24px 8px 22px; }
  .tdh-story__stats div:nth-child(odd) { border-left: 0; }
  .tdh-story__stats div:nth-child(n+3) { border-top: 1px solid #26272a; }
  .tdh-story__sec { padding-top: 44px; }
  .tdh-story__sec--last { padding-bottom: 48px; }
  .tdh-story__tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .tdh-story__tile { padding: 20px 18px 22px; }
  .tdh-story__how { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .tdh-story__stage { aspect-ratio: 4 / 3; }
  .tdh-story__steps span { font-size: 16px; }
  .tdh-story__steps button { padding: 16px 0 18px; }
  .tdh-story__how--text .tdh-story__steps { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .tdh-story__spec { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

/* ===== Cart drawer: compact duties row, Trustpilot line (snippets/tdh-duties.liquid, tdh-cart-trustpilot.liquid) ===== */
.tdh-duties--note { margin: 12px 0; }
.tdh-duties--ack { margin: 0 0 8px; }
.tdh-duties--ack .tdh-duties__ack { margin: 0; padding: 0; font-size: 12.5px; line-height: 1.35; }
.tdh-duties--ack .tdh-duties__ack input { width: 18px; height: 18px; margin-top: 1px; }
.tdh-duties--ack .tdh-duties__err { margin: 4px 0 0 27px; font-size: 12.5px; }
.tdh-duties__why { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tdh-cart-tp { margin: 8px 0 0; min-height: 24px; text-align: center; }
.tdh-cart-tp a { color: #6b6b6b; font-size: 12px; text-decoration: underline; }
/* the list is the only part of the drawer that scrolls, and it never scrolls sideways */
.cart-drawer .cart__scrollable, #HeaderCart .cart__scrollable { overflow-x: hidden; }

/* ===== Homepage brand strip (sections/tdh-brand-strip.liquid) ===== */
.tdh-strip { margin: 28px 0; background: #2b1a17; }
.tdh-strip__link { position: relative; display: block; height: 240px; overflow: hidden; color: #fff; text-decoration: none; }
.tdh-strip__media { position: absolute; top: 0; right: 0; bottom: 0; width: 68%; background: #0b0b0c; }
.tdh-strip__media img, .tdh-strip__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tdh-strip__media video { opacity: 0; transition: opacity .8s ease; }
.tdh-strip.is-playing .tdh-strip__media video { opacity: 1; }
.tdh-strip__media::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #2b1a17 0%, rgba(17, 18, 18, .7) 22%, rgba(17, 18, 18, .15) 60%, rgba(17, 18, 18, .35) 100%); }
.tdh-strip__in { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1240px; height: 100%; margin: 0 auto; padding: 0 24px; }
.tdh-strip__text { display: block; max-width: 520px; }
.tdh-strip__eyebrow { display: block; margin-bottom: 8px; color: #c9a96a; font-size: 11px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; }
.tdh-strip__h { display: block; color: #fff; font-size: clamp(44px, 6vw, 84px); font-weight: 300; letter-spacing: .14em; line-height: 1; }
.tdh-strip__p { display: block; margin-top: 12px; color: #e2ddd4; font-size: 16px; }
.tdh-strip__btn { display: inline-flex; flex: none; align-items: center; gap: 8px; padding: 14px 22px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 10px; background: rgba(17, 18, 18, .35); color: #fff; font-size: 15px; font-weight: 700; backdrop-filter: blur(6px); transition: background .2s ease, color .2s ease; }
.tdh-strip__btn svg { width: 16px; height: 16px; }
.tdh-strip__link:hover .tdh-strip__btn { border-color: #fff; background: #fff; color: #2b1a17; }
@media (max-width: 768px) {
  .tdh-strip { margin: 18px 0; }
  .tdh-strip--desktop { display: none; }
  .tdh-strip__link { height: 150px; }
  .tdh-strip__media { width: 100%; }
  .tdh-strip__media::after { background: linear-gradient(90deg, rgba(17, 18, 18, .92) 0%, rgba(17, 18, 18, .6) 55%, rgba(17, 18, 18, .35) 100%); }
  .tdh-strip__in { padding: 0 14px; gap: 10px; }
  .tdh-strip__h { font-size: 38px; }
  .tdh-strip__p { margin-top: 6px; font-size: 13px; }
  .tdh-strip__btn { padding: 10px 12px; font-size: 13px; }
}
/* brand strip: long brand names, and a row of the collection's products when it has no picture of its own */
.tdh-strip__h--long { font-size: clamp(30px, 3.8vw, 52px); letter-spacing: .06em; line-height: 1.05; }
.tdh-strip__shots { position: absolute; inset: 0; display: flex; justify-content: flex-end; gap: 0; background: #f6f6f4; }
.tdh-strip__media .tdh-strip__shots img { position: static; flex: 1 1 0; width: auto; min-width: 0; height: 100%; object-fit: cover; }
@media (max-width: 768px) {
  .tdh-strip__h--long { font-size: 24px; }
  .tdh-strip__shots img:nth-child(n+3) { display: none; }
}
.tdh-strip__media > img { object-position: 100% 50%; }

/* ===== Email signup as a full-width band (sections/tdh-signup.liquid) ===== */
.tdh-signup-band { margin: 28px 0; background: #2b1a17; }
.tdh-signup-band .tdh-signup { margin: 0; padding: 26px 0; border-radius: 0; background: none; }
@media (min-width: 769px) {
  .tdh-signup-band { margin: 44px 0; }
  .tdh-signup-band .tdh-signup { margin: 0; padding: 38px 0; }
}

/* ===== Toy finder invitation as a full-width band on the homepage (sections/tdh-quiz-banner.liquid) ===== */
.tdh-quizband { margin: 18px 0; background: #2b1a17; }
.tdh-quizband[hidden] { display: none; }
.tdh-quizband .tdh-quizbar { margin: 0; padding: 18px 0; border-radius: 0; background: none; }
@media (min-width: 769px) { .tdh-quizband .tdh-quizbar { padding: 22px 0; } }

/* ===== Cart footer, compressed: more room for the items and suggestions (drawer and cart page) ===== */
.tdh-cart-line--shipping small { margin-left: 6px; color: #6b6b6b; font-size: 12px; font-weight: 400; white-space: nowrap; }
.tdh-cart-line--shipping > span:first-child { min-width: 0; }
.cart__footer .cart__item--subtotal, .cart .cart__item--subtotal { margin-bottom: 2px !important; padding-bottom: 0 !important; }
.cart__footer .tdh-cart-subtotal, .cart__footer [data-subtotal], .cart .tdh-cart-subtotal, [data-subtotal].tdh-cart-subtotal { font-size: 21px !important; }
.cart__footer .tdh-cart-line, .cart .tdh-cart-line { margin-top: 2px; margin-bottom: 0; font-size: 13.5px; line-height: 1.35; }
.cart__footer .cart__discounts, .cart .cart__discounts { margin-bottom: 8px; }
.cart__footer .cart__checkout-wrapper, .cart .cart__checkout-wrapper { margin-top: 0 !important; padding-top: 0 !important; }
.cart__checkout-wrapper .cart__checkout { min-height: 46px; }
/* "Continue shopping": the page already has the header and the back button */
.cart__checkout-wrapper .cart__continue { display: none !important; }
/* duties: one row, explanation folded */
.tdh-duties-fold { margin: 0 0 8px; }
.tdh-duties-fold[hidden] { display: none; }
.tdh-duties-fold .tdh-duties--note { margin: 0 0 6px; }
.tdh-duties--ack { margin: 0 0 8px; }
/* trust items: one slim line each, three across, then billing and Trustpilot close under it */
.tdh-cart-trust, .cart-drawer .tdh-cart-trust { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin: 8px 0 0 !important; padding: 0; }
.tdh-cart-trust li, .cart-drawer .tdh-cart-trust li { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 4px; min-width: 0; padding: 4px 2px; border-radius: 6px; font-size: 10.5px; line-height: 1.2; letter-spacing: -.01em; white-space: nowrap; }
.tdh-cart-trust svg, .cart-drawer .tdh-cart-trust svg { flex: 0 0 auto; width: 13px; height: 13px; }
.tdh-cart-billing, .cart-drawer .tdh-cart-billing { margin: 5px 0 0; font-size: 11.5px; line-height: 1.3; }
.tdh-cart-tp { margin: 3px 0 0; min-height: 22px; }
/* the billing-name statement line is left out of the drawer (it stays on the cart page and product pages) */
.cart-drawer .tdh-cart-billing, #HeaderCart .tdh-cart-billing { display: none !important; }

/* ===== Brand page, light look (sections/tdh-brand-page.liquid; first used for Satisfyer) ===== */
.tdh-brandpg__wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.tdh-brandpg__eyebrow { display: block; color: #b8521f; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.tdh-brandpg .tdh-brandpg__h1, .tdh-brandpg .tdh-brandpg__h2 { margin: 0; color: #2b1a17; font-weight: 800; letter-spacing: -.01em; text-transform: none; }
.tdh-brandpg .tdh-brandpg__h1 { margin: 8px 0 8px; font-size: clamp(28px, 4vw, 48px); line-height: 1.08; }
.tdh-brandpg .tdh-brandpg__h2 { margin: 8px 0 16px; font-size: clamp(24px, 3.2vw, 34px); line-height: 1.15; }
.tdh-brandpg__hero { background: #f6f6f4; }
.tdh-brandpg__hero-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; min-height: 250px; padding-top: 18px; padding-bottom: 18px; }
.tdh-brandpg__hero--slim .tdh-brandpg__hero-in { display: block; min-height: 0; padding-top: 18px; padding-bottom: 14px; }
.tdh-brandpg__p { max-width: 520px; margin: 0; color: #444; font-size: 16px; line-height: 1.5; }
.tdh-brandpg__shots { display: flex; align-items: center; justify-content: flex-end; gap: 6px; height: 214px; }
.tdh-brandpg__shots img { flex: 0 1 auto; width: auto; max-width: 33%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.tdh-brandpg__shots img.tdh-brandpg__one { max-width: 100%; border-radius: 12px; mix-blend-mode: normal; object-fit: cover; }
.tdh-brandpg__nav { border-bottom: 1px solid #e6e6e6; background: #fff; }
.tdh-brandpg__nav .tdh-brandpg__wrap { display: flex; gap: 6px; padding-top: 10px; padding-bottom: 10px; overflow-x: auto; scrollbar-width: none; }
.tdh-brandpg__nav .tdh-brandpg__wrap::-webkit-scrollbar { display: none; }
.tdh-brandpg__nav a { flex: none; padding: 8px 15px; border: 1px solid #d3d1c7; border-radius: 99px; color: #2b1a17; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.tdh-brandpg__nav a:hover, .tdh-brandpg__nav a.is-on { border-color: #2b1a17; background: #2b1a17; color: #fff; }
.tdh-brandpg--bottom { margin-top: 32px; border-top: 1px solid #e6e6e6; background: #f6f6f4; color: #2b1a17; }
.tdh-brandpg__why { border-bottom: 1px solid #e6e6e6; background: #fff; }
.tdh-brandpg__why .tdh-brandpg__wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.tdh-brandpg__why .tdh-brandpg__wrap > div { padding: 18px 12px; border-left: 1px solid #e6e6e6; color: #6b6b6b; font-size: 13px; text-align: center; }
.tdh-brandpg__why .tdh-brandpg__wrap > div:first-child { border-left: 0; }
.tdh-brandpg__why b { display: block; margin-bottom: 2px; color: #2b1a17; font-size: 15px; font-weight: 700; }
.tdh-brandpg__sec { padding: 40px 0 0; }
.tdh-brandpg__needs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.tdh-brandpg__need { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; color: #2b1a17; text-decoration: none; }
.tdh-brandpg__need:hover { border-color: #2b1a17; }
.tdh-brandpg__need img { flex: none; width: 76px; height: 76px; border-radius: 8px; background: #f6f6f4; object-fit: contain; }
.tdh-brandpg__need b { display: block; font-size: 16px; font-weight: 700; line-height: 1.25; }
.tdh-brandpg__need span span { display: block; margin: 2px 0 4px; color: #6b6b6b; font-size: 13px; }
.tdh-brandpg__need em { color: #b8521f; font-size: 13px; font-style: normal; font-weight: 600; }
.tdh-brandpg__about { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 44px; align-items: start; padding: 44px 0 52px; scroll-margin-top: 20px; }
.tdh-brandpg__about p { max-width: 620px; margin: 0 0 12px; color: #444; font-size: 16px; line-height: 1.65; }
.tdh-brandpg__facts { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; overflow: hidden; }
.tdh-brandpg__facts div { padding: 18px 16px; border-top: 1px solid #e6e6e6; border-left: 1px solid #e6e6e6; }
.tdh-brandpg__facts div:nth-child(-n+2) { border-top: 0; }
.tdh-brandpg__facts div:nth-child(odd) { border-left: 0; }
.tdh-brandpg__facts b { display: block; margin-bottom: 4px; font-size: 22px; font-weight: 800; line-height: 1.15; }
.tdh-brandpg__facts span { color: #6b6b6b; font-size: 13px; }
@media (max-width: 768px) {
  .tdh-brandpg__wrap { padding: 0 14px; }
  .tdh-brandpg__hero-in { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 8px; min-height: 0; padding-top: 14px; padding-bottom: 12px; }
  .tdh-brandpg__p { font-size: 13.5px; }
  .tdh-brandpg__shots { height: 120px; gap: 0; }
  .tdh-brandpg__shots img { max-width: 50%; }
  .tdh-brandpg__shots img:nth-child(3) { display: none; }
  .tdh-brandpg__why .tdh-brandpg__wrap { grid-template-columns: repeat(2, 1fr); }
  .tdh-brandpg__why .tdh-brandpg__wrap > div { padding: 12px 8px; }
  .tdh-brandpg__why .tdh-brandpg__wrap > div:nth-child(3) { border-left: 0; }
  .tdh-brandpg__why .tdh-brandpg__wrap > div:nth-child(n+3) { border-top: 1px solid #e6e6e6; }
  .tdh-brandpg__needs { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .tdh-brandpg__need img { width: 64px; height: 64px; }
  .tdh-brandpg__about { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 32px 0 36px; }
}

/* ===== LELO story band: our description's opening and the size block inside it (blend() in sections/tdh-lelo-story.liquid) ===== */
.tdh-story__about { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.tdh-story__about-main:only-child { grid-column: 1 / -1; max-width: 820px; }
.tdh-story__about p { margin: 16px 0 0; color: #e2ddd4; font-size: 17px; line-height: 1.65; }
.tdh-story__about .tdh-story__best { padding: 16px 0 0; border-top: 1px solid #26272a; color: #fff; }
.tdh-story__best b { display: block; margin-bottom: 6px; color: #c9a96a; font-size: 11px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; }
.tdh-story__about .tdh-story__box { margin-top: 20px; }
.tdh-story__note { padding: 26px 24px; border: 1px solid #303134; border-left: 2px solid #c9a96a; border-radius: 0 14px 14px 0; background: linear-gradient(160deg, #1c1d20 0%, #151617 100%); }
.tdh-story__note b { display: block; font-size: 20px; font-weight: 700; line-height: 1.25; }
.tdh-story__about .tdh-story__note p { margin-top: 10px; color: #b9b4ab; font-size: 15px; line-height: 1.6; }
.tdh-story__more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin: 26px 0 0; }
.tdh-story__more div { padding: 14px 0; border-top: 1px solid #26272a; }
.tdh-story__more dt { font-size: 16px; font-weight: 700; color: #fff; }
.tdh-story__more dd { margin: 3px 0 0; color: #b9b4ab; font-size: 15px; line-height: 1.5; }
.tdh-story__size .tdh-size--dark { max-width: none; margin: 26px 0 0; border-color: #303134; background: linear-gradient(160deg, #1c1d20 0%, #151617 100%); color: #fff; }
.tdh-size--dark .tdh-size__title { display: none; }
.tdh-size--dark .tdh-size__art { background: #f3efe8; }
.tdh-size--dark .tdh-size__stats > div { border: 1px solid #303134; background: none; }
.tdh-size--dark .tdh-size__stats dd { font-size: 26px; font-weight: 300; letter-spacing: -.01em; }
.tdh-size--dark .tdh-size__stats dt, .tdh-size--dark .tdh-size__ticks, .tdh-size--dark .tdh-size__bar { color: #b9b4ab; }
.tdh-size--dark .tdh-size__label { color: #c9a96a; font-size: 11px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; }
.tdh-size--dark .tdh-size__bar.is-toy, .tdh-size--dark .tdh-size__bar b { color: #fff; }
.tdh-size--dark .tdh-size__bar i { background: #3a3a3d; }
.tdh-size--dark .tdh-size__bar.is-toy i { background: #c9a96a; }
.tdh-size--dark .tdh-size__track { background: #303134; }
.tdh-size--dark .tdh-size__track i { border-color: #151617; background: #c9a96a; box-shadow: 0 0 0 1px #c9a96a; }
.tdh-size--dark .tdh-size__say { border: 1px solid #303134; background: none; color: #e2ddd4; font-weight: 400; }
.tdh-size--dark .tdh-size__note { color: #8d8a84; }
@media (max-width: 800px) {
  .tdh-story__about { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .tdh-story__about p { font-size: 16px; }
  .tdh-story__more { grid-template-columns: minmax(0, 1fr); }
  .tdh-story__note { padding: 20px 18px; }
}

/* ===== Slim brand bar above the product (sections/tdh-brand-bar.liquid) ===== */
.tdh-brandbar { display: block; background: #2b1a17; color: #fff !important; text-decoration: none !important; }
.tdh-brandbar__in { display: flex; align-items: center; gap: 16px; max-width: 1500px; margin: 0 auto; padding: 12px 20px; font-size: 14px; line-height: 1.3; }
.tdh-brandbar b { flex: 0 0 auto; color: #c9a96a; font-size: 13px; font-weight: 500; letter-spacing: .32em; }
.tdh-brandbar__text { flex: 1 1 auto; min-width: 0; color: #e2ddd4; }
.tdh-brandbar__go { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; white-space: nowrap; }
.tdh-brandbar__go svg { width: 15px; height: 15px; }
@media (max-width: 768px) {
  .tdh-brandbar__in { gap: 10px; padding: 9px 14px; font-size: 13px; }
  .tdh-brandbar__text { display: none; }
  .tdh-brandbar__go { margin-left: auto; }
}

/* ===== LELO story band: the rest of our description closes the band (blend() in sections/tdh-lelo-story.liquid) =====
   The description carries its own light styles in a <style> tag; these win by being more specific. */
.tdh-story__desc { padding-bottom: 72px; }
.tdh-story__sec--last + .tdh-story__desc { padding-top: 0; }
.tdh-story .tdh-wrap { max-width: 860px; margin-top: 18px; color: #e2ddd4; font-size: 16px; line-height: 1.65; }
.tdh-story .tdh-wrap :is(h2, h3) { margin: 34px 0 12px; color: #fff; font-size: 22px; font-weight: 300; letter-spacing: -.01em; }
.tdh-story .tdh-wrap > :is(h2, h3):first-child, .tdh-story .tdh-wrap > [hidden] + :is(h2, h3) { margin-top: 0; }
.tdh-story .tdh-wrap :is(p, li, td, strong, summary) { color: inherit; }
.tdh-story .tdh-wrap :is(strong, summary) { color: #fff; }
.tdh-story .tdh-wrap a, .tdh-story .tdh-wrap a:visited { color: #c9a96a; }
.tdh-story .tdh-wrap ul li::marker { color: #c9a96a; }
.tdh-story .tdh-wrap td, .tdh-story .tdh-wrap .tdh-glance tr:nth-child(odd) td { border-bottom: 1px solid #26272a; background: none; }
.tdh-story .tdh-wrap :is(.tdh-tip, .tdh-qa, .tdh-cta, .tdh-disclaimer, .tdh-faq details) { border: 1px solid #303134; border-radius: 14px; background: linear-gradient(160deg, #1c1d20 0%, #151617 100%); color: #e2ddd4; }
.tdh-story .tdh-wrap .tdh-tip { border-left: 2px solid #c9a96a; border-radius: 0 14px 14px 0; }
.tdh-story .tdh-wrap .tdh-faq details { padding: 14px 18px; }
.tdh-story .tdh-wrap .tdh-faq details[open] { border-color: #c9a96a; background: #1c1d20; }
.tdh-story .tdh-wrap .tdh-faq summary { font-size: 16px; font-weight: 700; }
.tdh-story .tdh-wrap .tdh-cta { padding: 24px 20px; }
.tdh-story .tdh-wrap .tdh-cta h3 { margin: 0 0 8px; }
.tdh-story .tdh-wrap .tdh-disclaimer { border: 0; background: none; padding: 0; color: #8d8a84; }
@media (max-width: 800px) {
  .tdh-story__desc { padding-bottom: 48px; }
  .tdh-story .tdh-wrap :is(h2, h3) { font-size: 20px; }
}

/* ===== Category tile pictures (assets/tdh-cat-<handle>.jpg, set in snippets/list.collection-card.liquid): the picture fills the tile ===== */
.collection-image img.tdh-cat-img { padding: 0; object-fit: cover; }

/* WW: TDH Halloween accents removed */
/* ===== Homepage: premium brands row (templates/index.json, section "tdh_premium_row"). A warm band, so the page
   is not one white row after another; the small line above the heading names the brands. ===== */
/* it starts flush under the dark brand strip above it (the strip keeps 28px / 18px of space below itself) */
.shopify-section[id$="__tdh_premium_row"] { margin-top: -28px; margin-bottom: 40px; padding: 38px 0 34px; background: #f5f1ea; }
.shopify-section[id$="__tdh_premium_row"] .section-header__title::before { content: "LELO \00B7  Womanizer \00B7  We-Vibe \00B7  Satisfyer"; display: block; margin-bottom: 8px; color: #5b6170; font-size: 12px; font-weight: 600; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
@media (max-width: 768px) {
  .shopify-section[id$="__tdh_premium_row"] { margin-top: -18px; margin-bottom: 28px; padding: 28px 0 24px; }
  .shopify-section[id$="__tdh_premium_row"] .section-header__title::before { font-size: 11px; letter-spacing: .12em; }
}
/* with no products to show (collection missing or empty) the band disappears as well */
.shopify-section[id$="__tdh_premium_row"]:not(:has(.grid-item)) { display: none; }

/* ===== Homepage Trustpilot line (sections/tdh-trustpilot-strip.liquid). The large box the Trustpilot app inserts above the first product row is hidden on the homepage. ===== */
.template-index #MainContent [id^="trustpilot-widget-trustbox-"][id$="-wrapper"] { display: none !important; }
.tdh-tpline { margin: 4px 0 26px; padding: 14px 12px; border: 1px solid #e6e3dc; border-radius: 12px; min-height: 54px; text-align: center; }
.tdh-tpline a { color: #6b6b6b; font-size: 13px; text-decoration: underline; }

/* ===== Homepage collection grids (categories, brands): same side margins as the product rows on desktop.
   The theme gives these grids a 16px gutter while every other section uses the page gutter (40px). ===== */
@media (min-width: 769px) {
  .template-index .layout-section--featured-collections { padding-inline: var(--page-width-padding); }
  .template-index .layout-section--featured-collections > .layout-section__content { max-inline-size: calc(var(--page-width) - 2 * var(--page-width-padding)); }
}

/* ===== Related collections band on the product page (sections/tdh-related-collections.liquid) ===== */
.tdh-relcol { margin: 26px 0; padding: 30px 0 34px; background: #faf5f1; }
.tdh-relcol__eyebrow { display: block; color: #b8521f; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.tdh-relcol__h { margin: 4px 0 16px; font-size: 24px; line-height: 1.2; }
.tdh-relcol__links { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.tdh-relcol__links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 12px 14px; border: 1px solid #e8dcd3; border-radius: 10px; background: #fff; color: #2b1a17; font-size: 15px; font-weight: 500; line-height: 1.2; text-decoration: none; transition: border-color .15s ease; }
.tdh-relcol__links a:hover { border-color: #2b1a17; }
.tdh-relcol__links a small { flex: 0 0 auto; color: #8a8a8a; font-size: 12px; font-weight: 400; }
.tdh-relcol__links a.tdh-relcol__brand { background: #2b1a17; border-color: #2b1a17; color: #fff; }
.tdh-relcol__links a.tdh-relcol__brand small { color: #c4c4c4; }
@media (max-width: 768px) {
  .tdh-relcol { margin: 18px 0; padding: 22px 0 24px; }
  .tdh-relcol__h { font-size: 21px; margin-bottom: 14px; }
  .tdh-relcol__links { grid-template-columns: 1fr 1fr; gap: 8px; }
  .tdh-relcol__links a { padding: 11px 12px; font-size: 14px; }
  .tdh-relcol__links a.tdh-relcol__brand { grid-column: 1 / -1; }
}

/* ===== Homepage: premium brands tabs (sections/tdh-premium-tabs.liquid), inside the warm band of "tdh_premium_row" ===== */
.tdh-ptabs__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 24px; }
.tdh-ptabs__eyebrow { display: block; color: #b8521f; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.tdh-ptabs__h { margin: 4px 0 0; font-size: clamp(23px, 2.4vw, 30px); line-height: 1.15; }
.tdh-ptabs__all { color: #2b1a17; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.tdh-ptabs__tabs { display: flex; gap: 8px; margin: 16px 0 20px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.tdh-ptabs__tabs::-webkit-scrollbar { display: none; }
.tdh-ptabs__tab { flex: 0 0 auto; min-height: 44px; padding: 10px 18px; border: 1px solid #e0d5cc; border-radius: 999px; background: #fff; color: #2b1a17; font: inherit; font-size: 15px; font-weight: 500; line-height: 1.2; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.tdh-ptabs__tab:hover { border-color: #2b1a17; }
.tdh-ptabs__tab.is-on { background: #2b1a17; border-color: #2b1a17; color: #fff; font-weight: 700; }
.tdh-ptabs__tab:focus-visible { outline: 2px solid #b8521f; outline-offset: 2px; }
.tdh-ptabs__panel[hidden] { display: none; }
.tdh-ptabs__panel .product-grid.is-loading { min-height: 320px; opacity: .5; }
.tdh-ptabs__empty { margin: 24px 0; font-weight: 700; }
/* slideshow: one <picture> per slide (snippets/section.slideshow.liquid) */
.tdh-hero-picture { display: block; width: 100%; height: 100%; }
@media (max-width: 768px) {
  .tdh-ptabs__tabs { margin: 14px -17px 16px; padding: 0 17px; }
  .tdh-ptabs__all { font-size: 13px; }
}

/* ===== Brand page looks (sections/tdh-brand-page.liquid, setting "Look") =====
   Each brand's page wears its own colours, lettering and shapes, set as variables per look and used by
   the rules below. The plain look (Satisfyer) is the base above and sets none of these. */
.tdh-brandpg__shot { display: flex; flex: 0 1 auto; max-width: 33%; height: 100%; align-items: center; justify-content: center; }
.tdh-brandpg__shots .tdh-brandpg__shot img { max-width: 100%; }
@media (max-width: 768px) { .tdh-brandpg__shot { max-width: 50%; } .tdh-brandpg__shot:nth-child(3) { display: none; } }
/* technology tiles (all looks, the plain one included) */
.tdh-brandpg__tech { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tdh-brandpg__tech div { padding: 20px 18px 22px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; }
.tdh-brandpg__tech i { display: block; margin-bottom: 12px; color: #b8521f; font-size: 12px; font-style: normal; font-weight: 700; letter-spacing: .2em; }
.tdh-brandpg__tech b { display: block; margin-bottom: 6px; font-size: 18px; font-weight: 700; line-height: 1.2; }
.tdh-brandpg__tech span { color: #6b6b6b; font-size: 14px; line-height: 1.5; }
@media (max-width: 900px) { .tdh-brandpg__tech { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .tdh-brandpg__tech div { padding: 14px 12px 16px; } .tdh-brandpg__tech b { font-size: 16px; } }

/* the looks: variables */
.tdh-brandpg--look-womanizer { --bp-bg: #0d0d0d; --bp-ink: #fff; --bp-muted: #bdbdbd; --bp-accent: #ff4f5e; --bp-on-accent: #0d0d0d; --bp-pill: #1c1c1c; --bp-pill-ink: #fff; --bp-pill-line: #2c2c2c; --bp-shot: #fff; --bp-radius: 6px; --bp-h-weight: 800; --bp-h-space: -.02em; --bp-h-case: none; --bp-eb-space: .22em; --bp-band: #0d0d0d; --bp-band-ink: #fff; --bp-band-muted: #bdbdbd; --bp-surface: #171717; --bp-line: #2a2a2a; }
.tdh-brandpg--look-wevibe { --bp-bg: linear-gradient(135deg, #5b2a86 0%, #8a3fa6 55%, #c45fae 100%); --bp-ink: #fff; --bp-muted: #f0e3f7; --bp-accent: #ffd6f3; --bp-on-accent: #3a1558; --bp-pill: rgba(255, 255, 255, .16); --bp-pill-ink: #fff; --bp-pill-line: transparent; --bp-shot: #fff; --bp-radius: 22px; --bp-h-weight: 700; --bp-h-space: -.01em; --bp-h-case: none; --bp-eb-space: .14em; --bp-band: #f7f0fb; --bp-band-ink: #2a1740; --bp-band-muted: #6b5680; --bp-surface: #fff; --bp-line: #e6d8f0; --bp-band-accent: #8a3fa6; }
.tdh-brandpg--look-lewand { --bp-bg: #f6ebe6; --bp-ink: #3b2a26; --bp-muted: #7a625b; --bp-accent: #a85c68; --bp-on-accent: #fff; --bp-pill: #fff; --bp-pill-ink: #3b2a26; --bp-pill-line: #e3cfc7; --bp-shot: #fff; --bp-radius: 2px; --bp-h-weight: 400; --bp-h-space: .01em; --bp-h-case: none; --bp-eb-space: .3em; --bp-h-font: Georgia, "Times New Roman", serif; --bp-band: #fbf5f2; --bp-band-ink: #3b2a26; --bp-band-muted: #7a625b; --bp-surface: #fff; --bp-line: #ead9d2; }
.tdh-brandpg--look-arcwave { --bp-bg: radial-gradient(120% 140% at 80% 0%, #12383d 0%, #0b1416 55%, #080b0c 100%); --bp-ink: #e9f7f7; --bp-muted: #9fb9bb; --bp-accent: #4fe3d6; --bp-on-accent: #06201e; --bp-pill: rgba(79, 227, 214, .12); --bp-pill-ink: #c9fbf6; --bp-pill-line: rgba(79, 227, 214, .25); --bp-shot: #f4f7f7; --bp-radius: 10px; --bp-h-weight: 600; --bp-h-space: .02em; --bp-h-case: uppercase; --bp-eb-space: .34em; --bp-band: #0b1416; --bp-band-ink: #e9f7f7; --bp-band-muted: #9fb9bb; --bp-surface: #111e21; --bp-line: #1f3336; }
.tdh-brandpg--look-lovense { --bp-bg: #fff0f6; --bp-ink: #2b0a1a; --bp-muted: #7b4a5f; --bp-accent: #e6176f; --bp-on-accent: #fff; --bp-pill: #fff; --bp-pill-ink: #2b0a1a; --bp-pill-line: #ffc2dc; --bp-shot: #fff; --bp-radius: 999px; --bp-h-weight: 800; --bp-h-space: -.02em; --bp-h-case: none; --bp-eb-space: .16em; --bp-band: #fff7fa; --bp-band-ink: #2b0a1a; --bp-band-muted: #7b4a5f; --bp-surface: #fff; --bp-line: #ffd3e5; }
.tdh-brandpg--look-kiiroo { --bp-bg: #0a0a0a; --bp-ink: #fff; --bp-muted: #a8a8a8; --bp-accent: #ff6a13; --bp-on-accent: #0a0a0a; --bp-pill: #1a1a1a; --bp-pill-ink: #fff; --bp-pill-line: #2b2b2b; --bp-shot: #fff; --bp-radius: 0px; --bp-h-weight: 800; --bp-h-space: .01em; --bp-h-case: uppercase; --bp-eb-space: .28em; --bp-band: #0a0a0a; --bp-band-ink: #fff; --bp-band-muted: #a8a8a8; --bp-surface: #161616; --bp-line: #2b2b2b; }
.tdh-brandpg--look-doxy { --bp-bg: #0f1b2d; --bp-ink: #f1f3f6; --bp-muted: #a9b4c4; --bp-accent: #ff5266; --bp-on-accent: #0f1b2d; --bp-pill: #1b2a42; --bp-pill-ink: #f1f3f6; --bp-pill-line: #2a3c5a; --bp-shot: #fff; --bp-radius: 4px; --bp-h-weight: 700; --bp-h-space: 0; --bp-h-case: none; --bp-eb-space: .24em; --bp-band: #f3f5f8; --bp-band-ink: #0f1b2d; --bp-band-muted: #56647a; --bp-surface: #fff; --bp-line: #dbe1ea; --bp-band-accent: #c81e34; }

/* the looks: how the variables are used. :not(--look-plain) keeps the Satisfyer page as it is */
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) { background: var(--bp-bg); }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__hero { background: none; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__hero-in { min-height: 280px; padding-top: 30px; padding-bottom: 14px; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__hero--slim .tdh-brandpg__hero-in { min-height: 0; padding-top: 22px; padding-bottom: 8px; }
.tdh-brandpg:not(.tdh-brandpg--look-plain) .tdh-brandpg__eyebrow { color: var(--bp-accent); letter-spacing: var(--bp-eb-space); }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__h1 { color: var(--bp-ink); font-family: var(--bp-h-font, inherit); font-weight: var(--bp-h-weight); letter-spacing: var(--bp-h-space); text-transform: var(--bp-h-case); font-size: clamp(30px, 4.6vw, 56px); line-height: 1.04; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__p { color: var(--bp-muted); font-size: 17px; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shots { gap: 10px; height: 220px; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shot { flex: 1 1 0; max-width: 31%; height: auto; aspect-ratio: 1; border-radius: min(var(--bp-radius), 26px); background: var(--bp-shot); overflow: hidden; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shot:nth-child(2) { transform: translateY(-12px); }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shot img { width: 88%; height: 88%; object-fit: contain; mix-blend-mode: normal; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__nav { border-bottom: 0; background: none; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__nav .tdh-brandpg__wrap { padding-top: 6px; padding-bottom: 18px; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__nav a { border: 1px solid var(--bp-pill-line); border-radius: var(--bp-radius); background: var(--bp-pill); color: var(--bp-pill-ink); font-weight: 700; }
.tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__nav a:hover, .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__nav a.is-on { border-color: var(--bp-accent); background: var(--bp-accent); color: var(--bp-on-accent); }
/* the bottom band */
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) { border-top: 0; background: var(--bp-band); color: var(--bp-band-ink); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__eyebrow { color: var(--bp-band-accent, var(--bp-accent)); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__h2 { color: var(--bp-band-ink); font-family: var(--bp-h-font, inherit); font-weight: var(--bp-h-weight); letter-spacing: var(--bp-h-space); text-transform: var(--bp-h-case); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__why { border-bottom: 1px solid var(--bp-line); background: var(--bp-surface); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__why .tdh-brandpg__wrap > div { border-color: var(--bp-line); color: var(--bp-band-muted); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__why b { color: var(--bp-band-ink); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) :is(.tdh-brandpg__tech div, .tdh-brandpg__need, .tdh-brandpg__facts) { border-color: var(--bp-line); border-radius: min(var(--bp-radius), 18px); background: var(--bp-surface); color: var(--bp-band-ink); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__facts div { border-color: var(--bp-line); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__need:hover { border-color: var(--bp-band-accent, var(--bp-accent)); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__need img { border-radius: min(var(--bp-radius), 12px); background: #fff; }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) :is(.tdh-brandpg__tech i, .tdh-brandpg__need em) { color: var(--bp-band-accent, var(--bp-accent)); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) :is(.tdh-brandpg__tech span, .tdh-brandpg__need span span, .tdh-brandpg__facts span, .tdh-brandpg__about p) { color: var(--bp-band-muted); }
.tdh-brandpg--bottom:not(.tdh-brandpg--look-plain) .tdh-brandpg__facts b { font-family: var(--bp-h-font, inherit); font-weight: var(--bp-h-weight); }
/* per-brand touches that variables do not cover */
.tdh-brandpg--look-lewand .tdh-brandpg__hero-in { text-align: left; }
.tdh-brandpg--look-lewand.tdh-brandpg--top .tdh-brandpg__h1 { font-style: italic; }
.tdh-brandpg--look-lewand .tdh-brandpg__nav a { letter-spacing: .08em; text-transform: uppercase; font-size: 12px; font-weight: 600; }
.tdh-brandpg--look-womanizer.tdh-brandpg--top .tdh-brandpg__h1 { font-size: clamp(34px, 5.4vw, 68px); }
.tdh-brandpg--look-womanizer.tdh-brandpg--top .tdh-brandpg__hero { border-bottom: 3px solid var(--bp-accent); }
.tdh-brandpg--look-kiiroo.tdh-brandpg--top .tdh-brandpg__hero-in { border-left: 4px solid var(--bp-accent); padding-left: 16px; }
.tdh-brandpg--look-arcwave .tdh-brandpg__nav a { letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }
.tdh-brandpg--look-arcwave.tdh-brandpg--top .tdh-brandpg__shot { box-shadow: 0 0 0 1px rgba(79, 227, 214, .35), 0 12px 40px rgba(79, 227, 214, .12); }
.tdh-brandpg--look-doxy.tdh-brandpg--top .tdh-brandpg__hero { border-bottom: 3px solid var(--bp-accent); }
.tdh-brandpg--look-wevibe.tdh-brandpg--top .tdh-brandpg__shot { box-shadow: 0 14px 34px rgba(40, 10, 70, .28); }
@media (max-width: 768px) {
  .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__hero-in { min-height: 0; padding-top: 18px; padding-bottom: 8px; }
  .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__p { font-size: 14px; }
  .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shots { height: auto; gap: 6px; }
  .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shot { max-width: 48%; }
  .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__shot:nth-child(2) { transform: translateY(-8px); }
  .tdh-brandpg--top:not(.tdh-brandpg--look-plain) .tdh-brandpg__nav .tdh-brandpg__wrap { padding-bottom: 14px; }
}
/* Svakom: soft lilac and deep plum, light lettering, generous curves */
.tdh-brandpg--look-svakom { --bp-bg: #f1ecfa; --bp-ink: #2d1f47; --bp-muted: #6a5c86; --bp-accent: #7b5cc4; --bp-on-accent: #fff; --bp-pill: #fff; --bp-pill-ink: #2d1f47; --bp-pill-line: #dcd2f0; --bp-shot: #fff; --bp-radius: 16px; --bp-h-weight: 500; --bp-h-space: -.01em; --bp-h-case: none; --bp-eb-space: .22em; --bp-band: #faf8fd; --bp-band-ink: #2d1f47; --bp-band-muted: #6a5c86; --bp-surface: #fff; --bp-line: #e6dff3; }
.tdh-brandpg--look-svakom.tdh-brandpg--top .tdh-brandpg__hero { background-image: linear-gradient(120deg, #f1ecfa 0%, #e6dcf7 60%, #f6e6f1 100%); }
/* Tenga: white, black and signal red, square and bold */
.tdh-brandpg--look-tenga { --bp-bg: #fff; --bp-ink: #111; --bp-muted: #5c5c5c; --bp-accent: #e60012; --bp-on-accent: #fff; --bp-pill: #fff; --bp-pill-ink: #111; --bp-pill-line: #111; --bp-shot: #f4f4f4; --bp-radius: 0px; --bp-h-weight: 800; --bp-h-space: -.02em; --bp-h-case: none; --bp-eb-space: .28em; --bp-band: #111; --bp-band-ink: #fff; --bp-band-muted: #b5b5b5; --bp-surface: #1c1c1c; --bp-line: #2e2e2e; --bp-band-accent: #ff3b47; }
.tdh-brandpg--look-tenga.tdh-brandpg--top .tdh-brandpg__hero { border-top: 6px solid var(--bp-accent); border-bottom: 1px solid #111; }

/* TDH: delivery methods in the cart (snippets/tdh-ship-options.liquid) */
.tdh-ship { margin: 8px 0 4px; border: 1px solid #e6e4e0; border-radius: 10px; overflow: hidden; font-size: 13px; line-height: 1.35; text-align: left; }
.tdh-ship__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 10px; background: #faf8f6; }
.tdh-ship__head b { font-weight: 700; }
.tdh-ship__change { padding: 0; border: 0; background: none; color: #2b1a17; font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; }
.tdh-ship__opt { display: grid; grid-template-columns: 1fr auto; column-gap: 10px; padding: 6px 10px; border-top: 1px solid #e6e4e0; }
.tdh-ship__opt > span { min-width: 0; }
.tdh-ship__opt small { grid-column: 1; color: #6b6b6b; font-size: 11.5px; }
.tdh-ship__opt > b { grid-row: 1 / 3; grid-column: 2; align-self: center; font-weight: 700; white-space: nowrap; }
.tdh-ship__opt > b.is-free { color: #1f7a3a; }
.tdh-ship__opt.is-best { background: #f3faf5; }
.tdh-ship__opt em { margin-left: 5px; padding: 0 6px; border: 1px solid #bfe3c9; border-radius: 20px; color: #1f7a3a; font-size: 10px; font-style: normal; font-weight: 700; vertical-align: 1px; }
.tdh-ship__nudge { padding: 6px 10px; border-top: 1px solid #e6e4e0; background: #f6dcd9; color: #712b13; font-size: 12px; }
.tdh-ship__note { margin: 0; padding: 6px 10px; border-top: 1px solid #e6e4e0; color: #6b6b6b; font-size: 11px; }
/* cart drawer: compact box (cheapest method, nudge, faster options folded); the country chooser and duties stay in the scrolling notice */
.cart__drawer-form .tdh-ship__head, .cart__drawer-form .tdh-ship__note { display: none; }
.cart__drawer-form .tdh-ship__list > :first-child { border-top: 0; }
.tdh-ship__more summary { padding: 6px 10px; border-top: 1px solid #e6e4e0; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; list-style: none; }
.tdh-ship__more summary::-webkit-details-marker { display: none; }
.tdh-ship__more summary::after { content: ' ▾'; text-decoration: none; display: inline-block; margin-left: 3px; }
.tdh-ship__more[open] summary::after { content: ' ▴'; }
.tdh-ship__fine { margin: 0; padding: 5px 10px; border-top: 1px solid #e6e4e0; color: #6b6b6b; font-size: 11px; }
