/* Header */
#header .tdm-header-icon {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  box-shadow:var(--tdm-shadow);
  color:var(--tdm-ink);
}
#header .tdm-header-icon:hover,
#header .tdm-header-icon:focus-visible {
  color:var(--tdm-pink);
}
#header .tdm-header-icon .tdm-icon {
  width:22px;
  height:22px;
  margin:0;
}
#header .tdm-header-icon-on::after {
  content:"";
  position:absolute;
  right:6px;
  bottom:6px;
  width:9px;
  height:9px;
  border:2px solid #fff;
  border-radius:50%;
  background:#3f9a6b;
}
#header .tdm-header-actions .blockcart {
  height:auto;
  margin:0;
  padding:0;
  background:none!important;
}
#header .tdm-header-actions .blockcart .header {
  margin:0;
}
#header .tdm-cart-badge {
  position:absolute;
  top:-4px;
  right:-6px;
  min-width:21px;
  height:21px;
  padding:0 6px;
  border:2px solid #fff;
  border-radius:11px;
  background:var(--tdm-sand);
  color:var(--tdm-ink);
  font-size:11px;
  font-weight:700;
  line-height:17px;
  text-align:center;
}
#header .blockcart.active .tdm-cart-badge {
  background:var(--tdm-pink);
  color:#fff;
}
#header .tdm-lang-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  box-shadow:var(--tdm-shadow);
}
#header .tdm-flag {
  display:block;
  flex:none;
  border-radius:3px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent);
}
#header .tdm-flag-code {
  padding:1px 4px;
  color:var(--tdm-ink);
  font-size:11px;
  font-weight:700;
}
#header .dropdown-menu .dropdown-item.tdm-lang-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 14px;
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
  text-transform:none;
}
#header .dropdown-menu .current .dropdown-item.tdm-lang-item {
  font-weight:700;
}
#header .tdm-lang-item .tdm-flag {
  width:22px;
  height:15px;
}
#header .tdm-lang-item span {
  display:block;
  line-height:15px;
}
#header .language-selector .dropdown-menu,
#header .currency-selector .dropdown-menu {
  right:0;
  left:auto;
}
#header .tdm-currency-toggle {
  padding:0;
}
#header .tdm-currency-toggle .tdm-currency-sign {
  font-size:18px;
  font-weight:700;
  line-height:1;
}
#header .dropdown-menu .dropdown-item.tdm-currency-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 14px;
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  line-height:1;
  text-transform:none;
}
#header .dropdown-menu .current .dropdown-item.tdm-currency-item {
  font-weight:700;
}
#header .tdm-currency-item .tdm-currency-sign {
  min-width:22px;
  text-align:center;
  font-weight:700;
}
#header a:hover {
  color:var(--tdm-pink);
}
#header .tdm-audiences .tdm-toggle-option.tdm-toggle-active,
#header .tdm-audiences .tdm-toggle-option.tdm-toggle-active:hover {
  color:#fff;
}
#header .tdm-audiences .tdm-toggle-option:not(.tdm-toggle-active):hover {
  color:var(--tdm-pink);
}

/* Brand colors over Classic defaults */
.text-primary {
  color:var(--tdm-pink)!important;
}
.btn-link,
.page-link,
.pagination .current a,
.dropdown-item:hover,
.dropdown-item:focus,
#subcategories ul li .subcategory-name:hover,
.footer-container li a:hover,
.account-list a:hover,
.block-promo .promo-code-button.cancel-promo,
.cart-grid-body a.label:hover,
#header .top-menu a[data-depth="0"]:hover,
.search-widget form input[type="text"]:focus+button .search {
  color:var(--tdm-pink);
}
.bg-primary,
.page-item.active .page-link,
.products-sort-order .select-list:hover,
.facet-dropdown .select-list:hover,
.custom-radio input[type="radio"]:checked+span,
.block-social ul li:hover {
  background-color:var(--tdm-pink)!important;
  border-color:var(--tdm-pink)!important;
}

/* Buttons */
.btn-primary:disabled,
.btn-primary:disabled:hover,
.btn-primary:disabled:focus,
.btn-primary.disabled:hover,
.btn-primary.disabled:focus {
  background:color-mix(in srgb,var(--tdm-soft) 66%,#000)!important;
  opacity:.65;
}
.bootstrap-touchspin .btn-touchspin {
  border-color:color-mix(in srgb,var(--tdm-sand) 94%,var(--tdm-ink));
}
.product-add-to-cart .add-to-cart {
  border-radius:28px;
}

/* Forms and focus */
.form-control:focus,
.search-widget form input[type="text"]:focus,
.block_newsletter form input[type="text"]:focus,
.product-customization .product-message:focus {
  border-color:color-mix(in srgb,var(--tdm-pink) 29%,var(--tdm-soft));
  outline:none!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tdm-pink) 10.2%,transparent)!important;
}
.input-group.focus {
  outline:none!important;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
.btn:focus:not(:focus-visible),
.btn:active:focus:not(:focus-visible) {
  outline:0!important;
  box-shadow:none!important;
}
a,
button,
summary,
.btn {
  -webkit-tap-highlight-color:transparent;
}
.facet-dropdown.open>.select-title,
body#checkout section.checkout-step .address-item.selected {
  border-color:var(--tdm-pink);
}

/* Product flags */
.product-flags li.product-flag {
  background:var(--tdm-pink);
  border-radius:14px;
  padding:5px 11px;
  font-size:11px;
  letter-spacing:.5px;
  min-height:0;
  box-shadow:var(--tdm-shadow);
}
.product-flags li.product-flag.out_of_stock {
  background:var(--tdm-ink);
}
.product-flags li.product-flag.discount,
.product-flags li.product-flag.discount-percentage,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.on-sale,
.has-discount .discount {
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep);
}
.product-miniature .product-flags {
  padding:4px 10px;
}
#product .product-flags {
  gap:6px;
  padding:16px 18px;
}
#product .product-flags li.product-flag {
  margin:0;
}
.has-discount.product-price,
.has-discount p {
  color:var(--tdm-pink);
}

/* Product page */
.product-price,
.product-unit-price,
.product-prices .current-price {
  color:var(--tdm-pink);
}
#blockcart-modal .product-name {
  color:var(--tdm-ink);
}
.tabs {
  border-radius:22px;
  box-shadow:var(--tdm-shadow);
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  color:var(--tdm-pink);
  border-bottom:3px solid var(--tdm-pink);
}
.product-images>li.thumb-container>.thumb {
  border-radius:14px;
}
.product-images>li.thumb-container>.thumb.selected,
.product-images>li.thumb-container>.thumb:hover,
#product-modal .modal-content .modal-body .product-images img:hover {
  border:3px solid var(--tdm-pink);
}
.product-cover img {
  border-radius:22px;
}

/* Listing, pagination and product cards */
#subcategories ul li:hover .subcategory-image a {
  border-color:var(--tdm-pink);
}
.product-miniature .thumbnail-container:hover .product-description::after,
.product-miniature .thumbnail-container:focus .product-description::after,
.product-miniature .thumbnail-container:focus-within .product-description::after {
  content:none;
}
#products .highlighted-informations .quick-view,
.featured-products .highlighted-informations .quick-view,
.product-miniature .highlighted-informations .quick-view {
  display:none;
}
#products .product-miniature,
.featured-products .product-miniature {
  height:calc(100% - 24px);
}
#products .thumbnail-container,
.featured-products .thumbnail-container {
  width:100%;
  display:flex;
  flex-direction:column;
  height:100%!important;
  padding:10px;
  transition:transform .25s ease, box-shadow .25s ease;
}
@media (hover:hover) {
  #products .thumbnail-container:hover,
  #products .thumbnail-container:focus-within,
  .featured-products .thumbnail-container:hover,
  .featured-products .thumbnail-container:focus-within {
    position:relative;
    z-index:2;
    transform:scale(1.03);
    box-shadow:0 18px 40px color-mix(in srgb,var(--tdm-ink) 14.1%,transparent);
  }
}
@media (prefers-reduced-motion:reduce) {
  #products .thumbnail-container,
  .featured-products .thumbnail-container {
    transition:none;
  }
  #products .thumbnail-container:hover,
  #products .thumbnail-container:focus-within,
  .featured-products .thumbnail-container:hover,
  .featured-products .thumbnail-container:focus-within {
    transform:none;
  }
}
#products .thumbnail-top,
.featured-products .thumbnail-top {
  width:100%;
  border-radius:18px;
  overflow:hidden;
}
#products .product-description,
.featured-products .product-description {
  position:static;
  display:flex;
  flex:1;
  flex-direction:column;
  width:100%;
  height:auto;
  padding:16px 10px 8px;
  text-align:left;
  background:#fff;
}
#products .product-title,
.featured-products .product-title {
  margin:0;
  font-size:19px;
  font-weight:700;
  line-height:1.3;
  text-align:left;
  text-transform:none;
}
#products .product-title a,
.featured-products .product-title a {
  color:var(--tdm-ink);
  font-size:inherit;
  font-weight:inherit;
}
#products .product-price-and-shipping,
.featured-products .product-price-and-shipping {
  margin:12px 0 0;
  text-align:left;
  font-weight:700;
}
#products .product-price-and-shipping .price,
.featured-products .product-price-and-shipping .price {
  font-size:23px;
  font-weight:800;
  letter-spacing:-.02em;
}
@media (max-width:767px) {
  #products .product-price-and-shipping .price,
  .featured-products .product-price-and-shipping .price {
    font-size:19px;
  }
}

/* Product grid: 2 columns on mobile and tablet, 3 on desktop */
#products .products>.product,
.featured-products .products>.product {
  flex:0 0 50%;
  width:50%;
  max-width:50%;
}
@media (min-width:992px) {
  #products .products>.product,
  .featured-products .products>.product {
    flex-basis:33.333%;
    width:33.333%;
    max-width:33.333%;
  }
  .featured-products .products {
    margin-left:0;
    margin-right:0;
  }
}
/* Product columns chosen per space (Apparence > Espaces) */
@media (min-width:992px) {
  .tdm-pcols-d2 #products .products>.product,
  .tdm-pcols-d2 .featured-products .products>.product {
    flex-basis:50%;
    width:50%;
    max-width:50%;
  }
  .tdm-pcols-d4 #products .products>.product,
  .tdm-pcols-d4 .featured-products .products>.product {
    flex-basis:25%;
    width:25%;
    max-width:25%;
  }
}
@media (min-width:992px) {
  .layout-left-column:not(#category) #products .products>.product,
  .layout-right-column #products .products>.product,
  .layout-both-columns #products .products>.product {
    flex-basis:33.333%;
    width:33.333%;
    max-width:33.333%;
  }
  .layout-left-column.tdm-pcols-n2:not(#category) #products .products>.product,
  .layout-right-column.tdm-pcols-n2 #products .products>.product,
  .layout-both-columns.tdm-pcols-n2 #products .products>.product {
    flex-basis:50%;
    width:50%;
    max-width:50%;
  }
  .layout-left-column.tdm-pcols-n4:not(#category) #products .products>.product,
  .layout-right-column.tdm-pcols-n4 #products .products>.product,
  .layout-both-columns.tdm-pcols-n4 #products .products>.product {
    flex-basis:25%;
    width:25%;
    max-width:25%;
  }
}
@media (max-width:767px) {
  .tdm-pcols-m1 #products .products>.product,
  .tdm-pcols-m1 .featured-products .products>.product {
    flex-basis:100%;
    width:100%;
    max-width:100%;
  }
}
@media (max-width:767px) {
  #js-product-list-top,
  #js-product-list-top .row,
  #product .product-container {
    margin-left:0;
    margin-right:0;
  }
  #wrapper>.container {
    padding-left:8px;
    padding-right:8px;
  }
  #content-wrapper,
  #left-column {
    padding-left:0;
    padding-right:0;
  }
  #products .products,
  .featured-products .products {
    margin-left:-4px;
    margin-right:-4px;
  }
  #products .products>.product,
  .featured-products .products>.product {
    padding-left:4px;
    padding-right:4px;
  }
  #products .product-miniature,
  .featured-products .product-miniature {
    margin:0 0 8px;
    height:calc(100% - 8px);
  }
  #products .thumbnail-container,
  .featured-products .thumbnail-container {
    padding:5px;
  }
  #products .product-description,
  .featured-products .product-description {
    padding:10px 4px 6px;
  }
  #products .product-thumbnail img,
  .featured-products .product-thumbnail img {
    transform:scale(1.22);
    transform-origin:center;
  }
  #products .product-title,
  .featured-products .product-title {
    font-size:15px;
  }
}

/* Wide container on desktop */
@media (min-width:1200px) {
  .container {
    width:auto;
    max-width:1480px;
    padding-left:32px;
    padding-right:32px;
  }
  #header .tdm-header {
    max-width:none;
    padding-left:clamp(28px, 3.5vw, 64px);
    padding-right:clamp(28px, 3.5vw, 64px);
  }
}

/* Filters (ps_facetedsearch, category tree, sort) */
.block-categories,
#search_filters {
  padding:22px 20px;
}
.block-categories .category-top-menu>li:first-child>a,
#search_filters>.h6 {
  display:block;
  margin:0 0 6px;
  font-size:18px;
  font-weight:700;
  text-transform:none;
  color:var(--tdm-ink);
}
.block-categories .category-sub-menu li[data-depth="0"]>a {
  display:block;
  padding:6px 10px;
  border-radius:10px;
  font-weight:600;
}
.block-categories .category-sub-menu li[data-depth="0"]>a:hover {
  background:var(--tdm-soft);
  color:var(--tdm-pink);
}
#search_filters .facet {
  padding:16px 0 4px;
  border-top:1px solid var(--tdm-sand);
}
#search_filters .facet:first-of-type {
  border-top:0;
}
#search_filters .facet .facet-title {
  margin:0 0 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--tdm-muted);
}
#search_filters .facet ul:not(.faceted-slider) {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
@media (max-width:767px) {
  #search_filters .facet ul:not(.faceted-slider).collapse:not(.in) {
    display:none;
  }
}
#search_filters .facet ul li {
  margin:0;
}
#search_filters .facet .facet-label {
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:7px 12px;
  border:1px solid color-mix(in srgb,var(--tdm-sand) 94%,var(--tdm-ink));
  border-radius:20px;
  background:#fff;
  cursor:pointer;
  transition:background .15s,border-color .15s;
}
#search_filters .facet .facet-label:hover {
  border-color:var(--tdm-pink);
}
#search_filters .facet .facet-label.active {
  border-color:var(--tdm-pink);
  background:var(--tdm-pink);
}
#search_filters .facet .facet-label.active a,
#search_filters .facet .facet-label.active .magnitude {
  color:#fff;
}
#search_filters .facet .facet-label:focus-within {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}
#search_filters .facet .facet-label .custom-checkbox {
  position:static;
  display:contents;
}
#search_filters .facet .facet-label .custom-checkbox input {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
}
#search_filters .facet .facet-label .custom-checkbox input+span:not(.color) {
  display:none!important;
}
#search_filters .facet .facet-label .color {
  width:16px;
  height:16px;
  margin:0;
  border:1px solid color-mix(in srgb,var(--tdm-sand) 86%,var(--tdm-ink));
  border-radius:50%;
}
#search_filters .facet .facet-label a {
  display:inline;
  width:auto;
  max-width:none;
  margin:0;
  overflow:visible;
  white-space:normal;
  font-size:13px;
  line-height:1.2;
  color:var(--tdm-ink);
}
#search_filters .facet .facet-label .magnitude {
  font-size:12px;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
}
#search_filters .faceted-slider p {
  margin:0 0 12px;
  font-size:13px;
  font-weight:600;
}
#search_filters .faceted-slider .ui-slider {
  height:4px;
  margin:0 8px 14px;
  border:0;
  border-radius:4px;
  background:var(--tdm-sand);
}
#search_filters .faceted-slider .ui-slider .ui-slider-range {
  background:var(--tdm-pink);
}
#search_filters .faceted-slider .ui-slider .ui-slider-handle {
  top:-7px;
  width:18px;
  height:18px;
  margin-left:-9px;
  border:3px solid var(--tdm-pink);
  border-radius:50%;
  background:#fff;
  cursor:grab;
}
#js-active-search-filters {
  padding:0;
  margin-bottom:16px;
  background:none;
}
#js-active-search-filters .active-filter-title {
  font-weight:700;
}
#js-active-search-filters .filter-block {
  padding:6px 12px;
  border-radius:20px;
  background:var(--tdm-soft);
  box-shadow:none;
  color:var(--tdm-pink-deep);
}
#js-active-search-filters .filter-block .close {
  color:var(--tdm-pink-deep);
}
#search_filters .js-search-filters-clear-all,
#search_filter_toggler,
.products-sort-order .select-title {
  border:0;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--tdm-shadow);
  color:var(--tdm-ink);
  text-transform:none;
}
.products-sort-order .select-title {
  padding:10px 16px;
}
#search_filters .js-search-filters-clear-all:hover,
#search_filter_toggler:hover {
  color:var(--tdm-pink);
}

/* Breadcrumb */
#wrapper .breadcrumb {
  margin:4px 0 18px;
  padding:0;
  background:transparent;
  font-size:13px;
}
#wrapper .breadcrumb ol {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  row-gap:4px;
  margin:0;
  padding:0;
}
#wrapper .breadcrumb li {
  display:inline-flex;
  align-items:center;
}
#wrapper .breadcrumb li::after {
  content:"\203A";
  margin:0 10px;
  color:color-mix(in srgb,var(--tdm-sand) 67%,var(--tdm-ink));
  font-size:17px;
  line-height:1;
}
[dir=rtl] #wrapper .breadcrumb li::after {
  content:"\2039";
}
#wrapper .breadcrumb li:last-child::after {
  content:none;
}
#wrapper .breadcrumb li a {
  color:color-mix(in srgb,var(--tdm-sand) 34%,var(--tdm-ink));
  text-decoration:none;
  transition:color .15s;
}
#wrapper .breadcrumb li a:hover,
#wrapper .breadcrumb li a:focus-visible {
  color:var(--tdm-pink);
}
#wrapper .breadcrumb li:last-child,
#wrapper .breadcrumb li:last-child span {
  color:var(--tdm-ink);
  font-weight:600;
}

/* Dropdowns (sort order, language, currency, facets) */
#header .dropdown-menu,
.products-sort-order .dropdown-menu,
.facet-dropdown .dropdown-menu {
  min-width:190px;
  margin-top:8px;
  padding:6px;
  border:0;
  border-radius:16px;
  background:color-mix(in srgb,var(--tdm-paper) 91%,#fff);
  box-shadow:0 18px 44px color-mix(in srgb,var(--tdm-ink) 18%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
}
#header .dropdown-menu li {
  margin:0;
}
#header .dropdown-menu .dropdown-item,
.products-sort-order .select-list,
.facet-dropdown .select-list {
  display:block;
  padding:9px 14px;
  border-radius:10px;
  color:var(--tdm-ink);
  font-size:14px;
  line-height:1.3;
  transition:background-color .15s, color .15s;
}
#header .dropdown-menu .dropdown-item:hover,
#header .dropdown-menu .dropdown-item:focus,
.products-sort-order .select-list:hover,
.products-sort-order .select-list:focus,
.facet-dropdown .select-list:hover {
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep);
}
#header .dropdown-menu .current .dropdown-item,
.products-sort-order .select-list.current,
.facet-dropdown .select-list.current {
  color:var(--tdm-pink);
  font-weight:600;
}
#header .language-selector button,
#header .language-selector button:hover,
#header .language-selector button:focus,
#header .language-selector .expand-more,
#header .currency-selector button,
#header .currency-selector button:focus {
  color:var(--tdm-ink);
}

/* Product page */
#product .tabs {
  border-radius:22px;
  box-shadow:0 14px 36px color-mix(in srgb,var(--tdm-ink) 14.1%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
}
#product .tdm-product-tabs {
  margin:32px 0 8px;
}
#product .tdm-product-tabs .tabs {
  margin:0;
}
#product .product-cover img {
  border-radius:24px;
  box-shadow:0 18px 44px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
#product .product-images > li.thumb-container .thumb {
  border-radius:12px;
}
#product .product-container > div:has(> .product-information) {
  padding:28px 30px;
  border-radius:26px;
  background:var(--tdm-sand-light);
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
#product .product-container > div:has(> .product-information) .product-information {
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#product .product-add-to-cart .bootstrap-touchspin .btn-touchspin,
.cart-items .bootstrap-touchspin .btn-touchspin,
#product .product-add-to-cart .bootstrap-touchspin .btn-touchspin:focus,
.cart-items .bootstrap-touchspin .btn-touchspin:focus {
  box-shadow:none;
}
#product #main h1.h1 {
  margin:0 0 10px;
  font-size:clamp(26px,2.6vw,36px);
  line-height:1.12;
  letter-spacing:-.8px;
  text-transform:none;
  color:var(--tdm-ink);
}
#product .product-prices {
  margin:6px 0 18px;
}
#product .product-prices .current-price-value {
  font-size:34px;
  font-weight:700;
  color:var(--tdm-pink);
}
#product .product-prices .tax-shipping-delivery-label {
  font-size:12px;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
}
#product .product-variants > .product-variants-item {
  margin:0 0 16px;
}
#product .product-variants .control-label,
#product .product-add-to-cart .control-label {
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
}
#product .tdm-product-options {
  gap:8px;
}
#product .tdm-product-options .tdm-card-chip span {
  min-height:42px;
  padding:8px 18px;
  font-size:14px;
}
#product .product-variants select.form-control-select {
  width:auto;
  min-width:180px;
  height:48px;
  padding:0 40px 0 18px;
  border:0;
  border-radius:24px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23332923' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
  color:var(--tdm-ink);
  font-size:15px;
  font-weight:600;
  appearance:none;
  cursor:pointer;
}
#product .product-add-to-cart .product-quantity {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
#product .product-add-to-cart .product-quantity .qty,
#product .product-add-to-cart .product-quantity .add {
  float:none;
  margin:0;
}
#product .product-add-to-cart .bootstrap-touchspin,
.cart-items .bootstrap-touchspin {
  display:inline-flex;
  align-items:center;
  width:auto;
  height:48px;
  border:0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
  float:none;
}
#product .product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical,
.cart-items .bootstrap-touchspin .input-group-btn-vertical {
  display:contents;
}
#product .product-add-to-cart .bootstrap-touchspin #quantity_wanted,
.cart-items .bootstrap-touchspin .js-cart-line-product-quantity {
  order:2;
  width:44px;
  height:48px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--tdm-ink);
  font-size:16px;
  font-weight:600;
  text-align:center;
}
#product .product-add-to-cart .bootstrap-touchspin .btn-touchspin,
.cart-items .bootstrap-touchspin .btn-touchspin {
  position:static;
  display:grid;
  place-items:center;
  width:42px;
  height:48px;
  margin:0;
  padding:0;
  border:0;
  border-radius:24px;
  background:transparent;
  color:var(--tdm-ink);
  font-size:0;
}
#product .product-add-to-cart .bootstrap-touchspin .btn-touchspin .material-icons,
.cart-items .bootstrap-touchspin .btn-touchspin .material-icons {
  display:none;
}
#product .product-add-to-cart .bootstrap-touchspin .bootstrap-touchspin-down,
.cart-items .bootstrap-touchspin .bootstrap-touchspin-down {
  order:1;
}
#product .product-add-to-cart .bootstrap-touchspin .bootstrap-touchspin-up,
.cart-items .bootstrap-touchspin .bootstrap-touchspin-up {
  order:3;
}
#product .product-add-to-cart .bootstrap-touchspin .bootstrap-touchspin-down::before,
.cart-items .bootstrap-touchspin .bootstrap-touchspin-down::before,
#product .product-add-to-cart .bootstrap-touchspin .bootstrap-touchspin-up::before,
.cart-items .bootstrap-touchspin .bootstrap-touchspin-up::before {
  font-size:20px;
  line-height:1;
}
#product .product-add-to-cart .bootstrap-touchspin .bootstrap-touchspin-down::before,
.cart-items .bootstrap-touchspin .bootstrap-touchspin-down::before {
  content:"\2212";
}
#product .product-add-to-cart .bootstrap-touchspin .bootstrap-touchspin-up::before,
.cart-items .bootstrap-touchspin .bootstrap-touchspin-up::before {
  content:"+";
}
#product .product-add-to-cart .bootstrap-touchspin .btn-touchspin:hover,
.cart-items .bootstrap-touchspin .btn-touchspin:hover {
  color:var(--tdm-pink);
}
#product .product-add-to-cart .add-to-cart {
  height:48px;
  padding:0 26px;
  border-radius:24px;
}
#product .product-availability,
#product #product-availability {
  display:block;
  margin-top:14px;
}
#product .product-quantity {
  align-items:center;
}
#product .product-quantity #product-availability {
  display:inline-flex;
  margin:0 0 .5rem;
}
@media (min-width:1200px) {
  #product .product-container > .col-md-6:first-child {
    flex:0 0 56%;
    width:56%;
    max-width:56%;
  }
  #product .product-container > .col-md-6:last-child {
    flex:0 0 44%;
    width:44%;
    max-width:44%;
  }
}
#product .product-cover .layer {
  display:none;
}
#product .product-cover img {
  cursor:default;
}
#product .social-sharing.tdm-share-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  width:100%;
  margin:18px 0 0;
  padding:0;
}
.tdm-share-label {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tdm-share-label .tdm-icon {
  width:16px;
  height:16px;
}
.social-sharing .tdm-share-list {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.social-sharing li.tdm-share {
  --tdm-brand:var(--tdm-ink);
  --tdm-brand-bg:color-mix(in srgb,var(--tdm-sand) 75%,#fff);
  display:block;
  width:40px;
  height:40px;
  margin:0;
  border-radius:50%;
  background:var(--tdm-brand-bg);
  color:var(--tdm-brand);
  transition:background-color .15s,color .15s,transform .15s;
}
.social-sharing li.tdm-share-whatsapp {
  --tdm-brand:#128c4b;
  --tdm-brand-bg:#e3f7ea;
}
.social-sharing li.tdm-share-instagram {
  --tdm-brand:#c13584;
  --tdm-brand-bg:color-mix(in srgb,var(--tdm-soft) 69%,#fff);
}
.social-sharing li.tdm-share-facebook {
  --tdm-brand:#1877f2;
  --tdm-brand-bg:#e5effd;
}
.social-sharing li.tdm-share-twitter {
  --tdm-brand:#14171a;
  --tdm-brand-bg:#e9eaeb;
}
.social-sharing li.tdm-share-pinterest {
  --tdm-brand:#e60023;
  --tdm-brand-bg:#fde5e8;
}
.social-sharing li.tdm-share a,
.social-sharing li.tdm-share button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:50%;
  background:none;
  color:inherit;
  text-indent:0;
  cursor:pointer;
}
.social-sharing li.tdm-share:hover {
  background:var(--tdm-brand);
  color:#fff;
  transform:translateY(-2px);
}
.social-sharing li.tdm-share a:hover {
  color:#fff;
}
.social-sharing li.tdm-share a:focus-visible,
.social-sharing li.tdm-share button:focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce) {
  .social-sharing li.tdm-share,
  .social-sharing li.tdm-share:hover {
    transition:none;
    transform:none;
  }
}
.tdm-share-status {
  flex:1 1 100%;
  font-size:12px;
  color:var(--tdm-muted);
}
.tdm-share-status:empty {
  display:none;
}
.tdm-availability {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 16px 8px 13px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
}
.tdm-availability-ok {
  background:#e8f3ea;
  color:#25633a;
}
.tdm-availability-low {
  background:#fde9d4;
  color:#9a4300;
  box-shadow:inset 0 0 0 1px #f6c08a;
}
.tdm-availability-out {
  background:#f8e4e6;
  color:#9b2335;
}
.tdm-availability-qty {
  padding-inline-start:8px;
  border-inline-start:1px solid currentColor;
  font-weight:400;
  opacity:.8;
}
@media (max-width:767px) {
  #product .product-container > div:has(> .product-information) {
    margin-top:18px;
    padding:18px 16px;
    border-radius:20px;
  }
  #product .product-prices .current-price-value {
    font-size:27px;
  }
  #product .product-add-to-cart .product-quantity {
    gap:8px;
  }
  #product .product-add-to-cart .product-quantity .add {
    flex:1 1 150px;
    min-width:0;
  }
  #product .product-add-to-cart .add-to-cart {
    width:100%;
    padding:0 12px;
    font-size:14px;
  }
}


/* Account forms (login, registration, password) */
#authentication #content.page-content,
#registration #content.page-content,
#password #content.page-content {
  max-width:760px;
  margin:0 auto 30px;
  padding:34px 36px;
  border:0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
}
#authentication .page-header,
#registration .page-header,
#password .page-header {
  text-align:center;
}
.input-group:has(> .js-visible-password) {
  position:relative;
  display:block;
}
.input-group:has(> .js-visible-password) > .js-visible-password {
  width:100%;
  padding-right:46px;
  border-radius:10px;
}
.input-group:has(> .js-visible-password) > .input-group-btn {
  position:absolute;
  z-index:4;
  top:0;
  right:5px;
  height:45px;
  display:flex;
  align-items:center;
  width:auto;
}
.input-group .input-group-btn > .btn[data-action="show-password"] {
  position:relative;
  display:block;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:color-mix(in srgb,var(--tdm-sand) 34%,var(--tdm-ink));
  font-size:0;
  line-height:0;
  text-indent:0;
  overflow:hidden;
  box-shadow:none;
}
.input-group .input-group-btn > .btn[data-action="show-password"]::before {
  content:"";
  position:absolute;
  inset:0;
  width:22px;
  height:22px;
  margin:auto;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
}
.input-group:has(> .js-visible-password[type="text"]) .input-group-btn > .btn[data-action="show-password"]::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 5.1A10.4 10.4 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-2.6 3.4M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.9 9.9 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2M3 3l18 18'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 5.1A10.4 10.4 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-2.6 3.4M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.9 9.9 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2M3 3l18 18'/%3E%3C/svg%3E");
}
.input-group .input-group-btn > .btn[data-action="show-password"]:hover {
  color:var(--tdm-pink);
}
.input-group .input-group-btn > .btn[data-action="show-password"]:focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:1px;
}
@media (max-width:767px) {
  #authentication #content.page-content,
  #registration #content.page-content,
  #password #content.page-content {
    padding:22px 18px;
    border-radius:20px;
  }
}

/* Newsletter (compact, bottom right of the footer) */
.tdm-newsletter {
  display:grid;
  gap:8px;
}
.tdm-newsletter-title {
  margin:0;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
}
.tdm-newsletter-row {
  display:flex;
  gap:0;
  padding:4px;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--tdm-shadow), 0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
.tdm-newsletter-row input[type="email"] {
  flex:1;
  min-width:0;
  height:37px;
  padding:0 14px;
  border:0;
  border-radius:18px;
  background:transparent;
  font-size:13px;
}
.tdm-newsletter-row:focus-within {
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 29%,var(--tdm-soft)), 0 0 0 4px color-mix(in srgb,var(--tdm-pink) 10.2%,transparent);
}
#footer .tdm-newsletter-row input[type="email"],
#footer .tdm-newsletter-row input[type="email"]:focus,
#footer .tdm-newsletter-row input[type="email"]:focus-visible {
  border:0;
  outline:none!important;
  background:transparent;
  box-shadow:none!important;
}
#footer .tdm-newsletter-row .btn:focus {
  outline:none;
  box-shadow:none;
}
#footer .tdm-newsletter-row .btn:focus-visible {
  outline:2px solid #fff;
  outline-offset:-4px;
}
.tdm-newsletter-row .btn {
  height:36px;
  padding:0 16px;
  border-radius:18px;
  font-size:12px;
  text-transform:none;
}
.tdm-newsletter-conditions,
.tdm-newsletter .alert {
  margin:0;
  color:color-mix(in srgb,var(--tdm-sand) 34%,var(--tdm-ink));
  font-size:11px;
  line-height:1.45;
}
.tdm-newsletter-conditions p {
  margin:0;
}

/* Footer */
#footer {
  padding-bottom:20px;
}
#footer .footer-container {
  margin:36px clamp(12px, 1.6vw, 28px) 0;
  padding:42px 0 18px;
  border:0;
  border-radius:28px;
  background:var(--tdm-sand);
  box-shadow:0 14px 40px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
#footer .footer-container > .container > .row:first-child {
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));
  gap:28px 40px;
  margin:0;
}
#footer .footer-container > .container > .row:first-child::before,
#footer .footer-container > .container > .row:first-child::after {
  content:none;
  display:none;
}
#footer .footer-container > .container > .row:first-child > *,
#footer .footer-container > .container > .row:first-child > .links > .row > .wrapper {
  float:none;
  width:auto;
  max-width:none;
  padding:0;
}
#footer .footer-container > .container > .row:first-child > .col-md-6.links,
#footer .footer-container > .container > .row:first-child > .col-md-6.links > .row {
  display:contents;
}
@media (min-width:768px) and (max-width:991px) {
  #footer .footer-container > .container > .row:first-child {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:767px) {
  #footer .footer-container > .container > .row:first-child {
    grid-template-columns:minmax(0, 1fr);
    gap:8px;
  }
  #footer .footer-container > .container > .row:first-child > .tdm-footer-brand {
    margin-bottom:12px;
  }
}
#footer .footer-container .h3,
#footer .footer-container .h4 {
  margin:0 0 12px;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#footer .footer-container li {
  margin-bottom:8px;
}
#footer .footer-container li a {
  color:var(--tdm-muted);
  font-size:14px;
  transition:color .15s;
}
#footer .footer-container li a:hover,
#footer .footer-container li a:focus-visible {
  color:var(--tdm-pink);
}
.tdm-footer-brand {
  display:grid;
  align-content:start;
  gap:16px;
}
.tdm-footer-logo img {
  display:block;
  width:auto;
  max-width:190px;
  max-height:72px;
  object-fit:contain;
}
.tdm-footer-contact {
  display:grid;
  gap:6px;
  margin:0;
  color:var(--tdm-muted);
  font-size:14px;
  font-style:normal;
  line-height:1.55;
}
.tdm-footer-phone {
  justify-self:start;
  color:var(--tdm-ink);
  font-weight:700;
}
.tdm-footer-phone:hover {
  color:var(--tdm-pink);
}
.tdm-social-title {
  margin:0 0 10px;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tdm-social-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
#footer .tdm-social-list li {
  margin:0;
}
.tdm-social-link {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#fff;
  color:var(--tdm-ink);
  box-shadow:var(--tdm-shadow), 0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
  transition:background-color .15s, color .15s, transform .15s;
}
#footer .tdm-social-link:hover,
#footer .tdm-social-link:focus-visible {
  background:var(--tdm-pink);
  color:#fff;
  transform:translateY(-2px);
}
.tdm-social-link:focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}
.footer-container .row:has(.tdm-copyright-moved) {
  display:none;
}
.tdm-footer-bottom {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px 30px;
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid color-mix(in srgb,var(--tdm-sand) 91%,var(--tdm-ink));
}
.tdm-copyright {
  margin:0;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:13px;
}
.tdm-footer-newsletter {
  flex:0 1 380px;
  margin-left:auto;
}
@media (prefers-reduced-motion:reduce) {
  .tdm-social-link,
  #footer .tdm-social-link:hover {
    transition:none;
    transform:none;
  }
}
@media (max-width:767px) {
  #footer .footer-container {
    margin:24px 10px 0;
    padding:28px 0 12px;
    border-radius:22px;
  }
  .tdm-footer-bottom {
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .tdm-footer-newsletter {
    flex-basis:auto;
    margin-left:0;
  }
}

/* Form fields: one height everywhere, small radius (buttons stay pills) */
:where(input.form-control, select.form-control, .form-control-select) {
  height:45px;
  min-height:45px;
}
select.form-control:not([size]):not([multiple]) {
  height:45px;
}
.form-control,
.form-control-select {
  border-radius:10px;
}

/* Cart modal (ps_shoppingcart) */
#blockcart-modal.tdm-cart-modal .modal-dialog {
  width:min(760px, calc(100% - 24px));
  max-width:none;
  margin:4vh auto;
}
#blockcart-modal.tdm-cart-modal .modal-content {
  overflow:hidden;
  border:0;
  border-radius:28px;
  background:var(--tdm-paper);
  box-shadow:0 30px 80px color-mix(in srgb,var(--tdm-ink) 32.2%,transparent), 0 4px 14px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent);
}
#blockcart-modal.tdm-cart-modal .modal-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 24px;
  border:0;
  background:#fff;
}
.tdm-cart-modal-title {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:var(--tdm-ink);
  font-size:17px;
  font-weight:700;
  line-height:1.3;
}
.tdm-cart-modal-check {
  display:grid;
  flex:none;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#e6f4ea;
  color:#1e6b3a;
}
.tdm-cart-modal-check .tdm-icon {
  width:18px;
  height:18px;
}
#blockcart-modal.tdm-cart-modal .modal-content {
  position:relative;
}
#blockcart-modal.tdm-cart-modal .modal-header {
  padding-right:56px;
}
.tdm-cart-modal-close {
  position:absolute;
  top:8px;
  right:8px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:0;
  background:none;
  color:#d0263b;
  cursor:pointer;
}
.tdm-cart-modal-close .material-icons {
  font-size:28px;
}
.tdm-cart-modal-close:hover {
  color:#a3172a;
}
.tdm-cart-modal-close:focus-visible {
  outline:2px solid #d0263b;
  outline-offset:-3px;
  border-radius:8px;
}
#blockcart-modal.tdm-cart-modal .modal-body {
  max-height:min(58vh, 560px);
  padding:18px 24px 22px;
  overflow-y:auto;
}
.tdm-cart-modal-error {
  margin:0 0 12px;
  padding:10px 14px;
  border-radius:14px;
  background:#fde8ea;
  color:#9b1c2c;
  font-size:13px;
}
.tdm-cart-modal-error:empty {
  display:none;
}
.tdm-cart-lines {
  display:grid;
  gap:10px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
}
.tdm-cart-line {
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) auto;
  grid-template-areas:"media info total" "media controls controls";
  gap:10px 14px;
  align-items:start;
  padding:12px;
  border-radius:20px;
  background:#fff;
  box-shadow:var(--tdm-shadow);
  transition:opacity .2s;
}
.tdm-cart-line-new {
  box-shadow:inset 0 0 0 2px var(--tdm-pink), var(--tdm-shadow);
}
.tdm-cart-line[aria-busy="true"] {
  opacity:.55;
  pointer-events:none;
}
.tdm-cart-line-media {
  grid-area:media;
}
.tdm-cart-line-info {
  grid-area:info;
}
.tdm-cart-line-total {
  grid-area:total;
}
.tdm-cart-line-controls {
  grid-area:controls;
}
.tdm-cart-line-media img {
  display:block;
  width:72px;
  height:72px;
  border-radius:14px;
  background:var(--tdm-sand-light);
  object-fit:contain;
}
.tdm-cart-line-info {
  display:grid;
  gap:6px;
  min-width:0;
}
.tdm-cart-line-name {
  color:var(--tdm-ink);
  font-size:14px;
  font-weight:700;
  line-height:1.3;
}
.tdm-cart-line-unit {
  margin:0;
  color:var(--tdm-muted);
  font-size:13px;
}
.tdm-cart-line-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.tdm-cart-qty button {
  height:38px;
}
.tdm-cart-qty button:disabled {
  opacity:.35;
  cursor:default;
}
.tdm-cart-remove {
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#fdecee;
  color:#d0263b;
  cursor:pointer;
  transition:background-color .15s, color .15s;
}
.tdm-cart-remove:hover,
.tdm-cart-remove:focus-visible {
  background:#d0263b;
  color:#fff;
}
.tdm-cart-remove .tdm-icon {
  width:20px;
  height:20px;
}
.tdm-cart-line-total {
  color:var(--tdm-ink);
  font-size:16px;
  font-weight:700;
  white-space:nowrap;
}
.tdm-cart-summary {
  padding:14px 16px;
  border-radius:18px;
  background:var(--tdm-sand);
}
.tdm-cart-summary p {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0 0 6px;
  color:var(--tdm-muted-2);
  font-size:14px;
}
.tdm-cart-summary .tdm-cart-total {
  margin:8px 0 0;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb,var(--tdm-sand) 91%,var(--tdm-ink));
  color:var(--tdm-ink);
  font-size:16px;
  font-weight:700;
}
.tdm-cart-modal-buttons {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.tdm-cart-modal-buttons .btn {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  border-radius:22px;
}
.tdm-cart-modal-buttons .tdm-icon {
  width:20px;
  height:20px;
}
.tdm-cart-empty {
  margin:10px 0;
  text-align:center;
  color:var(--tdm-muted);
}
.tdm-cart-modal-footer:empty {
  display:none;
}
.tdm-cart-modal-footer {
  padding:18px 24px 22px;
  background:#fff;
}

/* Upsell (modal and cart page) */
.tdm-upsell-title {
  margin:0 0 12px;
  color:var(--tdm-ink);
  font-size:15px;
  font-weight:700;
}
.tdm-upsell-list {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.tdm-upsell-item {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  padding:10px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--tdm-shadow);
}
.tdm-upsell-media img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  border-radius:12px;
  background:var(--tdm-sand-light);
  object-fit:cover;
}
.tdm-upsell-name {
  display:-webkit-box;
  overflow:hidden;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.tdm-upsell-price {
  color:var(--tdm-pink);
  font-size:15px;
  font-weight:700;
}
.tdm-upsell-buy {
  margin:auto 0 0;
}
.tdm-upsell-add {
  width:100%;
  min-height:36px;
  padding:6px 10px;
  border-radius:18px;
  font-size:12px;
}
@media (max-width:767px) {
  #blockcart-modal.tdm-cart-modal .modal-dialog {
    margin:12px auto;
  }
  #blockcart-modal.tdm-cart-modal .modal-content {
    border-radius:22px;
  }
  #blockcart-modal.tdm-cart-modal .modal-header,
  #blockcart-modal.tdm-cart-modal .modal-body,
  .tdm-cart-modal-footer {
    padding-left:14px;
    padding-right:14px;
  }
  .tdm-cart-line {
    grid-template-columns:56px minmax(0, 1fr);
    grid-template-areas:"media info" "media total" "controls controls";
    gap:6px 12px;
  }
  .tdm-cart-line-media img {
    width:56px;
    height:56px;
  }

  .tdm-upsell-list {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .tdm-cart-modal-buttons .btn {
    flex:1 1 100%;
    justify-content:center;
  }
}

/* Cart page */
body#cart .cart-grid-body .card.cart-container,
body#cart .cart-grid-right .card.cart-summary {
  overflow:hidden;
  border:0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
body#cart .cart-grid-body .card-block h1 {
  font-size:22px;
  text-transform:none;
}
body#cart .cart-items {
  display:grid;
  gap:12px;
  padding:0 16px 16px;
}
body#cart .cart-item {
  padding:0;
  border:0;
}
body#cart .cart-item .tdm-cart-row {
  display:grid;
  grid-template-columns:110px minmax(0, 1fr) auto;
  grid-template-areas:"media info total" "media controls controls";
  gap:10px 18px;
  align-items:center;
  padding:14px;
  border-radius:20px;
  background:var(--tdm-sand-light);
}
body#cart .tdm-cart-row-media {
  grid-area:media;
  align-self:start;
}
body#cart .tdm-cart-row-media img {
  display:block;
  width:110px;
  height:auto;
}
body#cart .tdm-cart-row-info {
  grid-area:info;
  min-width:0;
}
body#cart .tdm-cart-row-info .product-line-info {
  margin:0 0 4px;
}
body#cart .tdm-cart-row-total {
  grid-area:total;
  align-self:start;
  color:var(--tdm-ink);
  font-size:18px;
  white-space:nowrap;
}
body#cart .tdm-cart-row-controls,
.tdm-cart-line-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  min-width:0;
}
body#cart .tdm-cart-row-controls {
  grid-area:controls;
}
body#cart .tdm-cart-row-controls .tdm-line-variants,
.tdm-cart-line-controls .tdm-line-variants {
  flex:1 1 auto;
  min-width:0;
  margin:0;
}
body#cart .tdm-cart-row-actions,
.tdm-cart-line-controls .tdm-cart-line-actions {
  display:flex;
  flex:none;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
body#cart .tdm-cart-row-actions .qty {
  float:none;
  margin:0;
}
body#cart .cart-item .tdm-cart-row[aria-busy="true"] {
  opacity:.55;
  pointer-events:none;
}
body#cart .cart-item .product-image img {
  border-radius:16px;
  background:#fff;
}
body#cart .cart-item .product-line-info .label {
  color:var(--tdm-ink);
  font-weight:700;
}
body#cart .cart-item .cart-line-product-actions {
  display:flex;
  align-items:center;
  gap:6px;
}
@media (max-width:767px) {
  body#cart .cart-items {
    padding:0 8px 8px;
  }
  body#cart .cart-item .tdm-cart-row {
    grid-template-columns:72px minmax(0, 1fr);
    grid-template-areas:"media info" "media total" "controls controls";
    gap:6px 12px;
    padding:12px;
  }
  body#cart .tdm-cart-row-media img {
    width:72px;
  }
  body#cart .tdm-cart-row-total {
    align-self:center;
  }
  body#cart .cart-items .bootstrap-touchspin,
  body#cart .cart-items .bootstrap-touchspin .js-cart-line-product-quantity,
  body#cart .cart-items .bootstrap-touchspin .btn-touchspin {
    height:40px;
  }
  body#cart .cart-items .bootstrap-touchspin .btn-touchspin {
    width:34px;
  }
  body#cart .cart-items .bootstrap-touchspin .js-cart-line-product-quantity {
    width:34px;
  }
}
@media (max-width:767px) {
  body#cart .tdm-cart-row-controls,
  .tdm-cart-line-controls {
    flex-wrap:nowrap;
    gap:8px;
  }
  body#cart .tdm-cart-row-controls .tdm-line-variants,
  .tdm-cart-line-controls .tdm-line-variants {
    flex:1 1 0;
    max-height:66px;
    overflow-y:auto;
    gap:4px;
  }
  body#cart .tdm-cart-row-controls .tdm-card-chip span,
  .tdm-cart-line-controls .tdm-card-chip span {
    min-height:28px;
    padding:3px 10px;
    font-size:11px;
  }
  body#cart .tdm-cart-row-actions,
  .tdm-cart-line-controls .tdm-cart-line-actions {
    gap:6px;
  }
  .tdm-cart-line-controls .tdm-qty button {
    width:30px;
  }
  .tdm-cart-line-controls .tdm-qty input {
    width:26px;
  }
  .tdm-cart-remove {
    width:34px;
    height:34px;
  }
}
body#cart .cart-grid-right .cart-summary .card-block,
body#cart .cart-grid-right .cart-detailed-actions {
  padding-left:22px;
  padding-right:22px;
}
body#cart .cart-detailed-actions .btn {
  border-radius:24px;
}
body#cart .tdm-upsell-cart {
  margin:24px 0;
  padding:22px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
body#cart .tdm-upsell-cart .tdm-upsell-title {
  font-size:18px;
}
body#cart .tdm-upsell-cart .tdm-upsell-item {
  background:var(--tdm-sand-light);
  box-shadow:none;
}
body#cart .tdm-cart-row .tdm-cart-modal-error {
  flex:1 1 100%;
  margin:10px 0 0;
}

/* Add to cart flight */
.tdm-fly {
  position:fixed;
  z-index:2000;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--tdm-pink);
  color:#fff;
  box-shadow:0 12px 30px color-mix(in srgb,var(--tdm-pink) 40%,transparent);
  pointer-events:none;
  will-change:transform, opacity;
}

/* Search results */
body#search #js-product-list-top {
  align-items:center;
  margin:0 0 18px;
  padding:10px 16px;
  border-radius:22px;
  background:#fff;
  box-shadow:var(--tdm-shadow);
}
body#search #js-product-list-top .total-products p {
  margin:0;
  color:var(--tdm-muted);
}
body#search #products .thumbnail-container {
  border-radius:22px;
  background:#fff;
}
body#search #products .product-thumbnail {
  display:block;
  overflow:hidden;
  border-radius:16px;
  background:var(--tdm-sand-light);
}
body#search #products .product-thumbnail img {
  transition:transform .45s ease;
}
@media (hover:hover) {
  body#search #products .thumbnail-container:hover .product-thumbnail img,
  body#search #products .product-thumbnail:focus-visible img {
    transform:scale(1.12);
  }
}
@media (prefers-reduced-motion:reduce) {
  body#search #products .product-thumbnail img {
    transition:none;
    transform:none!important;
  }
}
body#search #products .tdm-card-stock {
  margin-top:4px;
}
body#search .page-not-found,
body#search #content.page-content {
  padding:28px;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--tdm-shadow);
}
@media (max-width:767px) {
  #blockcart-modal.tdm-cart-modal .modal-header {
    padding-right:52px;
  }
}

/* Stock badges (cards and product page) */
.tdm-stock-dot {
  position:relative;
  flex:none;
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
}
.tdm-stock-ok .tdm-stock-dot,
.tdm-availability-ok .tdm-stock-dot {
  background:#2f9e55;
  box-shadow:0 0 0 3px #2f9e5526;
}
.tdm-stock-low .tdm-stock-dot,
.tdm-availability-low .tdm-stock-dot {
  background:#ef7a12;
  box-shadow:0 0 0 3px #ef7a1233;
  animation:tdm-stock-pulse 1.6s ease-in-out infinite;
}
.tdm-stock-out .tdm-stock-dot,
.tdm-availability-out .tdm-stock-dot {
  background:#d0364b;
  box-shadow:0 0 0 3px #d0364b26;
}
@keyframes tdm-stock-pulse {
  0%, 100% { box-shadow:0 0 0 3px #ef7a1233; }
  50% { box-shadow:0 0 0 6px #ef7a1214; }
}
@media (prefers-reduced-motion:reduce) {
  .tdm-stock-low .tdm-stock-dot,
  .tdm-availability-low .tdm-stock-dot {
    animation:none;
  }
}
.tdm-stock {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:7px;
  margin:6px 0 0;
  padding:3px 10px 3px 8px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:600;
  line-height:1.4;
}
.tdm-stock-ok {
  background:#e8f3ea;
  color:#25633a;
}
.tdm-stock-low {
  background:#fde9d4;
  color:#9a4300;
}
.tdm-stock-out {
  background:#f8e4e6;
  color:#9b2335;
}

/* Out of stock: add to cart greyed everywhere */
.btn.btn-primary:disabled,
.btn.btn-primary.disabled,
#product .product-add-to-cart .add-to-cart:disabled,
.tdm-card-add:disabled,
.tdm-sticky-cart-add:disabled {
  border-color:transparent;
  background:color-mix(in srgb,var(--tdm-sand) 94%,#000)!important;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink))!important;
  box-shadow:none;
  opacity:1;
  cursor:not-allowed;
  transform:none;
}

/* Header panel */
#header .tdm-header {
  width:auto;
  margin:14px clamp(12px, 1.6vw, 28px) 18px;
  border-radius:28px;
  box-shadow:0 14px 40px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
@media (max-width:767px) {
  #header .tdm-header {
    margin:10px 10px 12px;
    border-radius:22px;
  }
}
#header .tdm-header > *,
#header .tdm-header-end,
#header .tdm-header-actions,
#header .tdm-header-actions > div,
#header .tdm-audiences {
  align-self:center;
}
#header .tdm-logo,
#header .tdm-logo img {
  display:block;
}
#header .tdm-header-actions .language-selector-wrapper,
#header .tdm-header-actions .user-info,
#header .tdm-header-actions .blockcart .header {
  display:flex;
  align-items:center;
}
#header .tdm-nav-extra #_desktop_contact_link {
  display:none;
}
#header .tdm-nav-extra:not(:has(> :not(#_desktop_contact_link))) {
  display:none;
}
#header .tdm-header::before,
#header .tdm-header::after {
  content:none;
  display:none;
}

/* Notifications as toasts (bottom right) */
#notifications.tdm-toasts {
  position:fixed;
  right:clamp(12px, 1.6vw, 28px);
  bottom:24px;
  z-index:1050;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(400px, calc(100% - 24px));
  margin:0;
  padding:0;
  pointer-events:none;
}
.tdm-toast {
  display:grid;
  grid-template-columns:34px minmax(0, 1fr) 32px;
  gap:12px;
  align-items:start;
  margin:0;
  padding:14px 12px 14px 14px;
  border:0;
  border-radius:20px;
  background:#fff;
  color:var(--tdm-ink);
  box-shadow:0 18px 44px color-mix(in srgb,var(--tdm-ink) 20%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
  pointer-events:auto;
  animation:tdm-toast-in .3s ease;
}
.tdm-toast-leaving {
  opacity:0;
  transform:translateY(8px);
  transition:opacity .25s, transform .25s;
}
@keyframes tdm-toast-in {
  from { opacity:0; transform:translateY(14px); }
  to { opacity:1; transform:none; }
}
.tdm-toast-icon {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  font-size:17px;
  font-weight:800;
}
.tdm-toast-icon .tdm-icon {
  width:18px;
  height:18px;
}
.tdm-toast-success .tdm-toast-icon { background:#e8f3ea; color:#25633a; }
.tdm-toast-info .tdm-toast-icon { background:color-mix(in srgb,var(--tdm-sand) 75%,#fff); color:var(--tdm-muted); }
.tdm-toast-warning .tdm-toast-icon { background:#fde9d4; color:#9a4300; }
.tdm-toast-error .tdm-toast-icon { background:#f8e4e6; color:#b3192d; }
.tdm-toast-success { box-shadow:inset 4px 0 0 #2f9e55, 0 18px 44px color-mix(in srgb,var(--tdm-ink) 20%,transparent); }
.tdm-toast-info { box-shadow:inset 4px 0 0 color-mix(in srgb,var(--tdm-sand) 66%,var(--tdm-ink)), 0 18px 44px color-mix(in srgb,var(--tdm-ink) 20%,transparent); }
.tdm-toast-warning { box-shadow:inset 4px 0 0 #ef7a12, 0 18px 44px color-mix(in srgb,var(--tdm-ink) 20%,transparent); }
.tdm-toast-error { box-shadow:inset 4px 0 0 #d0364b, 0 18px 44px color-mix(in srgb,var(--tdm-ink) 20%,transparent); }
.tdm-toast-title {
  margin:0 0 2px;
  font-size:14px;
  font-weight:700;
}
.tdm-toast ul {
  margin:0;
  padding:0;
  list-style:none;
  color:var(--tdm-muted-2);
  font-size:13px;
  line-height:1.45;
}
.tdm-toast-close {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:none;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  cursor:pointer;
}
.tdm-toast-close:hover {
  background:color-mix(in srgb,var(--tdm-sand) 62%,#fff);
  color:var(--tdm-ink);
}
.tdm-toast-close .material-icons {
  font-size:20px;
}
@media (max-width:767px) {
  #notifications.tdm-toasts {
    right:12px;
    bottom:calc(84px + env(safe-area-inset-bottom));
  }
}
@media (prefers-reduced-motion:reduce) {
  .tdm-toast,
  .tdm-toast-leaving {
    animation:none;
    transition:none;
  }
}

/* Inline form errors */
.help-block .alert-danger,
.help-block ul li.alert-danger {
  margin:6px 0 0;
  padding:8px 12px;
  border:0;
  border-radius:10px;
  background:#f8e4e6;
  color:#9b2335;
  font-size:13px;
}
.form-group.has-error .form-control {
  border-color:#d0364b;
  box-shadow:0 0 0 3px #d0364b1f;
}

/* Customer forms (registration, identity, checkout personal info, login) */
#customer-form > div:first-child,
#login-form > section {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:16px;
}
#customer-form .form-group.row,
#login-form .form-group.row {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  grid-template-areas:"label comment" "field field";
  gap:4px 10px;
  margin:0 0 14px;
}
#customer-form .form-group.row:has([name="firstname"]),
#customer-form .form-group.row:has([name="lastname"]) {
  grid-column:auto;
}
#customer-form .form-group.row > *,
#login-form .form-group.row > * {
  float:none;
  width:auto;
  max-width:none;
  padding:0;
}
#customer-form .form-group.row > .form-control-label,
#login-form .form-group.row > .form-control-label {
  grid-area:label;
  margin:0;
  padding:0;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:600;
  text-align:left;
}
#customer-form .form-group.row > .form-control-label:empty {
  display:none;
}
#customer-form .form-group.row > .form-control-comment,
#login-form .form-group.row > .form-control-comment {
  grid-area:comment;
  align-self:end;
  padding:0;
  color:color-mix(in srgb,var(--tdm-sand) 51%,var(--tdm-ink));
  font-size:12px;
}
#customer-form .form-group.row > .form-control-comment:empty {
  display:none;
}
#customer-form .form-group.row > .col-md-6,
#login-form .form-group.row > .col-md-6 {
  grid-area:field;
}
#customer-form .form-group.row > .col-md-6 > .form-control-comment {
  display:none;
}
#customer-form .form-group.row:has(.custom-checkbox) {
  margin-bottom:8px;
}
#customer-form .form-group.row:has(.custom-checkbox) + .form-group.row:not(:has(.custom-checkbox)) {
  margin-top:10px;
}
#customer-form .radio-inline {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 18px 0 0;
  font-size:14px;
  cursor:pointer;
}
.custom-checkbox {
  position:relative;
  display:block;
}
.custom-checkbox:not(:has(label)) {
  display:inline-block;
  flex:none;
  width:20px;
  height:20px;
  margin:0 12px 0 0;
  vertical-align:top;
}
.custom-checkbox label {
  position:relative;
  display:block;
  min-height:20px;
  margin:0;
  padding-left:34px;
  color:var(--tdm-muted-2);
  font-size:13px;
  font-weight:500;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
}
.custom-checkbox label em {
  display:block;
  margin-top:3px;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:11.5px;
  font-style:normal;
  line-height:1.45;
}
.custom-checkbox input[type="checkbox"] {
  position:absolute;
  top:0;
  left:0;
  width:20px;
  height:20px;
  margin:0;
  opacity:0;
}
.custom-checkbox input[type="checkbox"] + span {
  position:absolute;
  top:0;
  left:0;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  margin:0;
  border:1.5px solid color-mix(in srgb,var(--tdm-sand) 87%,var(--tdm-ink));
  border-radius:6px;
  background:#fff;
  transition:background-color .15s, border-color .15s;
}
.custom-checkbox input[type="checkbox"] + span .checkbox-checked {
  margin:0;
  color:#fff;
  font-size:16px;
}
.custom-checkbox input[type="checkbox"]:checked + span {
  border-color:var(--tdm-pink);
  background:var(--tdm-pink);
}
.custom-checkbox input[type="checkbox"]:focus-visible + span,
.custom-radio input[type="radio"]:focus-visible + span {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}
.custom-radio {
  width:20px;
  height:20px;
  margin:0;
  border:1.5px solid color-mix(in srgb,var(--tdm-sand) 87%,var(--tdm-ink));
  background:#fff;
}
.custom-radio input[type="radio"]:checked + span {
  top:3px;
  left:3px;
  width:11px;
  height:11px;
  background-color:var(--tdm-pink);
}
#customer-form .form-footer,
#login-form + .forgot-password,
#authentication .login-form .form-footer {
  margin-top:8px;
}
#customer-form .form-footer .btn,
#login-form .form-footer .btn {
  float:none!important;
  width:100%;
  min-height:46px;
  border-radius:23px;
}
@media (max-width:767px) {
  #customer-form > div:first-child,
  #login-form > section {
    grid-template-columns:minmax(0, 1fr);
  }
}

/* Search suggestions (ps_searchbar autocomplete) */
.ui-autocomplete.tdm-suggest {
  z-index:1100!important;
  max-height:min(70vh, 560px);
  margin:0;
  padding:8px;
  overflow-y:auto;
  overflow-x:hidden;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 22px 60px color-mix(in srgb,var(--tdm-ink) 18%,transparent), 0 2px 10px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
  list-style:none;
}
.ui-autocomplete.tdm-suggest li {
  margin:0;
  padding:0;
  border:0;
}
.ui-autocomplete.tdm-suggest .tdm-suggest-item,
.ui-autocomplete.tdm-suggest .tdm-suggest-item.ui-state-active,
.ui-autocomplete.tdm-suggest .tdm-suggest-item.ui-state-focus {
  display:grid;
  grid-template-columns:52px minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  margin:0;
  padding:8px 10px;
  border:0;
  border-radius:16px;
  background:none;
  color:var(--tdm-ink);
  font-weight:400;
  cursor:pointer;
}
.ui-autocomplete.tdm-suggest .tdm-suggest-item:hover,
.ui-autocomplete.tdm-suggest .tdm-suggest-item.ui-state-active {
  background:var(--tdm-sand-light);
}
.tdm-suggest-media {
  position:relative;
  display:block;
  width:52px;
  height:52px;
}
.tdm-suggest-media img {
  position:relative;
  display:block;
  width:52px;
  height:52px;
  border-radius:12px;
  background:var(--tdm-sand-light);
  object-fit:cover;
  transform-origin:left center;
  transition:transform .25s ease, box-shadow .25s ease;
}
@media (hover:hover) {
  .tdm-suggest-item:hover .tdm-suggest-media img,
  .tdm-suggest-item.ui-state-active .tdm-suggest-media img {
    z-index:2;
    transform:scale(1.8);
    box-shadow:0 12px 28px color-mix(in srgb,var(--tdm-ink) 23.9%,transparent);
  }
}
@media (prefers-reduced-motion:reduce) {
  .tdm-suggest-media img {
    transition:none;
  }
}
.tdm-suggest-text {
  display:grid;
  gap:2px;
  min-width:0;
}
.tdm-suggest-name {
  overflow:hidden;
  font-size:14px;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.tdm-suggest-meta {
  overflow:hidden;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.tdm-suggest-text .tdm-stock {
  margin:3px 0 0;
  font-size:11px;
}
.tdm-suggest-price {
  display:grid;
  justify-items:end;
  color:var(--tdm-pink);
  font-size:15px;
  font-weight:700;
  white-space:nowrap;
}
.tdm-suggest-regular {
  color:color-mix(in srgb,var(--tdm-sand) 51%,var(--tdm-ink));
  font-size:12px;
  font-weight:400;
}

/* Footer: compact 4 columns */
#footer .footer-container > .container > .row:first-child > .col-md-6.links > .row::before,
#footer .footer-container > .container > .row:first-child > .col-md-6.links > .row::after {
  content:none;
  display:none;
}
#footer .footer-container {
  padding:28px 0 14px;
}
#footer .footer-container > .container > .row:first-child {
  gap:20px 36px;
}
#footer .footer-container li {
  margin-bottom:5px;
}
#footer .footer-container li a {
  font-size:13.5px;
}
#footer .footer-container .h3,
#footer .footer-container .h4,
#footer .footer-container .myaccount-title,
#footer .footer-container .myaccount-title a {
  margin:0 0 10px;
  color:var(--tdm-ink);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.3;
  text-transform:uppercase;
}
#footer .tdm-footer-brand {
  gap:12px;
}
#footer .tdm-footer-logo img {
  max-height:56px;
}
#footer .tdm-footer-contact {
  gap:2px;
  font-size:13px;
  line-height:1.5;
}
#footer .tdm-social-title {
  margin-bottom:8px;
  font-size:12.5px;
}
#footer .tdm-social-link {
  width:36px;
  height:36px;
}
#footer .tdm-footer-bottom {
  margin-top:18px;
  padding-top:14px;
  align-items:center;
}

/* Newsletter: neutralise Classic's block_newsletter styles */
#footer .block_newsletter.tdm-newsletter {
  float:none;
  width:auto;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  background:none;
  font-size:13px;
}
#footer .block_newsletter.tdm-newsletter #block-newsletter-label {
  margin:0;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}
#footer .block_newsletter.tdm-newsletter form {
  position:static;
}
#footer .block_newsletter.tdm-newsletter form .tdm-newsletter-row button[type="submit"] {
  position:static;
  flex:none;
  height:36px;
  padding:0 16px;
  border:0;
  border-radius:18px;
  background:var(--tdm-pink);
  color:#fff;
  font-size:12px;
  font-weight:600;
}
#footer .block_newsletter.tdm-newsletter form .tdm-newsletter-row button[type="submit"]:hover {
  background:color-mix(in srgb,var(--tdm-pink) 82%,#000);
}
#footer .block_newsletter.tdm-newsletter .tdm-newsletter-conditions,
#footer .block_newsletter.tdm-newsletter .tdm-newsletter-conditions p {
  margin:0;
  color:color-mix(in srgb,var(--tdm-sand) 34%,var(--tdm-ink));
  font-size:11px;
  line-height:1.4;
}
#footer .footer-container > .container > .row:first-child > [class^="wishlist-"]:not(.wishlist-toast) {
  position:absolute;
  width:0;
  height:0;
  overflow:visible;
}
#footer .tdm-footer-bottom {
  border-top:1px solid color-mix(in srgb,var(--tdm-sand) 82%,var(--tdm-ink));
}
#footer .tdm-copyright {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}
@media (max-width:767px) {
  body:not(#checkout) #footer {
    padding-bottom:calc(90px + env(safe-area-inset-bottom));
  }
}
#footer .tdm-copyright-rights {
  color:color-mix(in srgb,var(--tdm-sand) 34%,var(--tdm-ink));
  font-weight:500;
}
#footer .tdm-copyright-rights::before {
  content:"·";
  margin-right:8px;
  color:color-mix(in srgb,var(--tdm-sand) 66%,var(--tdm-ink));
}
#footer .tdm-copyright {
  flex-wrap:wrap;
  row-gap:2px;
}

/* Footer typography and link bullets */
#footer .footer-container {
  font-family:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
#footer .footer-container .h3,
#footer .footer-container .h4,
#footer .footer-container .myaccount-title,
#footer .footer-container .myaccount-title a,
#footer .tdm-social-title {
  color:var(--tdm-pink);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
#footer .footer-container ul li a,
#footer #block_myaccount_infos ul li a {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--tdm-muted-2);
  font-size:14px;
  font-weight:500;
  letter-spacing:.005em;
  line-height:1.5;
}
#footer .footer-container ul:not(.tdm-social-list) li a::before {
  content:"";
  flex:none;
  width:5px;
  height:5px;
  border-radius:3px;
  background:color-mix(in srgb,var(--tdm-pink) 41%,var(--tdm-paper));
  transition:width .15s, background-color .15s;
}
#footer .footer-container ul:not(.tdm-social-list) li a:hover::before,
#footer .footer-container ul:not(.tdm-social-list) li a:focus-visible::before {
  width:12px;
  background:var(--tdm-pink);
}
#footer .footer-container ul li a:hover {
  color:var(--tdm-ink);
}
#footer .tdm-footer-contact {
  color:var(--tdm-muted-2);
  font-size:13.5px;
}
@media (prefers-reduced-motion:reduce) {
  #footer .footer-container ul li a::before {
    transition:none;
  }
}
.tdm-suggest-text .tdm-stock {
  justify-self:start;
}
.ui-autocomplete.tdm-suggest li a.tdm-suggest-item,
.ui-autocomplete.tdm-suggest li a.tdm-suggest-item.ui-state-focus {
  overflow:visible;
}
@media (hover:hover) {
  .tdm-suggest-item.ui-state-focus .tdm-suggest-media img {
    z-index:2;
    transform:scale(1.8);
    box-shadow:0 12px 28px color-mix(in srgb,var(--tdm-ink) 23.9%,transparent);
  }
}
.tdm-suggest-unit {
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
  font-weight:600;
}

/* Footer polish */
#footer .tdm-social-list li a.tdm-social-link {
  display:grid;
  place-items:center;
  gap:0;
  width:38px;
  height:38px;
  padding:0;
  border-radius:50%;
  background:#fff;
  color:var(--tdm-ink);
  box-shadow:0 4px 12px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
}
#footer .tdm-social-list li a.tdm-social-link svg {
  display:block;
}
#footer .tdm-social-list li a.tdm-social-link:hover,
#footer .tdm-social-list li a.tdm-social-link:focus-visible {
  background:var(--tdm-pink);
  color:#fff;
  box-shadow:0 8px 18px color-mix(in srgb,var(--tdm-pink) 25.1%,transparent);
}
#footer .footer-container .h3,
#footer .footer-container .h4,
#footer .footer-container .myaccount-title,
#footer .tdm-social-title {
  position:relative;
  padding-bottom:9px;
  margin-bottom:12px;
}
#footer .footer-container .h3::after,
#footer .footer-container .h4::after,
#footer .footer-container .myaccount-title::after,
#footer .tdm-social-title::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:22px;
  height:2px;
  border-radius:2px;
  background:var(--tdm-pink);
}
#footer .footer-container .title .h3 {
  padding-bottom:0;
  margin-bottom:0;
}
#footer .footer-container .title .h3::after {
  content:none;
}
#footer .tdm-footer-contact {
  gap:8px;
}
#footer .tdm-footer-address,
#footer .tdm-footer-phone {
  position:relative;
  padding-left:26px;
}
#footer .tdm-footer-address::before,
#footer .tdm-footer-phone::before {
  content:"";
  position:absolute;
  left:0;
  top:1px;
  width:17px;
  height:17px;
  background:var(--tdm-pink);
}
#footer .tdm-footer-address::before {
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
#footer .tdm-footer-phone {
  display:inline-flex;
  align-items:center;
  justify-self:start;
  padding:5px 12px 5px 32px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
  font-size:13.5px;
}
#footer .tdm-footer-phone::before {
  left:11px;
  top:50%;
  width:15px;
  height:15px;
  transform:translateY(-50%);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l1.7 4.3-2.2 1.3a11 11 0 0 0 6.4 6.4l1.3-2.2L20 15.5V19a1.5 1.5 0 0 1-1.6 1.5A16.5 16.5 0 0 1 3.5 5.6 1.5 1.5 0 0 1 5 4Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l1.7 4.3-2.2 1.3a11 11 0 0 0 6.4 6.4l1.3-2.2L20 15.5V19a1.5 1.5 0 0 1-1.6 1.5A16.5 16.5 0 0 1 3.5 5.6 1.5 1.5 0 0 1 5 4Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
#footer .tdm-footer-phone:hover {
  color:var(--tdm-pink);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 29%,var(--tdm-soft));
}
#footer .tdm-footer-logo img {
  max-height:52px;
}
#footer .tdm-social {
  margin-top:6px;
}

/* Project link (header) */
#header .tdm-audiences .tdm-project-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:44px;
  padding:0 18px 0 14px;
  border-radius:22px;
  background:#fff;
  color:var(--tdm-ink);
  font-weight:600;
  box-shadow:var(--tdm-shadow), 0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
  transition:background-color .15s, color .15s;
}
#header .tdm-audiences .tdm-project-link .tdm-icon {
  width:20px;
  height:20px;
  margin:0;
  color:var(--tdm-pink);
}
#header .tdm-audiences .tdm-project-link:hover,
#header .tdm-audiences .tdm-project-link:focus-visible {
  background:var(--tdm-pink);
  color:#fff;
}
#header .tdm-audiences .tdm-project-link:hover .tdm-icon,
#header .tdm-audiences .tdm-project-link:focus-visible .tdm-icon {
  color:#fff;
}
.tdm-project-short {
  display:none;
}
@media (max-width:767px) {
  #header .tdm-audiences .tdm-project-link {
    flex:none;
    height:40px;
    padding:0 13px 0 10px;
    white-space:nowrap;
  }
  #header .tdm-audiences .tdm-project-link .tdm-icon {
    width:24px;
    height:24px;
  }
  #header .tdm-audiences > *:not(.tdm-header-cta) {
    min-width:0;
  }
  #header .tdm-audiences .tdm-header-cta {
    flex-basis:100%;
    justify-content:center;
    max-width:max-content;
    margin:0 auto;
  }
  .tdm-project-long {
    display:none;
  }
  .tdm-project-short {
    display:inline;
  }
  #header .tdm-header-search {
    display:none;
  }
  #header .tdm-header-search.tdm-search-open {
    position:fixed;
    top:auto;
    bottom:calc(84px + env(safe-area-inset-bottom));
    left:10px;
    right:10px;
    z-index:1060;
    display:block;
    max-width:none;
    margin:0;
    padding:8px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 23.9%,transparent);
  }
  #header .tdm-header-search.tdm-search-open #search_widget {
    margin:0;
  }
}
@media (max-width:767px) {
  .ui-autocomplete.tdm-suggest {
    max-height:calc(100vh - 260px);
  }
}
.ui-autocomplete.searchbar-autocomplete.tdm-suggest {
  min-height:0;
  height:auto;
}
#header .tdm-audiences .tdm-project-link,
#header .tdm-audiences .tdm-project-link span {
  white-space:nowrap;
}
#header .tdm-audiences .tdm-project-link {
  flex:none;
}
@media (max-width:767px) {
  #js-product-list-top.products-selection {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
    margin:0 0 12px;
  }
  #js-product-list-top.products-selection::before,
  #js-product-list-top.products-selection::after,
  #js-product-list-top .sort-by-row::before,
  #js-product-list-top .sort-by-row::after {
    content:none;
    display:none;
  }
  #js-product-list-top > .total-products {
    flex:0 0 auto;
    width:auto;
    padding:0;
  }
  #js-product-list-top > .col-md-6:not(.total-products) {
    flex:1 1 0;
    min-width:0;
    width:auto;
    padding:0;
  }
  #js-product-list-top .sort-by-row {
    display:block;
    margin:0;
  }
  #js-product-list-top .products-sort-order {
    float:none;
    width:100%;
    max-width:none;
    padding:0;
  }
  #js-product-list-top .products-sort-order .select-title {
    width:100%;
  }
  #js-product-list-top .tdm-filters-button {
    margin:0;
  }
  #js-product-list-top > .showing {
    flex:1 1 100%;
    padding:0 4px;
    font-size:12px;
    text-align:left;
  }
}

/* Customer account: sand menu on the left, white panel on the right */
.tdm-account {
  display:grid;
  grid-template-columns:minmax(240px, 280px) minmax(0, 1fr);
  gap:24px;
  align-items:start;
}
.tdm-account-nav {
  position:sticky;
  top:96px;
  display:grid;
  gap:14px;
  padding:20px 16px;
  border-radius:26px;
  background:var(--tdm-sand);
  box-shadow:0 14px 40px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 6.3%,transparent);
}
.tdm-account-hello {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 4px 4px;
}
.tdm-account-hello > span:last-child {
  display:grid;
  min-width:0;
}
.tdm-account-hello strong {
  overflow:hidden;
  color:var(--tdm-ink);
  font-size:15px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.tdm-account-hello-label {
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
}
.tdm-account-avatar {
  display:grid;
  flex:none;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--tdm-pink);
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
}
.tdm-account-menu {
  display:grid;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
}
.tdm-account-menu a,
.tdm-account-extra a,
.tdm-account-logout {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  color:var(--tdm-muted-2);
  font-size:14px;
  font-weight:600;
  transition:background-color .15s, color .15s;
}
.tdm-account-menu a .tdm-icon,
.tdm-account-logout .tdm-icon {
  width:20px;
  height:20px;
  color:color-mix(in srgb,var(--tdm-sand) 56%,var(--tdm-ink));
}
.tdm-account-menu a:hover,
.tdm-account-extra a:hover {
  background:#ffffffa6;
  color:var(--tdm-ink);
}
.tdm-account-menu a[aria-current="page"] {
  background:#fff;
  color:var(--tdm-pink);
  box-shadow:var(--tdm-shadow);
}
.tdm-account-menu a[aria-current="page"] .tdm-icon {
  color:var(--tdm-pink);
}
.tdm-account-extra:empty {
  display:none;
}
.tdm-account-extra a {
  float:none;
  width:auto;
  max-width:none;
  margin:0;
}
.tdm-account-extra .link-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  font-size:14px;
  text-align:left;
}
.tdm-account-extra .link-item .material-icons {
  margin:0;
  padding:0;
  color:color-mix(in srgb,var(--tdm-sand) 56%,var(--tdm-ink));
  font-size:20px;
}
.tdm-account-logout {
  margin-top:4px;
  border-top:1px solid color-mix(in srgb,var(--tdm-sand) 91%,var(--tdm-ink));
  border-radius:0 0 14px 14px;
  padding-top:14px;
  color:#9b2335;
}
.tdm-account-logout .tdm-icon {
  color:#d0364b;
}
.tdm-account-logout:hover {
  color:#d0364b;
}
.tdm-account-panel.page-content {
  min-width:0;
  margin:0;
  padding:28px 30px;
  border:0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
.tdm-account-intro {
  margin:0 0 20px;
  color:var(--tdm-muted);
}
.tdm-account-tiles {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));
  gap:14px;
}
.tdm-account-tiles-extra {
  display:contents;
}
.tdm-account-tile,
.tdm-account-tiles-extra > a {
  display:grid;
  align-content:start;
  gap:6px;
  float:none;
  width:auto;
  max-width:none;
  margin:0;
  padding:18px;
  border-radius:20px;
  background:var(--tdm-sand-light);
  color:var(--tdm-ink);
  transition:transform .15s, box-shadow .15s, background-color .15s;
}
.tdm-account-tile .tdm-icon {
  width:42px;
  height:42px;
  margin-bottom:6px;
  padding:10px;
  border-radius:14px;
  background:#fff;
  color:var(--tdm-pink);
  box-shadow:var(--tdm-shadow);
}
.tdm-account-tile-title {
  font-size:15px;
  font-weight:700;
}
.tdm-account-tile-text {
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:13px;
}
.tdm-account-tile:hover,
.tdm-account-tiles-extra > a:hover {
  background:#fff;
  box-shadow:0 14px 34px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent), 0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
  transform:translateY(-2px);
}
.tdm-account-tiles-extra .link-item {
  display:grid;
  gap:10px;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  color:var(--tdm-ink);
  font-size:15px;
  font-weight:700;
  text-align:left;
  text-transform:none;
}
.tdm-account-tiles-extra .link-item .material-icons {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border-radius:14px;
  background:#fff;
  color:var(--tdm-pink);
  font-size:22px;
  box-shadow:var(--tdm-shadow);
}
@media (prefers-reduced-motion:reduce) {
  .tdm-account-tile,
  .tdm-account-tile:hover {
    transition:none;
    transform:none;
  }
}
@media (max-width:991px) {
  .tdm-account {
    grid-template-columns:minmax(0, 1fr);
    gap:14px;
  }
  .tdm-account-nav {
    position:static;
    padding:12px;
    gap:10px;
  }
  .tdm-account-hello {
    margin:0 2px;
  }
  .tdm-account-menu,
  .tdm-account-extra {
    display:flex;
    gap:6px;
    margin:0 -12px;
    padding:2px 12px 4px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .tdm-account-menu::-webkit-scrollbar {
    display:none;
  }
  .tdm-account-menu li {
    flex:none;
  }
  .tdm-account-menu a,
  .tdm-account-extra a {
    padding:8px 12px;
    border-radius:999px;
    background:#ffffff8c;
    white-space:nowrap;
    font-size:13px;
  }
  .tdm-account-logout {
    justify-self:start;
    margin:0;
    padding:6px 4px;
    border:0;
    font-size:13px;
  }
  .tdm-account-panel.page-content {
    padding:20px 16px;
    border-radius:22px;
  }
  .tdm-account-tiles {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }
  .tdm-account-tile,
  .tdm-account-tiles-extra > a {
    padding:14px;
  }
}

/* Project form (tdmaudience) */
.tdm-project.page-content {
  max-width:860px;
  margin:0 auto 30px;
  padding:32px 34px;
  border:0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
}
.tdm-project-intro {
  margin:0 0 22px;
  color:var(--tdm-muted);
  font-size:15px;
  line-height:1.6;
}
.tdm-project-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px 18px;
}
.tdm-project-field {
  grid-column:1 / -1;
  min-width:0;
}
.tdm-project-field.tdm-project-half {
  grid-column:auto;
}
.tdm-project-field fieldset {
  margin:0;
  padding:0;
  border:0;
}
.tdm-project-label {
  display:block;
  margin:0 0 6px;
  padding:0;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:600;
}
.tdm-project-required {
  color:var(--tdm-pink);
}
.tdm-project-field textarea.form-control {
  min-height:140px;
  padding:12px 14px;
  line-height:1.5;
}
.tdm-project-choices {
  gap:8px;
}
.tdm-project-choices .tdm-card-chip span {
  min-height:36px;
  padding:7px 14px;
  font-size:13px;
}
.tdm-project-invalid .form-control {
  border-color:#d0364b;
  box-shadow:0 0 0 3px #d0364b1f;
}
.tdm-project-error {
  margin:6px 0 0;
  color:#9b2335;
  font-size:12.5px;
  font-weight:600;
}
.tdm-project-alert {
  margin:0 0 18px;
  padding:12px 16px;
  border-radius:14px;
  background:#f8e4e6;
  color:#9b2335;
  font-size:14px;
  font-weight:600;
}
.tdm-project-trap {
  position:absolute!important;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.tdm-project-note {
  margin:14px 0 0;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
}
.tdm-project-submit {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  margin-top:16px;
  padding:0 26px;
  border-radius:24px;
}
.tdm-project-submit .tdm-icon {
  width:20px;
  height:20px;
}
.tdm-project-success {
  display:grid;
  justify-items:center;
  gap:6px;
  padding:30px 10px;
  text-align:center;
}
.tdm-project-success-icon {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#e8f3ea;
  color:#25633a;
}
.tdm-project-success-icon .tdm-icon {
  width:28px;
  height:28px;
}
.tdm-project-success-title {
  margin:6px 0 0;
  color:var(--tdm-ink);
  font-size:20px;
  font-weight:700;
}
@media (max-width:767px) {
  .tdm-project.page-content {
    padding:22px 16px;
    border-radius:22px;
  }
  .tdm-project-grid {
    grid-template-columns:minmax(0, 1fr);
    gap:14px;
  }
  .tdm-project-submit {
    width:100%;
    justify-content:center;
  }
}
.tdm-project .tdm-project-label,
.tdm-project legend.tdm-project-label {
  width:auto;
  text-align:left;
}
#footer {
  background:transparent;
}
#wrapper {
  padding-bottom:24px;
  box-shadow:none;
}

/* Page titles */
#main .page-header {
  margin:6px 0 26px;
}
#main .page-header h1,
#main .page-header .h1 {
  position:relative;
  margin:0;
  padding-bottom:14px;
  color:var(--tdm-ink);
  font-size:clamp(30px, 3.2vw, 44px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.03em;
  text-transform:none;
}
#main .page-header h1::after,
#main .page-header .h1::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:44px;
  height:4px;
  border-radius:2px;
  background:var(--tdm-pink);
}
#js-product-list-header .tdm-category-title {
  font-size:clamp(30px, 3.2vw, 44px);
  font-weight:800;
  letter-spacing:-.03em;
}
body#authentication #main .page-header,
body#registration #main .page-header,
body#password #main .page-header,
body.tdm-project-page #main .page-header {
  text-align:center;
}
body#authentication #main .page-header h1::after,
body#registration #main .page-header h1::after,
body#password #main .page-header h1::after,
body.tdm-project-page #main .page-header h1::after {
  left:50%;
  transform:translateX(-50%);
}
@media (max-width:767px) {
  #main .page-header {
    margin:2px 0 18px;
  }
  #main .page-header h1,
  #main .page-header .h1 {
    padding-bottom:11px;
  }
  #main .page-header h1::after {
    width:34px;
    height:3px;
  }
}

/* Cart page: title row, continue shopping, empty state */
body#cart .cart-container > hr.separator {
  display:none;
}
body#cart .cart-grid-body {
  position:relative;
}
body#cart .cart-grid-body > .tdm-continue-shopping {
  position:absolute;
  top:18px;
  right:calc(15px + 18px);
  z-index:1;
}
.tdm-continue-shopping {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 18px;
  border:0;
  border-radius:21px;
  background:#fff;
  color:var(--tdm-ink);
  font-weight:600;
  text-transform:none;
  box-shadow:var(--tdm-shadow), 0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
}
.tdm-continue-shopping::before {
  content:"";
  width:8px;
  height:8px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
}
.tdm-cart-empty-actions .tdm-continue-shopping::before {
  content:none;
}
.tdm-continue-shopping .tdm-icon {
  width:18px;
  height:18px;
}
.tdm-continue-shopping:hover,
.tdm-continue-shopping:focus-visible {
  color:var(--tdm-pink);
}
body#cart .cart-grid-body:has(.tdm-cart-empty) > .tdm-continue-shopping,
body#cart .cart-grid:has(.tdm-cart-empty) .cart-grid-right {
  display:none;
}
body#cart .cart-grid:has(.tdm-cart-empty) .cart-grid-body {
  width:100%;
  max-width:760px;
  margin:0 auto;
  float:none;
}
.tdm-cart-empty {
  display:grid;
  justify-items:center;
  gap:8px;
  padding:26px 20px 34px;
  text-align:center;
}
.tdm-cart-empty-icon {
  display:grid;
  place-items:center;
  width:84px;
  height:84px;
  margin-bottom:8px;
  border-radius:50%;
  background:var(--tdm-sand);
  color:var(--tdm-pink);
}
.tdm-cart-empty-icon .tdm-icon {
  width:38px;
  height:38px;
}
.tdm-cart-empty-title {
  margin:0;
  color:var(--tdm-ink);
  font-size:22px;
  font-weight:800;
}
.tdm-cart-empty-text {
  max-width:420px;
  margin:0;
  color:var(--tdm-muted);
}
.tdm-cart-empty-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:14px;
}
.tdm-cart-empty-actions .btn-primary {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:0 24px;
  border-radius:23px;
}
.tdm-cart-empty-actions .btn-primary .tdm-icon {
  width:20px;
  height:20px;
}
.tdm-cart-empty-actions .tdm-continue-shopping {
  min-height:46px;
  border-radius:23px;
}
@media (max-width:767px) {
  body#cart .cart-grid-body > .tdm-continue-shopping {
    top:16px;
    right:calc(15px + 12px);
    min-height:36px;
    padding:0 12px;
    font-size:12px;
  }
  .tdm-cart-empty-actions .btn {
    width:100%;
    justify-content:center;
  }
}
body#cart .cart-container .card-block h1 {
  margin:0;
  padding-right:220px;
  color:var(--tdm-ink);
  font-size:clamp(26px, 2.6vw, 34px);
  font-weight:800;
  letter-spacing:-.03em;
  text-transform:none;
}
body#cart .cart-grid:has(.tdm-cart-empty) .cart-container .card-block h1 {
  padding-right:0;
  text-align:center;
}
@media (max-width:767px) {
  body#cart .cart-container .card-block h1 {
    padding-right:150px;
  }
}
#header .blockcart .tdm-header-icon .tdm-icon,
#header .tdm-pinned-cart .tdm-icon {
  width:26px;
  height:26px;
}
.tdm-mobile-dock .tdm-dock-cart .tdm-icon {
  width:27px;
  height:27px;
}
.tdm-account-extra a.tdm-account-tile {
  display:flex;
  gap:12px;
  padding:10px 12px;
  background:none;
  box-shadow:none;
  transform:none;
}
.tdm-account-extra a.tdm-account-tile .tdm-icon {
  width:20px;
  height:20px;
  margin:0;
  padding:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:color-mix(in srgb,var(--tdm-sand) 56%,var(--tdm-ink));
}
.tdm-account-extra a.tdm-account-tile .tdm-account-tile-title {
  font-size:14px;
  font-weight:600;
}
.tdm-account-extra a.tdm-account-tile .tdm-account-tile-text {
  display:none;
}
#footer .tdm-footer-reach {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#footer .tdm-footer-email {
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#footer .tdm-footer-email::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}
.tdm-back-shop {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding:8px 16px 8px 12px;
  border-radius:20px;
  background:#fff;
  color:var(--tdm-ink);
  font-size:14px;
  font-weight:600;
  box-shadow:var(--tdm-shadow), 0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
}
.tdm-back-shop[hidden] {
  display:none;
}
.tdm-back-shop::before {
  content:"";
  width:8px;
  height:8px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
}
.tdm-back-shop:hover,
.tdm-back-shop:focus-visible {
  color:var(--tdm-pink);
}

/* Shop page: category description as a note */
.tdm-shop .tdm-shop-card-description {
  position:relative;
  margin:4px 0 6px;
  padding:8px 10px 8px 26px;
  border-left:3px solid var(--tdm-pink);
  border-radius:0 12px 12px 0;
  background:var(--tdm-sand-light);
  color:var(--tdm-muted);
  font-style:italic;
}
.tdm-shop .tdm-shop-card-description::before {
  content:"\201C";
  position:absolute;
  left:8px;
  top:2px;
  color:var(--tdm-pink);
  font-family:Georgia, "Times New Roman", serif;
  font-size:24px;
  font-style:normal;
  line-height:1;
}
.tdm-shop .tdm-shop-card-description {
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
}
.tdm-shop .tdm-shop-card-description-text {
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}
@media (max-width:767px) {
  .tdm-shop .tdm-shop-card-description {
    display:block;
  }
  .tdm-shop .tdm-shop-card-description-text {
    -webkit-line-clamp:2;
  }
}

/* Checkout: progress bar and steps */
.tdm-checkout-progress {
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:24px;
  background:var(--tdm-sand);
  box-shadow:0 14px 40px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
.tdm-checkout-progress[hidden] {
  display:none;
}
.tdm-checkout-progress ol {
  display:flex;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.tdm-checkout-progress-step {
  position:relative;
  flex:1 1 0;
  min-width:0;
}
.tdm-checkout-progress-step:not(:last-child)::after {
  content:"";
  position:absolute;
  top:17px;
  left:calc(50% + 24px);
  right:calc(-50% + 24px);
  height:3px;
  border-radius:2px;
  background:color-mix(in srgb,var(--tdm-sand) 87%,var(--tdm-ink));
}
.tdm-checkout-progress-step.tdm-step-done:not(:last-child)::after {
  background:var(--tdm-pink);
}
.tdm-checkout-progress-control {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  width:100%;
  padding:0 4px;
  border:0;
  background:none;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font:inherit;
  text-align:center;
}
button.tdm-checkout-progress-control {
  cursor:pointer;
}
button.tdm-checkout-progress-control:hover .tdm-checkout-progress-label,
button.tdm-checkout-progress-control:focus-visible .tdm-checkout-progress-label {
  color:var(--tdm-pink);
  text-decoration:underline;
}
button.tdm-checkout-progress-control:focus-visible {
  outline:none;
}
button.tdm-checkout-progress-control:focus-visible .tdm-checkout-progress-number {
  outline:2px solid var(--tdm-pink);
  outline-offset:3px;
}
.tdm-checkout-progress-number {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:14px;
  font-weight:800;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--tdm-sand) 87%,var(--tdm-ink));
}
.tdm-step-current .tdm-checkout-progress-number {
  background:var(--tdm-pink);
  color:#fff;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--tdm-pink) 20%,transparent);
}
.tdm-step-done .tdm-checkout-progress-number {
  background:var(--tdm-pink);
  box-shadow:none;
}
.tdm-step-done .tdm-checkout-progress-number::before {
  content:"";
  width:12px;
  height:7px;
  margin-top:-3px;
  border-left:2.5px solid #fff;
  border-bottom:2.5px solid #fff;
  transform:rotate(-45deg);
}
.tdm-step-reachable .tdm-checkout-progress-number {
  box-shadow:0 0 0 2px var(--tdm-pink);
  color:var(--tdm-pink);
}
.tdm-checkout-progress-label {
  overflow:hidden;
  max-width:100%;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
  text-overflow:ellipsis;
}
.tdm-step-current .tdm-checkout-progress-label,
.tdm-step-done .tdm-checkout-progress-label {
  color:var(--tdm-ink);
}
body#checkout section.checkout-step {
  margin:0 0 14px;
  padding:0;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
  overflow:hidden;
}
body#checkout section.checkout-step.-current {
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 14.9%,transparent), 0 0 0 2px var(--tdm-pink);
}
body#checkout section.checkout-step .step-title {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:18px 22px;
  color:var(--tdm-ink);
  font-size:18px;
  font-weight:800;
  text-transform:none;
}
body#checkout section.checkout-step.-unreachable .step-title {
  color:color-mix(in srgb,var(--tdm-sand) 56%,var(--tdm-ink));
}
body#checkout section.checkout-step .step-number {
  display:grid;
  flex:none;
  place-items:center;
  width:32px;
  height:32px;
  margin:0;
  border-radius:50%;
  background:var(--tdm-sand);
  color:var(--tdm-ink);
  font-size:14px;
}
body#checkout section.checkout-step.-current .step-number {
  background:var(--tdm-pink);
  color:#fff;
}
body#checkout section.checkout-step.-complete .step-title .done {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  margin:0;
  border-radius:50%;
  background:#e8f3ea;
  color:#25633a;
  font-size:18px;
}
body#checkout section.checkout-step.-complete .step-number {
  display:none;
}
body#checkout section.checkout-step .step-edit {
  margin-left:auto;
  padding:6px 12px;
  border-radius:16px;
  background:var(--tdm-sand);
  color:var(--tdm-ink)!important;
  font-size:13px;
  font-weight:600;
}
body#checkout section.checkout-step .step-edit .material-icons {
  font-size:16px;
  vertical-align:-3px;
}
body#checkout section.checkout-step .content {
  padding:4px 22px 22px;
}
.tdm-step-back {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  padding:8px 16px 8px 12px;
  border:0;
  border-radius:20px;
  background:#fff;
  color:var(--tdm-ink);
  font-size:14px;
  font-weight:600;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
  cursor:pointer;
}
.tdm-step-back::before {
  content:"";
  width:8px;
  height:8px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
}
.tdm-step-back:hover,
.tdm-step-back:focus-visible {
  color:var(--tdm-pink);
}
body#checkout #js-checkout-summary {
  position:sticky;
  top:20px;
  border:0;
  border-radius:24px;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
  overflow:hidden;
}
@media (max-width:767px) {
  .tdm-checkout-progress {
    padding:12px 8px;
    border-radius:18px;
  }
  .tdm-checkout-progress-number {
    width:30px;
    height:30px;
    font-size:13px;
  }
  .tdm-checkout-progress-step:not(:last-child)::after {
    top:14px;
    left:calc(50% + 20px);
    right:calc(-50% + 20px);
  }
  .tdm-checkout-progress-label {
    font-size:11px;
  }
  body#checkout section.checkout-step .step-title {
    padding:14px 16px;
    font-size:16px;
  }
  body#checkout section.checkout-step .content {
    padding:4px 16px 18px;
  }
  body#checkout #js-checkout-summary {
    position:static;
  }
}
body#checkout section.checkout-step.-current .step-title .step-number,
body#checkout section.checkout-step.-current.-reachable .step-title .step-number {
  background:var(--tdm-pink)!important;
  color:#fff!important;
}

/* Address form (checkout and account): same layout as the customer form */
.js-address-form .form-fields {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  column-gap:16px;
}
.js-address-form .form-fields .form-group.row {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  grid-template-areas:"label comment" "field field";
  gap:4px 10px;
  margin:0 0 14px;
}
.js-address-form .form-fields .form-group.row:has([name="firstname"]),
.js-address-form .form-fields .form-group.row:has([name="lastname"]) {
  grid-column:span 3;
}
.js-address-form .form-fields .form-group.row:has([name="postcode"]),
.js-address-form .form-fields .form-group.row:has([name="city"]),
.js-address-form .form-fields .form-group.row:has([name="id_country"]) {
  grid-column:span 2;
}
.js-address-form .form-fields .form-group.row:has([name="postcode"]) .form-control-label,
.js-address-form .form-fields .form-group.row:has([name="city"]) .form-control-label,
.js-address-form .form-fields .form-group.row:has([name="id_country"]) .form-control-label {
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.js-address-form .form-fields .form-group.row > * {
  float:none;
  width:auto;
  max-width:none;
  padding:0;
}
.js-address-form .form-fields .form-group.row > .form-control-label {
  grid-area:label;
  margin:0;
  padding:0;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:600;
  text-align:left;
}
.js-address-form .form-fields .form-group.row > .form-control-comment {
  grid-area:comment;
  align-self:end;
  padding:0;
  color:color-mix(in srgb,var(--tdm-sand) 51%,var(--tdm-ink));
  font-size:12px;
}
.js-address-form .form-fields .form-group.row > .form-control-comment:empty {
  display:none;
}
.js-address-form .form-fields .form-group.row > .col-md-6 {
  grid-area:field;
}
@media (max-width:767px) {
  .js-address-form .form-fields {
    column-gap:8px;
  }
  .js-address-form .form-fields .form-group.row:has([name="firstname"]),
  .js-address-form .form-fields .form-group.row:has([name="lastname"]) {
    grid-column:1 / -1;
  }
  .js-address-form .form-fields .form-group.row:has([name="postcode"]) {
    grid-column:span 2;
  }
  .js-address-form .form-fields .form-group.row:has([name="city"]),
  .js-address-form .form-fields .form-group.row:has([name="id_country"]) {
    grid-column:span 2;
  }
  .js-address-form .form-fields .form-group.row:has([name="postcode"]) .form-control-comment,
  .js-address-form .form-fields .form-group.row:has([name="city"]) .form-control-comment,
  .js-address-form .form-fields .form-group.row:has([name="id_country"]) .form-control-comment {
    display:none;
  }
}

/* Cart pictograms */
#cart { --tdm-cart-icon-ink:var(--tdm-muted); }
#cart #block-reassurance { background:transparent; box-shadow:none; }
#cart #block-reassurance ul { margin:0; }
#cart #block-reassurance li { border:0; }
#cart #block-reassurance .block-reassurance-item {
  display:flex; align-items:center; gap:14px; padding:12px 0;
  color:var(--tdm-ink); text-decoration:none;
}
#cart #block-reassurance .tdm-reassurance-icon {
  display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px;
  border-radius:16px; background:var(--tdm-sand); color:var(--tdm-cart-icon-ink);
  box-shadow:0 4px 14px color-mix(in srgb,var(--tdm-ink) 7%,transparent);
}
#cart #block-reassurance .tdm-reassurance-icon svg,
#cart #block-reassurance .tdm-reassurance-icon img { width:25px; height:25px; margin:0; flex:none; }
#cart #block-reassurance .block-reassurance-item > span:last-child { min-width:0; line-height:1.5; }
#cart .tdm-cart-remove {
  width:44px; height:44px; border-radius:14px;
  background:var(--tdm-sand); color:var(--tdm-cart-icon-ink);
  box-shadow:0 4px 14px color-mix(in srgb,var(--tdm-ink) 7%,transparent);
}
#cart .tdm-cart-remove:hover { background:color-mix(in srgb,var(--tdm-ink) 11%,#fff); color:var(--tdm-muted-2); }
#cart .tdm-cart-remove:focus-visible,
#cart #block-reassurance a:focus-visible { outline:2px solid var(--tdm-muted); outline-offset:4px; }
#cart .tdm-cart-empty-icon { color:var(--tdm-cart-icon-ink); }

/* Checkout header */
#header .tdm-checkout-header {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:16px;
}
#header .tdm-checkout-header .tdm-logo img {
  max-height:56px;
}
.tdm-checkout-secure {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:8px 16px;
  border-radius:20px;
  background:#fff;
  color:#25633a;
  font-size:14px;
  font-weight:700;
  box-shadow:var(--tdm-shadow);
}
.tdm-checkout-secure .tdm-icon {
  width:18px;
  height:18px;
}
#header .tdm-checkout-back {
  justify-self:end;
}
@media (max-width:767px) {
  #header .tdm-checkout-header {
    grid-template-columns:auto 1fr;
    grid-template-areas:"logo back" "secure secure";
    gap:10px;
  }
  #header .tdm-checkout-header .tdm-logo {
    grid-area:logo;
  }
  #header .tdm-checkout-header .tdm-logo img {
    max-width:140px;
    max-height:44px;
  }
  .tdm-checkout-secure {
    grid-area:secure;
    justify-self:center;
    padding:6px 14px;
    font-size:13px;
  }
  #header .tdm-checkout-back {
    grid-area:back;
    min-height:36px;
    padding:0 12px;
    font-size:12px;
  }
}
body#checkout section.checkout-step {
  border:0;
  box-shadow:0 10px 30px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 6px color-mix(in srgb,var(--tdm-ink) 5.9%,transparent);
}
body#checkout section.checkout-step.-current {
  box-shadow:0 24px 60px color-mix(in srgb,var(--tdm-ink) 18.8%,transparent), 0 6px 16px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
body#checkout section.checkout-step .step-title,
body#checkout section.checkout-step .content,
body#checkout section.checkout-step .content > hr,
body#checkout section.checkout-step hr {
  border:0;
}
body#checkout section.checkout-step .content > hr {
  display:none;
}
body#checkout section.checkout-step .step-title {
  font-size:22px;
  letter-spacing:-.01em;
}
body#checkout section.checkout-step .step-number,
body#checkout section.checkout-step.-complete .step-title .done {
  width:36px;
  height:36px;
  font-size:15px;
}
body#checkout section.checkout-step .step-title .done {
  display:none;
}
body#checkout section.checkout-step.-complete .step-title .done {
  position:relative;
  display:block;
  flex:none;
  margin:0;
  padding:0;
  border-radius:50%;
  background:#e8f3ea;
  color:transparent;
  font-size:0;
  line-height:0;
  overflow:hidden;
}
body#checkout section.checkout-step.-complete .step-title .done::before {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:8px;
  border-left:2.5px solid #25633a;
  border-bottom:2.5px solid #25633a;
  transform:translate(-50%, -65%) rotate(-45deg);
}
@media (max-width:767px) {
  body#checkout section.checkout-step .step-title {
    font-size:19px;
  }
  body#checkout section.checkout-step .step-number,
  body#checkout section.checkout-step.-complete .step-title .done {
    width:32px;
    height:32px;
  }
}
body#checkout section.checkout-step .step-title .step-number {
  margin:0!important;
}

/* Address alias presets */
.tdm-alias-presets {
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-6px 0 16px;
}
.tdm-alias-preset {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 14px 0 11px;
  border:0;
  border-radius:19px;
  background:#fff;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:600;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 91%,var(--tdm-ink));
  cursor:pointer;
  transition:background-color .15s, color .15s, box-shadow .15s;
}
.tdm-alias-preset .tdm-icon {
  width:18px;
  height:18px;
  color:var(--tdm-pink);
}
.tdm-alias-preset:hover {
  box-shadow:0 0 0 1px var(--tdm-pink);
}
.tdm-alias-preset[aria-pressed="true"] {
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep);
  box-shadow:0 0 0 2px var(--tdm-pink);
}
.tdm-alias-preset:focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}

/* Native checkboxes: same look as the custom ones */
:where(input[type="checkbox"]) {
  -webkit-appearance:none;
  appearance:none;
  flex:none;
  width:20px;
  height:20px;
  margin:0 8px 0 0;
  border:1.5px solid color-mix(in srgb,var(--tdm-sand) 87%,var(--tdm-ink));
  border-radius:6px;
  background:#fff no-repeat center/13px 13px;
  vertical-align:-5px;
  cursor:pointer;
  transition:background-color .15s, border-color .15s;
}
:where(input[type="checkbox"]):checked {
  border-color:var(--tdm-pink);
  background-color:var(--tdm-pink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
:where(input[type="checkbox"]):hover {
  border-color:var(--tdm-pink);
}
:where(input[type="checkbox"]):focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}
:where(input[type="checkbox"]):disabled {
  opacity:.5;
  cursor:not-allowed;
}
.custom-checkbox input[type="checkbox"] + span {
  border-radius:6px;
}
.tdm-alias-presets {
  margin:0 0 8px;
}

/* Checkout: full-width action buttons */
body#checkout section.checkout-step .continue,
body#checkout section.checkout-step button[name="confirm-addresses"],
body#checkout section.checkout-step button[name="confirmDeliveryOption"],
body#checkout #payment-confirmation button,
body#checkout .js-payment-confirmation button {
  float:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  margin:12px 0 0;
  border-radius:25px;
  font-size:16px;
}
body#checkout section.checkout-step .form-footer {
  float:none;
  width:100%;
}
body#checkout #payment-confirmation .ps-shown-by-js,
body#checkout #payment-confirmation > div {
  width:100%;
}
.custom-checkbox label {
  padding-left:32px!important;
}

/* Order confirmation */
body#order-confirmation #content-hook_order_confirmation,
body#order-confirmation #content-hook_payment_return,
body#order-confirmation #content,
body#order-confirmation #registration-form,
body#order-confirmation .card {
  border:0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.1%,transparent);
}
body#order-confirmation #content-hook_order_confirmation {
  margin-bottom:18px;
  padding:6px;
  text-align:center;
}
body#order-confirmation #content-hook_order_confirmation .card-title {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin:6px 0 8px;
  color:var(--tdm-ink);
  font-size:clamp(24px, 2.6vw, 32px);
  font-weight:800;
  letter-spacing:-.02em;
  text-transform:none;
}
body#order-confirmation #content-hook_order_confirmation .card-title .material-icons {
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0;
  border-radius:50%;
  background:#e8f3ea;
  color:#25633a;
  font-size:34px;
}
body#order-confirmation #content-hook_order_confirmation p {
  color:var(--tdm-muted);
}
body#order-confirmation #content-hook_payment_return {
  margin-bottom:18px;
  padding:24px 26px;
}
body#order-confirmation #content {
  padding:22px 24px;
}
body#order-confirmation #order-items .order-line {
  padding:10px 0;
  border-bottom:1px solid color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
body#order-confirmation #order-items .order-line img {
  border-radius:12px;
}
body#order-confirmation #order-items table td,
body#order-confirmation #order-items table th {
  padding:6px 0;
}
body#order-confirmation #order-details ul {
  padding:14px 16px;
  border-radius:16px;
  background:var(--tdm-sand-light);
}
.tdm-wire-lead {
  margin:0 0 16px;
  color:var(--tdm-ink);
  font-size:16px;
  font-weight:600;
}
.tdm-wire-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:0 0 16px;
}
.tdm-wire-item {
  min-width:0;
  padding:14px 16px;
  border-radius:16px;
  background:var(--tdm-sand-light);
}
.tdm-wire-wide {
  grid-column:1 / -1;
}
.tdm-wire-item dt {
  margin:0 0 6px;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tdm-wire-item dd {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin:0;
  color:var(--tdm-ink);
  font-size:15px;
  line-height:1.55;
}
.tdm-wire-amount {
  color:var(--tdm-pink)!important;
  font-size:22px!important;
  font-weight:800;
}
.tdm-wire-details,
.tdm-wire-ref {
  flex:1 1 220px;
  min-width:0;
  font-family:ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  font-size:15px;
  letter-spacing:.02em;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.tdm-wire-reference {
  background:var(--tdm-soft);
}
.tdm-wire-ref {
  color:var(--tdm-pink-deep);
  font-size:18px;
}
.tdm-copy {
  flex:none;
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:18px;
  background:#fff;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 91%,var(--tdm-ink));
  cursor:pointer;
}
.tdm-copy:hover,
.tdm-copy:focus-visible {
  color:var(--tdm-pink);
}
.tdm-copy.tdm-copy-done {
  background:#e8f3ea;
  color:#25633a;
  box-shadow:none;
}
.tdm-wire-note,
.tdm-wire-help {
  margin:0 0 8px;
  color:var(--tdm-muted);
  font-size:14px;
}
@media (max-width:767px) {
  .tdm-wire-grid {
    grid-template-columns:minmax(0, 1fr);
  }
  body#order-confirmation #content-hook_payment_return,
  body#order-confirmation #content {
    padding:18px 16px;
    border-radius:22px;
  }
  .tdm-copy {
    width:100%;
  }
}

/* Reassurance icons (blockreassurance) */
.blockreassurance_product > div {
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  grid-template-areas:"icon title" "icon text";
  align-items:center;
  column-gap:14px;
  margin:0 0 12px;
}
.blockreassurance_product > div > .item-product {
  grid-area:icon;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0;
  border-radius:14px;
  background:var(--tdm-sand);
}
.blockreassurance_product > div > .item-product img,
.blockreassurance_product > div > .item-product svg {
  width:28px!important;
  height:28px!important;
  margin:0;
}
.blockreassurance_product > div > .block-title {
  grid-area:title;
  align-self:end;
  font-weight:700;
}
.blockreassurance_product > div > p {
  grid-area:text;
  align-self:start;
  margin:0;
  font-size:13px;
}
.blockreassurance_product > div > p:empty,
.blockreassurance_product > div > .block-title:only-of-type {
  grid-row:1 / -1;
  align-self:center;
}
#block-reassurance img {
  width:32px!important;
  height:32px!important;
}

/* Order confirmation: wire block above the order details, compact lines */
body#order-confirmation #main {
  display:flex;
  flex-direction:column;
}
body#order-confirmation #main > * {
  order:5;
}
body#order-confirmation #main > .page-header,
body#order-confirmation #main > header {
  order:0;
}
body#order-confirmation #main > #content-hook_order_confirmation {
  order:1;
}
body#order-confirmation #main > #content-hook_payment_return {
  order:2;
}
body#order-confirmation #main > #content {
  order:3;
}
body#order-confirmation #content-hook_payment_return.definition-list .tdm-wire-grid {
  display:grid;
}
body#order-confirmation #content-hook_payment_return.definition-list .tdm-wire-item dt,
body#order-confirmation #content-hook_payment_return.definition-list .tdm-wire-item dd {
  flex:none;
  margin:0;
  padding:0;
  background:none;
}
body#order-confirmation #content-hook_payment_return.definition-list .tdm-wire-item dt {
  margin-bottom:6px;
  font-weight:700;
}
body#order-confirmation #content-hook_payment_return.definition-list .tdm-wire-item dd {
  display:flex;
}
body#order-confirmation #content-hook_order_confirmation {
  padding:0;
}
body#order-confirmation #content-hook_order_confirmation .card-block {
  padding:22px 20px 18px;
}
body#order-confirmation #content-hook_order_confirmation .card-title .material-icons {
  width:52px;
  height:52px;
  font-size:28px;
}
body#order-confirmation #order-items hr {
  margin:8px 0;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
body#order-confirmation #order-items .order-line {
  display:flex;
  align-items:center;
  margin:0;
  padding:8px 0;
}
body#order-confirmation #order-items .order-line .image {
  flex:0 0 64px;
  max-width:64px;
  padding:0;
}
body#order-confirmation #order-items .order-line .image img {
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:10px;
}
body#order-confirmation #order-items .order-line .details {
  padding:0 12px;
  font-size:14px;
}
body#order-confirmation #order-items .order-line .qty .row > div {
  font-size:14px;
}
body#order-confirmation #order-items .order-line .details span,
body#order-confirmation #order-items .order-line .details a {
  line-height:1.35;
}
body#order-confirmation #order-items h3.card-title {
  margin:0 0 8px;
  font-size:13px;
  letter-spacing:.06em;
}
body#order-confirmation #order-items table {
  margin:6px 0 0;
}
body#order-confirmation #order-items table td {
  padding:4px 0;
  font-size:14px;
}
body#order-confirmation #order-items table .total-value {
  border-radius:10px;
  background:var(--tdm-sand-light);
}
body#order-confirmation #order-items table .total-value td {
  padding:8px 10px;
  font-size:15px;
}
body#order-confirmation #order-details {
  padding-top:6px;
}
body#order-confirmation #order-details h3 {
  margin:0 0 8px;
  font-size:13px;
  letter-spacing:.06em;
}
body#order-confirmation #order-details ul {
  margin:0;
  padding:10px 14px;
  font-size:14px;
}
body#order-confirmation #order-details ul li {
  margin:0 0 4px;
}
body#order-confirmation #content-hook_payment_return .card-block {
  padding:0;
}
.blockreassurance_product > div > .item-product {
  overflow:hidden;
  background:var(--tdm-sand);
}
.blockreassurance_product > div > .item-product img,
.blockreassurance_product > div > .item-product svg {
  flex:none;
  width:78px!important;
  height:78px!important;
  max-width:none;
}
.blockreassurance_product .item-product svg > rect:first-child {
  display:none;
}
.blockreassurance_product > div > .item-product {
  display:flex;
  align-items:center;
  justify-content:center;
}
.blockreassurance_product > div > .item-product img,
.blockreassurance_product > div > .item-product svg {
  margin:-15px!important;
}

/* Order confirmation recap: livelier, no double rules */
body#order-confirmation #order-items hr,
body#order-confirmation #order-items .order-confirmation-table > hr {
  display:none;
}
body#order-confirmation #order-items .order-line {
  margin:0 0 8px;
  padding:10px 14px;
  border:0;
  border-radius:16px;
  background:var(--tdm-sand-light);
}
body#order-confirmation #order-items .order-line .details {
  color:var(--tdm-ink);
  font-weight:600;
}
body#order-confirmation #order-items .order-line .qty .row > div:last-child {
  color:var(--tdm-pink);
  font-weight:800;
}
body#order-confirmation #order-items table {
  width:100%;
  margin:14px 0 0;
  border-collapse:separate;
  border-spacing:0;
  border-radius:18px;
  background:var(--tdm-sand);
  overflow:hidden;
}
body#order-confirmation #order-items table tr td {
  padding:8px 16px;
  border:0;
  background:none;
  color:var(--tdm-muted-2);
}
body#order-confirmation #order-items table tr:first-child td {
  padding-top:14px;
}
body#order-confirmation #order-items table .total-value td {
  padding:12px 16px 14px;
  border-top:1px solid color-mix(in srgb,var(--tdm-sand) 91%,var(--tdm-ink));
  border-radius:0;
  background:none;
  color:var(--tdm-ink);
  font-size:17px;
  font-weight:800;
}
body#order-confirmation #order-items table .total-value td:last-child {
  color:var(--tdm-pink);
}
body#order-confirmation #order-details {
  margin-top:20px;
}
body#order-confirmation #order-details ul {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  padding:0;
  background:none;
  list-style:none;
}
body#order-confirmation #order-details ul li {
  position:relative;
  margin:0;
  padding:14px 14px 14px 58px;
  border-radius:16px;
  background:var(--tdm-sand-light);
  color:var(--tdm-ink);
  font-size:14px;
  line-height:1.45;
}
body#order-confirmation #order-details ul li::before {
  content:"";
  position:absolute;
  left:14px;
  top:14px;
  width:32px;
  height:32px;
  border-radius:10px;
  background:#fff var(--tdm-detail-icon) no-repeat center/18px 18px;
  box-shadow:var(--tdm-shadow);
}
body#order-confirmation #order-details ul li:nth-child(1) {
  --tdm-detail-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.2V4.5a1 1 0 0 1 1-1h7.7l8.3 8.3a1.5 1.5 0 0 1 0 2.1l-6.1 6.1a1.5 1.5 0 0 1-2.1 0l-8.8-7.8Z'/%3E%3Ccircle cx='8' cy='8' r='1.4'/%3E%3C/svg%3E");
}
body#order-confirmation #order-details ul li:nth-child(2) {
  --tdm-detail-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E");
}
body#order-confirmation #order-details ul li:nth-child(3) {
  --tdm-detail-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5 12 3l8.5 4.5v9L12 21l-8.5-4.5v-9Z'/%3E%3Cpath d='M3.5 7.5 12 12l8.5-4.5M12 12v9'/%3E%3C/svg%3E");
}
@media (max-width:767px) {
  body#order-confirmation #order-details ul {
    grid-template-columns:minmax(0, 1fr);
  }
}
body#order-confirmation #order-details {
  float:none;
  flex:0 0 100%;
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
}
body#order-confirmation #order-details h3 {
  margin-left:0;
}
body#order-confirmation #order-items {
  float:none;
  flex:0 0 100%;
  width:100%;
  max-width:none;
  border-right:0;
}
body#order-confirmation #order-items .order-line .image img {
  width:48px;
  height:48px;
}
body#order-confirmation #order-items .order-line > div {
  align-self:center;
}
body#order-confirmation #order-details {
  padding-left:15px;
  padding-right:15px;
}

/* FAQ (home block and FAQ page) */
.tdm-faq {
  padding:34px clamp(18px, 3vw, 40px);
  border-radius:30px;
  background:var(--tdm-sand);
}
.tdm-faq-head {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px 20px;
  margin:0 0 20px;
}
.tdm-faq-title {
  margin:0;
  color:var(--tdm-ink);
  font-size:clamp(26px, 2.8vw, 36px);
  font-weight:800;
  letter-spacing:-.03em;
}
.tdm-faq-all {
  color:var(--tdm-pink);
  font-weight:700;
}
.tdm-faq-list {
  display:grid;
  gap:10px;
}
.tdm-faq-item {
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
.tdm-faq-question {
  position:relative;
  display:block;
  padding:18px 64px 18px 22px;
  color:var(--tdm-ink);
  font-size:16px;
  font-weight:700;
  line-height:1.4;
  list-style:none;
  cursor:pointer;
}
.tdm-faq-question::-webkit-details-marker {
  display:none;
}
.tdm-faq-question::after {
  content:"";
  position:absolute;
  top:50%;
  right:20px;
  width:30px;
  height:30px;
  margin-top:-15px;
  border-radius:50%;
  background:var(--tdm-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") no-repeat center/14px 14px;
  transition:transform .2s;
}
.tdm-faq-item[open] > .tdm-faq-question::after {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
  transform:rotate(180deg);
}
.tdm-faq-question:hover {
  color:var(--tdm-pink);
}
.tdm-faq-question:focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:-2px;
  border-radius:18px;
}
.tdm-faq-answer {
  padding:0 22px 20px;
  color:var(--tdm-muted-2);
  font-size:15px;
  line-height:1.65;
}
.tdm-faq-answer > :last-child {
  margin-bottom:0;
}
.tdm-faq-page.page-content {
  max-width:900px;
  margin:0 auto 30px;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
}
.tdm-faq-intro {
  margin:0 0 22px;
  color:var(--tdm-muted);
  font-size:16px;
}
.tdm-faq-group {
  margin:26px 0 12px;
  color:var(--tdm-ink);
  font-size:20px;
  font-weight:800;
}
@media (prefers-reduced-motion:reduce) {
  .tdm-faq-question::after {
    transition:none;
  }
}
@media (max-width:767px) {
  .tdm-faq {
    padding:24px 14px;
    border-radius:22px;
  }
  .tdm-faq-question {
    padding:16px 56px 16px 16px;
    font-size:15px;
  }
  .tdm-faq-question::after {
    right:14px;
  }
  .tdm-faq-answer {
    padding:0 16px 16px;
  }
}
body.tdm-faq-page #main .page-header {
  text-align:center;
}
body.tdm-faq-page #main .page-header h1::after {
  left:50%;
  transform:translateX(-50%);
}

/* Order history */
.tdm-orders {
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.tdm-orders {
  gap:16px;
}
.tdm-order {
  display:grid;
  gap:14px;
  padding:18px 20px;
  border-radius:20px;
  background:var(--tdm-sand);
  border:1px solid color-mix(in srgb,var(--tdm-sand) 94%,var(--tdm-ink));
  transition:box-shadow .15s, background-color .15s, border-color .15s;
}
.tdm-order:hover {
  background:#fff;
  border-color:color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
  box-shadow:0 14px 34px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent);
}
.tdm-order-status {
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 90%,var(--tdm-ink));
}
.tdm-order-head {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 16px;
}
.tdm-order-id {
  display:grid;
  gap:4px;
  min-width:0;
}
.tdm-order-ref {
  color:var(--tdm-ink);
  font-family:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size:17px;
  font-weight:800;
  letter-spacing:.04em;
}
.tdm-order-ref:hover {
  color:var(--tdm-pink);
}
.tdm-order-date {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:13px;
}
.tdm-order-date .tdm-icon {
  width:15px;
  height:15px;
}
.tdm-order-status {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px 6px 10px;
  border-radius:999px;
  background:#fff;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:700;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
}
.tdm-order-status::before {
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--tdm-status, color-mix(in srgb,var(--tdm-sand) 56%,var(--tdm-ink)));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--tdm-status, color-mix(in srgb,var(--tdm-sand) 56%,var(--tdm-ink))) 22%, transparent);
}
.tdm-order-meta {
  display:flex;
  flex-wrap:wrap;
  gap:10px 28px;
  margin:0;
}
.tdm-order-meta dt {
  margin:0 0 2px;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tdm-order-meta dd {
  margin:0;
  color:var(--tdm-ink);
  font-size:14px;
  font-weight:600;
}
.tdm-order-meta .tdm-order-total {
  color:var(--tdm-pink);
  font-size:18px;
  font-weight:800;
}
.tdm-order-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tdm-order-btn {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 16px;
  border-radius:20px;
  font-size:14px;
}
.tdm-order-btn.tdm-continue-shopping::before {
  content:none;
}
.tdm-order-btn .tdm-icon {
  width:17px;
  height:17px;
}
@media (max-width:767px) {
  .tdm-order {
    padding:16px;
  }
  .tdm-order-btn {
    flex:1 1 auto;
    justify-content:center;
  }
}

/* Page background behind short pages */
html {
  background:var(--tdm-paper);
}

/* Checkout: delivery options as selectable cards */
body#checkout .delivery-options {
  display:grid;
  gap:10px;
  margin:0 0 16px;
}
body#checkout .delivery-options .delivery-option {
  display:flex;
  align-items:center;
  margin:0;
  padding:14px 18px;
  border:0;
  border-radius:18px;
  background:var(--tdm-sand-light);
  cursor:pointer;
  transition:background-color .15s, box-shadow .15s;
}
body#checkout .delivery-options .delivery-option::before,
body#checkout .delivery-options .delivery-option::after,
body#checkout .delivery-options .delivery-option .row::before,
body#checkout .delivery-options .delivery-option .row::after {
  content:none;
  display:none;
}
body#checkout .delivery-options .delivery-option:hover {
  background:#fff;
  box-shadow:0 8px 22px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
body#checkout .delivery-options .delivery-option:has(input:checked) {
  background:#fff;
  box-shadow:0 16px 38px color-mix(in srgb,var(--tdm-ink) 16.1%,transparent), 0 3px 10px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
body#checkout .delivery-option > div:first-child {
  flex:none;
  float:none;
  width:auto;
  padding:0 16px 0 0;
}
body#checkout .delivery-option > label {
  flex:1 1 auto;
  float:none;
  width:auto;
  min-width:0;
  margin:0;
  padding:0;
  text-align:left;
  cursor:pointer;
}
body#checkout .delivery-option > label > .row {
  display:flex;
  align-items:center;
  gap:6px 18px;
  margin:0;
}
body#checkout .delivery-option > label > .row > div {
  float:none;
  width:auto;
  padding:0;
}
body#checkout .delivery-option > label > .row > div:first-child {
  flex:1.3 1 0;
  min-width:0;
}
body#checkout .delivery-option > label > .row > div:nth-child(2) {
  flex:1 1 0;
  min-width:0;
}
body#checkout .delivery-option > label > .row > div:last-child {
  flex:none;
  text-align:right;
}
body#checkout .delivery-option .carrier {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
}
body#checkout .delivery-option .carrier > div {
  float:none;
  width:auto;
  padding:0;
}
body#checkout .delivery-option .carrier-logo {
  display:grid;
  flex:none;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
body#checkout .delivery-option .carrier-logo:not(:has(img)) {
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5 12 3l8.5 4.5v9L12 21l-8.5-4.5v-9Z'/%3E%3Cpath d='M3.5 7.5 12 12l8.5-4.5M12 12v9'/%3E%3C/svg%3E") no-repeat center/22px 22px;
}
body#checkout .delivery-option .carrier-logo img {
  max-width:34px;
  max-height:34px;
  object-fit:contain;
}
body#checkout .delivery-option .carrier-name {
  margin:0;
  color:var(--tdm-ink);
  font-size:15px;
  font-weight:700;
}
body#checkout .delivery-option .carrier-delay {
  color:var(--tdm-muted);
  font-size:14px;
}
body#checkout .delivery-option .carrier-price {
  color:var(--tdm-pink);
  font-size:16px;
  font-weight:800;
  white-space:nowrap;
}
body#checkout .delivery-options .carrier-extra-content:not(:empty) {
  margin:-4px 0 6px;
  padding:12px 18px;
  border-radius:0 0 18px 18px;
  background:#fff;
}
body#checkout #delivery label[for="delivery_message"],
body#checkout .order-options label {
  display:block;
  margin:6px 0 6px;
  color:var(--tdm-ink);
  font-size:13px;
  font-weight:600;
  text-align:left;
}
body#checkout textarea#delivery_message,
body#checkout textarea#gift_message {
  width:100%;
  min-height:84px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
  border-radius:12px;
  background:#fff;
  color:var(--tdm-ink);
  font-size:14px;
}
body#checkout textarea#delivery_message:focus,
body#checkout textarea#gift_message:focus {
  border-color:color-mix(in srgb,var(--tdm-pink) 29%,var(--tdm-soft));
  outline:none;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tdm-pink) 10.2%,transparent);
}
@media (max-width:767px) {
  body#checkout .delivery-options .delivery-option {
    padding:12px 14px;
  }
  body#checkout .delivery-option > div:first-child {
    padding-right:12px;
  }
  body#checkout .delivery-option > label > .row {
    flex-wrap:wrap;
  }
  body#checkout .delivery-option > label > .row > div:first-child {
    flex:1 1 calc(100% - 90px);
  }
  body#checkout .delivery-option > label > .row > div:nth-child(2) {
    order:3;
    flex:1 1 100%;
    padding-left:58px;
  }
  body#checkout .delivery-option .carrier-delay {
    font-size:13px;
  }
  body#checkout .delivery-option .carrier-logo {
    width:40px;
    height:40px;
  }
}
body#checkout .delivery-options > .clearfix,
body#checkout .delivery-options .carrier-extra-content:not(:has(*)) {
  display:none;
}
body#checkout .delivery-options .delivery-option {
  flex-wrap:nowrap;
}
body#checkout .delivery-option > label {
  flex:1 1 0;
}
body#checkout .delivery-option label,
body#checkout .delivery-option label * {
  text-align:left;
}
body#checkout .delivery-option > label > .row > div:last-child,
body#checkout .delivery-option > label > .row > div:last-child * {
  text-align:right;
}
body#checkout .delivery-option .carrier .carriere-name-container {
  flex:1 1 auto;
  min-width:0;
}
body#checkout .delivery-option .carrier:not(.carrier-hasLogo)::before {
  content:"";
  flex:none;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V19a1.5 1.5 0 0 1-1.5 1.5H15v-6H9v6H5.5A1.5 1.5 0 0 1 4 19v-8.5Z'/%3E%3C/svg%3E") no-repeat center/22px 22px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
@media (max-width:767px) {
  body#checkout .delivery-option .carrier:not(.carrier-hasLogo)::before {
    width:40px;
    height:40px;
  }
}
body#checkout section.checkout-step .delivery-options > .row {
  border-right:0;
}
body#checkout section.checkout-step .delivery-options .delivery-option {
  flex-wrap:nowrap;
  justify-content:flex-start;
  min-height:0;
  margin:0;
  padding:14px 18px;
  background:var(--tdm-sand-light);
}
body#checkout section.checkout-step .delivery-options .delivery-option:hover,
body#checkout section.checkout-step .delivery-options .delivery-option:has(input:checked) {
  background:#fff;
}
body#checkout section.checkout-step .delivery-options .delivery-option label > .row {
  flex-wrap:nowrap;
  justify-content:flex-start;
  margin:0;
}
body#checkout section.checkout-step .delivery-options .delivery-option .carrier {
  flex-wrap:nowrap;
  justify-content:flex-start;
  margin:0;
}
body#checkout section.checkout-step .delivery-options .delivery-option img {
  width:auto;
}
@media (max-width:767px) {
  body#checkout section.checkout-step .delivery-options .delivery-option label > .row {
    flex-wrap:wrap;
  }
}
body#checkout section.checkout-step .delivery-options .delivery-option label .carrier:not(.carrier-hasLogo) > .col-xs-12,
body#checkout section.checkout-step .delivery-options .delivery-option label .carrier > .col-xs-12 {
  padding-left:0;
}
body#checkout section.checkout-step .delivery-options .delivery-option label .carrier:not(.carrier-hasLogo)::before {
  content:"";
  display:block;
  flex:none;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V19a1.5 1.5 0 0 1-1.5 1.5H15v-6H9v6H5.5A1.5 1.5 0 0 1 4 19v-8.5Z'/%3E%3C/svg%3E") no-repeat center/22px 22px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
@media (max-width:767px) {
  body#checkout section.checkout-step .delivery-options .delivery-option label .carrier:not(.carrier-hasLogo)::before {
    width:40px;
    height:40px;
  }
  body#checkout .delivery-option > label > .row > div:first-child {
    flex:1 1 0;
    min-width:0;
  }
  body#checkout .delivery-option > label > .row > div:last-child {
    margin-left:auto;
  }
  body#checkout .delivery-option > label > .row > div:nth-child(2) {
    order:3;
    flex:1 1 100%;
    padding-left:52px;
  }
}
body#checkout #footer {
  padding-top:0;
  background:transparent;
  box-shadow:none;
}

/* Address cards (checkout and account) */
:root {
  --tdm-icon-home:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V19a1.5 1.5 0 0 1-1.5 1.5H15v-6H9v6H5.5A1.5 1.5 0 0 1 4 19v-8.5Z'/%3E%3C/svg%3E");
  --tdm-icon-work:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7' width='17' height='12.5' rx='2.5'/%3E%3Cpath d='M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3.5 12.5h17'/%3E%3C/svg%3E");
  --tdm-icon-gift:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='9' width='16' height='11' rx='2'/%3E%3Cpath d='M3 9h18v3.5H3zM12 9v11'/%3E%3Cpath d='M12 9c-1.5-3.5-5-4-5-1.6C7 9 12 9 12 9Zm0 0c1.5-3.5 5-4 5-1.6C17 9 12 9 12 9Z'/%3E%3C/svg%3E");
  --tdm-icon-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --tdm-icon-edit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9a2.8 2.8 0 0 0-4-4L4 16v4Z'/%3E%3Cpath d='m13.5 6.5 4 4'/%3E%3C/svg%3E");
  --tdm-icon-trash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 7h15M9.5 7V4.8h5V7M6.5 7l.8 12.2a1.8 1.8 0 0 0 1.8 1.6h5.8a1.8 1.8 0 0 0 1.8-1.6L17.5 7M10 11v6M14 11v6'/%3E%3C/svg%3E");
  --tdm-icon-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --tdm-icon-invoice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2V3Z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E");
}
body#checkout .address-selector {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:12px;
  margin:0 0 14px;
}
body#checkout .address-selector > p {
  display:none;
}
body#checkout .address-item,
#addresses article.address,
body#addresses article.address {
  display:flex;
  flex-direction:column;
  float:none;
  width:auto;
  height:100%;
  margin:0;
  padding:16px 18px;
  border:0!important;
  border-radius:20px;
  background:var(--tdm-sand-light);
  box-shadow:none;
  transition:background-color .15s, box-shadow .15s;
}
body#checkout .address-item:hover {
  background:#fff;
  box-shadow:0 8px 22px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
body#checkout .address-item.selected {
  background:#fff;
  box-shadow:0 18px 42px color-mix(in srgb,var(--tdm-ink) 16.9%,transparent), 0 3px 10px color-mix(in srgb,var(--tdm-ink) 10.2%,transparent);
}
body#checkout .address-item header {
  margin:0;
}
body#checkout .address-item .radio-block {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 12px;
  align-items:center;
  margin:0;
  padding:0;
  cursor:pointer;
}
body#checkout .address-item .address-alias,
body#addresses article.address .address-body h4 {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:var(--tdm-ink);
  font-size:16px;
  font-weight:800;
}
body#checkout .address-item .address-alias::before,
body#addresses article.address .address-body h4::before {
  content:"";
  flex:none;
  width:36px;
  height:36px;
  border-radius:11px;
  background:#fff;
  -webkit-mask:none;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
body#checkout .address-item .address-alias::after,
body#addresses article.address .address-body h4::after {
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  margin-left:9px;
  background:var(--tdm-pink);
  -webkit-mask:var(--tdm-alias-mask, var(--tdm-icon-pin)) center/contain no-repeat;
  mask:var(--tdm-alias-mask, var(--tdm-icon-pin)) center/contain no-repeat;
}
body#checkout .address-item .address-alias,
body#addresses article.address .address-body h4 {
  position:relative;
}
[data-tdm-alias-icon="home"] { --tdm-alias-mask:var(--tdm-icon-home); }
[data-tdm-alias-icon="work"] { --tdm-alias-mask:var(--tdm-icon-work); }
[data-tdm-alias-icon="gift"] { --tdm-alias-mask:var(--tdm-icon-gift); }
[data-tdm-alias-icon="pin"] { --tdm-alias-mask:var(--tdm-icon-pin); }
body#checkout .address-item .address,
body#addresses article.address .address-body address {
  grid-column:1 / -1;
  margin:4px 0 0;
  padding-left:46px;
  color:var(--tdm-muted-2);
  font-size:14px;
  line-height:1.6;
}
body#addresses article.address .address-body address {
  padding-left:46px;
}
body#checkout .address-item hr {
  display:none;
}
body#checkout .address-item .address-footer,
body#addresses article.address .address-footer {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
  padding:14px 0 0 46px;
  border:0;
  text-align:left;
}
body#checkout .address-item .address-footer a,
body#addresses article.address .address-footer a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:6px 12px 6px 10px;
  border-radius:16px;
  background:#fff;
  color:var(--tdm-ink)!important;
  font-size:13px;
  font-weight:600;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
}
body#checkout .address-item .address-footer a .material-icons,
body#addresses article.address .address-footer a .material-icons {
  display:none;
}
body#checkout .address-item .address-footer a::before,
body#addresses article.address .address-footer a::before {
  content:"";
  width:15px;
  height:15px;
  background:currentColor;
  -webkit-mask:var(--tdm-icon-edit) center/contain no-repeat;
  mask:var(--tdm-icon-edit) center/contain no-repeat;
}
body#checkout .address-item .address-footer a.delete-address,
body#addresses article.address .address-footer a[data-link-action="delete-address"] {
  color:#b3192d!important;
  box-shadow:0 0 0 1px #f2c9cf;
}
body#checkout .address-item .address-footer a.delete-address::before,
body#addresses article.address .address-footer a[data-link-action="delete-address"]::before {
  -webkit-mask-image:var(--tdm-icon-trash);
  mask-image:var(--tdm-icon-trash);
}
body#checkout .address-item .address-footer a:hover,
body#addresses article.address .address-footer a:hover {
  color:var(--tdm-pink)!important;
}
body#checkout .add-address,
body#addresses .addresses-footer {
  margin:0 0 12px;
}
body#checkout .add-address a,
body#addresses .addresses-footer a {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 20px 0 8px;
  border-radius:23px;
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep);
  font-size:14px;
  font-weight:700;
}
body#checkout .add-address a .material-icons,
body#addresses .addresses-footer a .material-icons {
  display:none;
}
body#checkout .add-address a::before,
body#addresses .addresses-footer a::before {
  content:"";
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--tdm-pink) var(--tdm-plus-white, none) no-repeat center/14px 14px;
  -webkit-mask:none;
}
body#checkout .add-address a::after,
body#addresses .addresses-footer a::after {
  content:none;
}
body#checkout .add-address a,
body#addresses .addresses-footer a {
  --tdm-plus-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
body#checkout .add-address a:hover,
body#addresses .addresses-footer a:hover {
  background:color-mix(in srgb,var(--tdm-pink) 8%,var(--tdm-soft));
}
body#checkout .js-address-form > form > p > a[data-link-action="different-invoice-address"],
body#checkout a[data-link-action="different-invoice-address"] {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--tdm-pink);
  font-weight:700;
}
body#checkout a[data-link-action="different-invoice-address"]::before {
  content:"";
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask:var(--tdm-icon-invoice) center/contain no-repeat;
  mask:var(--tdm-icon-invoice) center/contain no-repeat;
}
body#addresses #content > div[class*="col-"] {
  float:none;
  width:auto;
  max-width:none;
  padding:0;
}
body#addresses #content {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:12px;
  align-items:stretch;
}
body#addresses #content > .clearfix,
body#addresses #content > .tdm-toasts {
  display:none;
}
body#addresses #content > .addresses-footer {
  grid-column:1 / -1;
}

/* Address alias icon: one pseudo-element with a pink icon on a white tile */
body#checkout .address-item .address-alias::after,
body#addresses article.address .address-body h4::after {
  content:none;
}
body#checkout .address-item .address-alias::before,
body#addresses article.address .address-body h4::before {
  display:block;
  background:#fff var(--tdm-alias-img, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")) no-repeat center/18px 18px;
}
[data-tdm-alias-icon="home"] { --tdm-alias-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V19a1.5 1.5 0 0 1-1.5 1.5H15v-6H9v6H5.5A1.5 1.5 0 0 1 4 19v-8.5Z'/%3E%3C/svg%3E"); }
[data-tdm-alias-icon="work"] { --tdm-alias-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7' width='17' height='12.5' rx='2.5'/%3E%3Cpath d='M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3.5 12.5h17'/%3E%3C/svg%3E"); }
[data-tdm-alias-icon="gift"] { --tdm-alias-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='9' width='16' height='11' rx='2'/%3E%3Cpath d='M3 9h18v3.5H3zM12 9v11'/%3E%3Cpath d='M12 9c-1.5-3.5-5-4-5-1.6C7 9 12 9 12 9Zm0 0c1.5-3.5 5-4 5-1.6C17 9 12 9 12 9Z'/%3E%3C/svg%3E"); }
[data-tdm-alias-icon="pin"] { --tdm-alias-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
body#checkout .address-item .address-alias {
  display:inline-flex;
}
body#checkout .address-item .address-alias {
  display:inline-flex!important;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  white-space:nowrap;
}
body#checkout .address-item .radio-block {
  grid-template-columns:20px minmax(0, 1fr);
}
body#checkout .address-item .radio-block .address {
  grid-column:2;
  padding-left:46px;
}
body#checkout .address-item .address-footer {
  padding-left:78px;
}
body#checkout .address-item .radio-block .address {
  margin:4px 0 0!important;
}
body#checkout .address-item .address-footer {
  padding:14px 0 0 78px!important;
}
@media (max-width:767px) {
  body#checkout .address-item .address-footer {
    padding-left:0!important;
  }
}

/* Wishlist pages inside the account layout */
.tdm-account-extra-wishlist #wishlist-link {
  background:#fff;
  color:var(--tdm-pink);
  box-shadow:var(--tdm-shadow);
}
.tdm-account-extra-wishlist #wishlist-link .tdm-icon {
  color:var(--tdm-pink)!important;
}
.tdm-account-panel .wishlist-container-header,
.tdm-account-panel .wishlist-products-container-header {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 16px;
  margin:0 0 18px;
}
.tdm-account-panel .wishlist-container-header h1,
.tdm-account-panel .wishlist-products-container-header h1 {
  margin:0;
  color:var(--tdm-ink);
  font-size:clamp(24px, 2.4vw, 30px);
  font-weight:800;
  letter-spacing:-.02em;
}
.tdm-account-panel .wishlist-add-to-new {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 18px 0 12px;
  border-radius:21px;
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep)!important;
  font-weight:700;
}
.tdm-account-panel .wishlist-add-to-new .material-icons {
  font-size:20px;
}
.tdm-account-panel .wishlist-list {
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
}
.tdm-account-panel .wishlist-list-item {
  margin:0;
  border:0;
  border-radius:18px;
  background:var(--tdm-sand-light);
  transition:background-color .15s, box-shadow .15s;
}
.tdm-account-panel .wishlist-list-item:hover {
  background:#fff;
  box-shadow:0 12px 30px color-mix(in srgb,var(--tdm-ink) 12.2%,transparent);
}
.tdm-account-panel .wishlist-list-item-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  color:var(--tdm-ink);
}
.tdm-account-panel .wishlist-list-item-title {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0;
  font-size:16px;
  font-weight:700;
}
.tdm-account-panel .wishlist-list-item-title::before {
  content:"";
  flex:none;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae2656' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10Z'/%3E%3C/svg%3E") no-repeat center/18px 18px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
.tdm-account-panel .wishlist-list-item-title span {
  padding:2px 9px;
  border-radius:999px;
  background:#fff;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
  font-weight:700;
}
.tdm-account-panel .wishlist-list-item-right button {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--tdm-ink);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 1%,var(--tdm-sand));
}
.tdm-account-panel .wishlist-list-item-right button:hover {
  color:var(--tdm-pink);
}
.tdm-account-panel .wishlist-list-empty {
  padding:24px;
  border-radius:18px;
  background:var(--tdm-sand-light);
  text-align:center;
}
.tdm-wishlist-back {
  margin-top:16px;
}
.tdm-account-wishlist .tdm-account-panel #main {
  margin:0;
}
.tdm-account-wishlist .tdm-account-panel .wishlist-footer-links {
  margin-top:16px;
}

/* Extra menu links (header "Menu" button and mobile dock) */
.tdm-more {
  position:relative;
}
.tdm-more-toggle {
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:44px;
  padding:0 16px 0 12px;
  border:0;
  border-radius:22px;
  background:#fff;
  color:var(--tdm-ink);
  font-weight:700;
  box-shadow:var(--tdm-shadow);
  cursor:pointer;
}
.tdm-more-toggle .tdm-icon {
  width:20px;
  height:20px;
}
.tdm-more-toggle:hover,
.tdm-more-toggle[aria-expanded="true"] {
  color:var(--tdm-pink);
}
.tdm-more-toggle:focus-visible,
.tdm-dock-menu:focus-visible {
  outline:2px solid var(--tdm-pink);
  outline-offset:2px;
}
.tdm-more-panel {
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:1050;
  min-width:240px;
  padding:8px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 60px color-mix(in srgb,var(--tdm-ink) 18%,transparent), 0 2px 10px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
}
.tdm-more-panel[hidden] {
  display:none;
}
.tdm-more-list {
  display:grid;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.tdm-more-list a,
.tdm-more-catalog {
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-radius:14px;
  color:var(--tdm-ink);
  font-size:15px;
  font-weight:600;
}
.tdm-more-list a::after {
  content:"";
  width:7px;
  height:7px;
  margin-left:auto;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:rotate(45deg);
  opacity:.35;
  transition:transform .18s ease, opacity .18s ease;
}
.tdm-more-list a:hover::after,
.tdm-more-list a:focus-visible::after,
.tdm-more-list a[aria-current="page"]::after {
  opacity:1;
  transform:translateX(3px) rotate(45deg);
}
@media (prefers-reduced-motion:reduce) {
  .tdm-more-list a::after {
    transition:none;
  }
}
.tdm-more-list a:hover,
.tdm-more-list a:focus-visible,
.tdm-more-catalog:hover {
  background:var(--tdm-sand-light);
  color:var(--tdm-pink);
}
.tdm-more-list a[aria-current="page"] {
  background:var(--tdm-soft);
  color:var(--tdm-pink-deep);
}
.tdm-more-catalog {
  display:none;
}
.tdm-more-list .tdm-icon {
  flex:none;
  width:34px;
  height:34px;
  padding:7px;
  border-radius:50%;
  background:var(--tdm-sand);
  color:var(--tdm-pink);
}
.tdm-more-list a:hover .tdm-icon,
.tdm-more-list a:focus-visible .tdm-icon,
.tdm-more-list a[aria-current="page"] .tdm-icon {
  background:#fff;
}
.tdm-more-list a {
  padding:8px 14px 8px 8px;
}
.tdm-more-catalog .tdm-icon {
  width:20px;
  height:20px;
  color:var(--tdm-pink);
}
.tdm-dock-menu {
  position:relative;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--tdm-ink);
  box-shadow:var(--tdm-shadow);
  cursor:pointer;
}
.tdm-dock-menu .tdm-icon {
  width:24px;
  height:24px;
}
.tdm-dock-menu[aria-expanded="true"] {
  background:var(--tdm-pink);
  color:#fff;
}
@media (min-width:768px) {
  .tdm-mobile-dock .tdm-dock-menu {
    display:none;
  }
}
@media (max-width:767px) {
  #header .tdm-more-toggle {
    display:none;
  }
  .tdm-more-panel {
    position:fixed;
    top:auto;
    right:10px;
    bottom:calc(84px + env(safe-area-inset-bottom));
    left:10px;
    min-width:0;
    max-height:calc(100vh - 140px);
    padding:10px;
    overflow-y:auto;
    border-radius:22px;
  }
  .tdm-more-catalog {
    display:flex;
    margin:0 0 6px;
    background:var(--tdm-sand);
  }
}
#header .tdm-more-toggle.tdm-header-icon {
  width:44px;
  height:44px;
  padding:0;
  justify-content:center;
}
#header .tdm-more-toggle.tdm-header-icon .tdm-icon {
  width:22px;
  height:22px;
}
.tdm-mobile-dock {
  gap:8px;
}
.tdm-mobile-dock .tdm-dock-cart {
  margin-left:auto;
}
.tdm-mobile-dock a[aria-current="page"] {
  background:var(--tdm-soft);
  color:var(--tdm-pink);
}
@media (max-width:767px) {
  .tdm-mobile-dock {
    padding-left:12px;
    padding-right:12px;
  }
  .tdm-mobile-dock a,
  .tdm-dock-menu {
    width:46px;
    height:46px;
  }
  .tdm-more-catalog {
    display:none;
  }
}
@media (max-width:359px) {
  .tdm-mobile-dock a,
  .tdm-dock-menu {
    width:42px;
    height:42px;
  }
}

/* Cart on mobile: summary and checkout button before the upsell */
@media (max-width:991px) {
  body#cart .cart-grid {
    position:relative;
    display:flex;
    flex-direction:column;
  }
  body#cart .cart-grid-body {
    display:contents;
  }
  body#cart .cart-grid-body > * {
    margin-left:15px;
    margin-right:15px;
  }
  body#cart .cart-grid-body > .tdm-continue-shopping {
    margin:0;
  }
  body#cart .cart-grid-body > .cart-container {
    order:1;
  }
  body#cart .cart-grid-right {
    display:contents;
  }
  body#cart .cart-grid-right > * {
    order:4;
    margin-left:15px;
    margin-right:15px;
  }
  body#cart .cart-grid-right > .cart-summary {
    order:2;
  }
  body#cart .cart-grid-body > .tdm-upsell {
    order:3;
    margin-top:8px;
  }
  body#cart .cart-grid-body > .tdm-upsell ~ * {
    order:4;
  }
}
/* Cart on mobile: sticky checkout bar above the dock */
.tdm-cart-bar {
  display:none;
}
@media (max-width:767px) {
  .tdm-cart-bar {
    position:fixed;
    right:10px;
    bottom:calc(84px + env(safe-area-inset-bottom));
    left:10px;
    z-index:1040;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 10px 10px 18px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 50px color-mix(in srgb,var(--tdm-ink) 18%,transparent), 0 2px 10px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
  }
  .tdm-cart-bar[hidden] {
    display:none;
  }
  .tdm-cart-bar-total {
    display:grid;
    margin:0;
    line-height:1.2;
  }
  .tdm-cart-bar-total span {
    color:color-mix(in srgb,var(--tdm-sand) 31%,var(--tdm-ink));
    font-size:12px;
  }
  .tdm-cart-bar-total strong {
    color:var(--tdm-ink);
    font-size:18px;
  }
  .tdm-cart-bar .btn {
    flex:1;
    min-height:46px;
    margin-left:auto;
    border-radius:23px;
    justify-content:center;
  }
  body#cart #footer {
    padding-bottom:80px;
  }
}

/* Checkout: carrier delay as a small pill */
body#checkout section.checkout-step .delivery-options .delivery-option .carrier-delay {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:#fff;
  color:color-mix(in srgb,var(--tdm-sand) 34%,var(--tdm-ink));
  font-size:12px;
  font-weight:600;
  line-height:1.3;
}
body#checkout .delivery-option .carrier-delay::before {
  content:"";
  flex:none;
  width:13px;
  height:13px;
  background:var(--tdm-pink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") center/contain no-repeat;
  display:block;
}
body#checkout .delivery-options .delivery-option:has(input:checked) .carrier-delay {
  background:var(--tdm-sand-light);
}
body#checkout .delivery-option .carrier-delay:empty {
  display:none;
}
@media (max-width:767px) {
  body#checkout section.checkout-step .delivery-options .delivery-option {
    align-items:flex-start;
  }
  body#checkout .delivery-option > div:first-child {
    align-self:flex-start;
    margin-top:10px;
  }
  body#checkout .delivery-option > label > .row > div:nth-child(2) {
    padding-left:52px;
  }
  body#checkout section.checkout-step .delivery-options .delivery-option .carrier-delay {
    font-size:11.5px;
  }
}

/* Mobile: address text on the full card width */
@media (max-width:767px) {
  body#checkout section.checkout-step .address-item .radio-block {
    padding:0;
  }
  body#checkout .address-item .radio-block .address,
  body#addresses article.address .address-body address {
    grid-column:1 / -1;
    padding-left:0;
  }
}

/* Mobile: wider footer panel */
@media (max-width:767px) {
  #footer .footer-container {
    margin-right:4px;
    margin-left:4px;
  }
  #footer .footer-container > .container {
    padding-right:14px;
    padding-left:14px;
  }
}

/* Footer on mobile: open link blocks as a soft list instead of Classic's grey bands */
@media (max-width:767px) {
  #footer .footer-container .links .title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 4px;
  }
  #footer .footer-container .links .title .h3 {
    margin:0;
    padding:0;
  }
  #footer .footer-container .links .title[aria-expanded="true"] .h3,
  #footer .footer-container .links .title[aria-expanded="true"] .material-icons {
    color:var(--tdm-ink);
  }
  #footer .footer-container .links ul.collapse,
  #footer .footer-container .links ul.collapsing {
    margin:0 0 10px;
    padding:4px 0 8px;
    background:transparent;
  }
  #footer .footer-container .links ul.collapse.in {
    display:grid;
    gap:4px;
  }
  #footer .footer-container .links ul.collapse > li,
  #footer .footer-container .links ul.collapsing > li {
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    font-weight:500;
  }
  #footer .footer-container .links ul.collapse > li a,
  #footer .footer-container .links ul.collapsing > li a {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:14px;
    background:#ffffff99;
    color:var(--tdm-muted-2);
    font-size:14px;
  }
  #footer .footer-container .links ul.collapse > li a:active {
    background:#fff;
    color:var(--tdm-pink);
  }
}


/* Account on mobile: one 2-column grid of chips (menu + favourites), logout in the corner */
@media (max-width:991px) {
  .tdm-account-nav {
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
    padding:14px 12px 12px;
  }
  .tdm-account-hello {
    grid-column:1 / -1;
    margin:0 2px 6px;
    padding-right:110px;
  }
  .tdm-account-menu,
  .tdm-account-extra {
    display:contents;
  }
  .tdm-account-menu li {
    min-width:0;
  }
  .tdm-account-menu a,
  .tdm-account-extra a,
  .tdm-account-extra a.tdm-account-tile {
    display:flex;
    align-items:center;
    gap:9px;
    min-height:44px;
    height:100%;
    margin:0;
    padding:8px 12px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 3px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
    color:var(--tdm-muted-2);
    white-space:normal;
    font-size:13px;
    font-weight:600;
    line-height:1.25;
  }
  .tdm-account-menu a .tdm-icon,
  .tdm-account-extra a.tdm-account-tile .tdm-icon {
    flex:none;
    width:18px;
    height:18px;
    color:var(--tdm-pink);
  }
  .tdm-account-extra a.tdm-account-tile .tdm-account-tile-title {
    font-size:13px;
  }
  .tdm-account-menu a[aria-current="page"] {
    background:var(--tdm-pink);
    color:#fff;
    box-shadow:0 8px 18px color-mix(in srgb,var(--tdm-pink) 25.1%,transparent);
  }
  .tdm-account-menu a[aria-current="page"] .tdm-icon {
    color:#fff;
  }
  .tdm-account-logout {
    position:absolute;
    top:12px;
    right:12px;
    margin:0;
    padding:7px 12px;
    border-radius:999px;
    background:#ffffffb3;
    font-size:12px;
  }
  .tdm-account-logout .tdm-icon {
    width:16px;
    height:16px;
  }
}

/* Pressed state: sand instead of Classic's grey/blue, no default tap highlight */
html {
  -webkit-tap-highlight-color:color-mix(in srgb,var(--tdm-sand) 60%,transparent);
}
.btn-secondary:active, .btn-secondary:focus,
.btn-tertiary:active, .btn-tertiary:focus,
.btn-default:active,
.btn.tdm-secondary:active,
.tdm-continue-shopping:active,
.tdm-account-menu a:active,
.tdm-account-extra a:active,
.tdm-account-logout:active,
.tdm-more-list a:active,
.tdm-mobile-dock a:active,
.tdm-mobile-dock button:active,
#header .tdm-header-icon:active,
#header .tdm-search-toggle:active,
#footer .footer-container .links ul.collapse > li a:active,
#footer .tdm-footer-brand a:active {
  background:var(--tdm-sand) !important;
  border-color:var(--tdm-sand) !important;
  color:var(--tdm-ink) !important;
  box-shadow:none !important;
}

/* Header extra button (configured in Apparence > Liens du menu) */
#header .tdm-audiences .tdm-header-cta {
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:8px;
  height:44px;
  padding:0 18px 0 14px;
  border-radius:22px;
  background:#fff;
  color:var(--tdm-ink);
  font-weight:600;
  white-space:nowrap;
  box-shadow:var(--tdm-shadow), 0 0 0 1px color-mix(in srgb,var(--tdm-sand) 96%,var(--tdm-ink));
  transition:background-color .15s, color .15s;
}
#header .tdm-audiences .tdm-header-cta.tdm-cta-icon {
  width:44px;
  padding:0;
  justify-content:center;
}
#header .tdm-audiences .tdm-header-cta.tdm-cta-text {
  padding:0 18px;
}
#header .tdm-audiences .tdm-header-cta .tdm-icon {
  width:20px;
  height:20px;
  margin:0;
  color:var(--tdm-pink);
}
#header .tdm-audiences .tdm-header-cta:hover,
#header .tdm-audiences .tdm-header-cta:focus-visible,
#header .tdm-audiences .tdm-header-cta[aria-current="page"] {
  background:var(--tdm-pink);
  color:#fff;
}
#header .tdm-audiences .tdm-header-cta:hover .tdm-icon,
#header .tdm-audiences .tdm-header-cta:focus-visible .tdm-icon,
#header .tdm-audiences .tdm-header-cta[aria-current="page"] .tdm-icon {
  color:#fff;
}
#header .tdm-audiences .tdm-header-cta:active {
  background:var(--tdm-sand) !important;
  color:var(--tdm-ink) !important;
}
@media (max-width:767px) {
  #header .tdm-audiences {
    flex-wrap:wrap;
  }
  #header .tdm-audiences .tdm-header-cta {
    height:40px;
    padding:0 14px 0 11px;
    font-size:12px;
  }
  #header .tdm-audiences .tdm-header-cta.tdm-cta-icon {
    width:40px;
    padding:0;
  }
}

/* Product cards: price and buy block kept together at the bottom, less empty space between them */
#products .product-description .product-price-and-shipping,
.featured-products .product-description .product-price-and-shipping {
  margin-top:auto;
  padding-top:12px;
}
#products .product-description .tdm-card-buy,
.featured-products .product-description .tdm-card-buy {
  margin-top:0;
  padding-top:8px;
}
#products .product-description .tdm-card-row,
.featured-products .product-description .tdm-card-row {
  margin-top:4px;
}

/* Product cards: reviews (stars + number of reviews from the Product Comments module) */
.product-miniature .product-list-reviews {
  display:flex;
  align-items:center;
  gap:6px;
  margin:6px 0 0;
  color:color-mix(in srgb,var(--tdm-sand) 43%,var(--tdm-ink));
  font-size:12px;
  font-weight:600;
  visibility:hidden;
}
.product-miniature.has-reviews .product-list-reviews {
  visibility:visible;
}
.product-miniature .product-list-reviews .grade-stars {
  display:inline-flex;
  min-height:16px;
}

/* "Nouveau !" as a diagonal ribbon in the image corner */
#products .product-miniature .product-flags li.product-flag.new,
.featured-products .product-miniature .product-flags li.product-flag.new {
  position:absolute;
  top:22px;
  left:-40px;
  width:170px;
  margin:0;
  padding:6px 0;
  border-radius:0;
  background:var(--tdm-pink);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 6px 16px color-mix(in srgb,var(--tdm-pink) 25.1%,transparent);
  transform:rotate(-45deg);
}
#products .product-miniature .product-flags li.product-flag.new::after,
.featured-products .product-miniature .product-flags li.product-flag.new::after {
  content:" !";
}
#products .product-miniature .product-flags li.product-flag.new ~ li.product-flag,
.featured-products .product-miniature .product-flags li.product-flag.new ~ li.product-flag {
  margin-top:58px;
}
[dir="rtl"] #products .product-miniature .product-flags li.product-flag.new,
[dir="rtl"] .featured-products .product-miniature .product-flags li.product-flag.new {
  left:auto;
  right:-40px;
  transform:rotate(45deg);
}
@media (max-width:767px) {
  #products .product-miniature .product-flags li.product-flag.new,
  .featured-products .product-miniature .product-flags li.product-flag.new {
    top:16px;
    left:-44px;
    width:150px;
    padding:4px 0;
    font-size:10px;
  }
}
/* Product cards: reviews in the flow (the module puts them over the image), fixed order of the description parts */
#products .product-miniature .product-description > .product-title,
.featured-products .product-miniature .product-description > .product-title { order:1; }
#products .product-miniature .product-description > .tdm-card-meta,
.featured-products .product-miniature .product-description > .tdm-card-meta { order:2; }
#products .product-miniature .product-description > .tdm-stock,
.featured-products .product-miniature .product-description > .tdm-stock { order:3; }
#products .product-miniature .product-description > .product-list-reviews,
.featured-products .product-miniature .product-description > .product-list-reviews { order:4; }
#products .product-miniature .product-description > .product-price-and-shipping,
.featured-products .product-miniature .product-description > .product-price-and-shipping { order:5; }
#products .product-miniature .product-description > .tdm-card-buy,
.featured-products .product-miniature .product-description > .tdm-card-buy { order:6; }
.product-miniature .product-description .product-list-reviews {
  position:static;
  top:auto;
  left:auto;
  justify-content:flex-start;
  width:auto;
  margin:6px 0 0;
  padding:0;
  background:none;
}
.product-miniature .product-description .product-list-reviews .comments-nb {
  margin-left:2px;
  font-size:12px;
}

/* Product page on mobile: title first, flags as inline pills under it */
@media (max-width:767px) {
  #product .product-flags {
    position:static;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:6px;
    margin:0 0 12px;
    padding:0;
  }
  #product .product-flags:empty {
    display:none;
  }
  #product .product-flags li.product-flag {
    position:static;
    display:inline-block;
    flex:0 0 auto;
    width:auto;
    max-width:none;
    margin:0;
    transform:none;
  }
}

/* Cart page on mobile: variants to the right of the price, quantity and bin below */
@media (max-width:767px) {
  body#cart .cart-item .tdm-cart-row {
    grid-template-columns:72px minmax(0, 1fr) auto;
    grid-template-areas:"media name name" "media price variants" "media total total" "actions actions actions";
    gap:6px 12px;
    align-items:center;
  }
  body#cart .tdm-cart-row-info,
  body#cart .tdm-cart-row-controls {
    display:contents;
  }
  body#cart .tdm-cart-row-info > .product-line-info:first-child {
    grid-area:name;
    margin:0;
  }
  body#cart .tdm-cart-row-info > .product-line-info.product-price {
    grid-area:price;
    align-self:center;
    margin:0;
  }
  body#cart .tdm-cart-row-info > .product-line-info:not(:first-child):not(.product-price) {
    grid-column:2 / -1;
    margin:0;
  }
  body#cart .tdm-cart-row-total {
    grid-area:total;
    justify-self:start;
  }
  body#cart .tdm-cart-row-controls .tdm-line-variants {
    grid-area:variants;
    justify-self:end;
    justify-content:flex-end;
    max-width:200px;
    max-height:none;
    margin:0;
    overflow:visible;
  }
  body#cart .tdm-cart-row-actions {
    grid-area:actions;
    justify-content:flex-end;
    margin:2px 0 0;
  }
}

/* Cart lines: each product line visibly framed */
body#cart .cart-item .tdm-cart-row {
  background:#fff;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--tdm-pink) 3%,var(--tdm-sand)), 0 8px 22px color-mix(in srgb,var(--tdm-ink) 5.9%,transparent);
}

/* Products sections: products per row chosen in the section (overrides the space defaults) */
@media (min-width:992px) {
  .tdm-products.tdm-prow-d2 .products>.product{flex:0 0 50.0%;width:50.0%;max-width:50.0%}
  .tdm-products.tdm-products-row.tdm-prow-d2 .products{grid-auto-columns:calc((100% - 16px)/2)}
  .tdm-products.tdm-prow-d3 .products>.product{flex:0 0 33.3333%;width:33.3333%;max-width:33.3333%}
  .tdm-products.tdm-products-row.tdm-prow-d3 .products{grid-auto-columns:calc((100% - 32px)/3)}
  .tdm-products.tdm-prow-d4 .products>.product{flex:0 0 25.0%;width:25.0%;max-width:25.0%}
  .tdm-products.tdm-products-row.tdm-prow-d4 .products{grid-auto-columns:calc((100% - 48px)/4)}
  .tdm-products.tdm-prow-d5 .products>.product{flex:0 0 20.0%;width:20.0%;max-width:20.0%}
  .tdm-products.tdm-products-row.tdm-prow-d5 .products{grid-auto-columns:calc((100% - 64px)/5)}
}
@media (max-width:767px) {
  .tdm-products.tdm-prow-m1 .products>.product{flex:0 0 100%;width:100%;max-width:100%}
  .tdm-products.tdm-prow-m2 .products>.product{flex:0 0 50%;width:50%;max-width:50%}
  .tdm-products.tdm-products-row.tdm-prow-m1 .products{grid-auto-columns:88%}
  .tdm-products.tdm-products-row.tdm-prow-m2 .products{grid-auto-columns:calc((100% - 12px)/2)}
}

/* Account tiles: visible shadow at rest, slight zoom on hover */
.tdm-account-tiles .tdm-account-tile,
.tdm-account-tiles-extra > a {
  box-shadow:var(--tdm-shadow);
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tdm-account-tiles .tdm-account-tile:hover,
.tdm-account-tiles .tdm-account-tile:focus-visible,
.tdm-account-tiles-extra > a:hover,
.tdm-account-tiles-extra > a:focus-visible {
  background:#fff;
  box-shadow:0 18px 44px color-mix(in srgb,var(--tdm-ink) 14.9%,transparent), 0 2px 8px color-mix(in srgb,var(--tdm-ink) 7.8%,transparent);
  transform:translateY(-3px) scale(1.03);
}
@media (prefers-reduced-motion:reduce) {
  .tdm-account-tiles .tdm-account-tile,
  .tdm-account-tiles-extra > a {
    transition:none;
  }
  .tdm-account-tiles .tdm-account-tile:hover,
  .tdm-account-tiles-extra > a:hover {
    transform:none;
  }
}

/* Product page on desktop: wider image column */
@media (min-width:992px) {
  #product .product-container > .col-md-6:first-child {
    flex:0 0 58%;
    max-width:58%;
  }
  #product .product-container > .col-md-6:last-child {
    flex:0 0 42%;
    max-width:42%;
  }
}
@media (min-width:992px) {
  #product #content.page-content {
    max-width:680px;
  }
}

/* Category carousel pinned at the bottom (Apparence > Espaces > Carrousel) */
.tdm-catalog.tdm-catalog-fixed.tdm-catalog-bottom {
  top:auto;
  bottom:0;
  padding-bottom:4px;
  box-shadow:0 -10px 24px -14px color-mix(in srgb,var(--tdm-ink) 20%,transparent);
}
body.tdm-menu-sticky-bottom:not(#checkout) {
  padding-bottom:90px;
}
@media (max-width:767px) {
  .tdm-catalog.tdm-catalog-fixed.tdm-catalog-bottom {
    bottom:calc(76px + env(safe-area-inset-bottom));
  }
  body.tdm-menu-sticky-bottom:not(#checkout) {
    padding-bottom:calc(150px + env(safe-area-inset-bottom));
  }
}

/* FAQ: panel background, questions background and width (Apparence > FAQ) */
.tdm-faq.tdm-faq-bg-sand { background:var(--tdm-sand); }
.tdm-faq.tdm-faq-bg-soft { background:var(--tdm-soft); }
.tdm-faq.tdm-faq-bg-white { background:#fff; }
.tdm-faq.tdm-faq-bg-paper { padding-left:0; padding-right:0; background:transparent; box-shadow:none; }
.tdm-faq-page.tdm-faq { padding:0; border-radius:0; background:none; box-shadow:none; }
.tdm-faq-page.tdm-faq.tdm-faq-bg-sand, .tdm-faq-page.tdm-faq.tdm-faq-bg-soft, .tdm-faq-page.tdm-faq.tdm-faq-bg-white { padding:30px clamp(18px, 3vw, 40px); border-radius:30px; box-shadow:var(--tdm-shadow); }
.tdm-faq-page.tdm-faq.tdm-faq-bg-sand { background:var(--tdm-sand); }
.tdm-faq-page.tdm-faq.tdm-faq-bg-soft { background:var(--tdm-soft); }
.tdm-faq-page.tdm-faq.tdm-faq-bg-white { background:#fff; }
.tdm-faq-list-white .tdm-faq-item { background:#fff; }
.tdm-faq-list-sandlight .tdm-faq-item { background:var(--tdm-sand-light); }
.tdm-faq-list-sand .tdm-faq-item { background:var(--tdm-sand); }
.tdm-faq-list-soft .tdm-faq-item { background:var(--tdm-soft); }
.tdm-faq-list-paper .tdm-faq-item { background:var(--tdm-paper); }
.tdm-faq-list-outline .tdm-faq-item { background:transparent; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tdm-sand) 92%,var(--tdm-ink)); }
.tdm-faq.tdm-faq-w-narrow { max-width:900px; margin-left:auto; margin-right:auto; }
.tdm-faq-page.tdm-faq.tdm-faq-w-full { max-width:none; }

/* CMS pages: left-aligned text (Classic justifies it) */
.page-content.page-cms { text-align: start; }

/* Button corners (Theme builder > Réglages généraux > Angles) — !important so the choice beats id-based rules */
.tdm-btn-small .btn,
.tdm-btn-small .tdm-header-cta,
.tdm-btn-small .tdm-project-link,
.tdm-btn-small .tdm-audiences a,
.tdm-btn-small .tdm-toggle,
.tdm-btn-small .tdm-toggle:before,
.tdm-btn-small .tdm-toggle-option,
.tdm-btn-small .tdm-toggle-menu summary,
.tdm-btn-small .tdm-header-icon,
.tdm-btn-small .tdm-filters-button,
.tdm-btn-small .tdm-card-variant,
.tdm-btn-small .tdm-qty,
.tdm-btn-small .tdm-qty button,
.tdm-btn-small .product-add-to-cart .input-group,
.tdm-btn-small .tdm-sticky-cart-select,
.tdm-btn-small .tdm-faq-all { border-radius: 8px !important; }
.tdm-btn-square .btn,
.tdm-btn-square .tdm-header-cta,
.tdm-btn-square .tdm-project-link,
.tdm-btn-square .tdm-audiences a,
.tdm-btn-square .tdm-toggle,
.tdm-btn-square .tdm-toggle:before,
.tdm-btn-square .tdm-toggle-option,
.tdm-btn-square .tdm-toggle-menu summary,
.tdm-btn-square .tdm-header-icon,
.tdm-btn-square .tdm-filters-button,
.tdm-btn-square .tdm-card-variant,
.tdm-btn-square .tdm-qty,
.tdm-btn-square .tdm-qty button,
.tdm-btn-square .product-add-to-cart .input-group,
.tdm-btn-square .tdm-sticky-cart-select,
.tdm-btn-square .tdm-faq-all { border-radius: 0 !important; }

/* Block corners (Theme builder > Réglages généraux > Angles) */
.tdm-blocks-small #header .tdm-header,
.tdm-blocks-small .tdm-section,
.tdm-blocks-small .tdm-hero,
.tdm-blocks-small .tdm-section-img,
.tdm-blocks-small .tdm-media .tdm-section-img,
.tdm-blocks-small #products .thumbnail-container,
.tdm-blocks-small .featured-products .thumbnail-container,
.tdm-blocks-small .card,
.tdm-blocks-small .block-category,
.tdm-blocks-small #search_filters,
.tdm-blocks-small .product-information,
.tdm-blocks-small .contact-form,
.tdm-blocks-small .page-content.page-cms,
.tdm-blocks-small .form-control,
.tdm-blocks-small .tdm-columns-card .tdm-col,
.tdm-blocks-small .tdm-columns-steps .tdm-col,
.tdm-blocks-small .tdm-col-link:after,
.tdm-blocks-small .tdm-faq-item,
.tdm-blocks-small .tdm-faq-page.tdm-faq,
.tdm-blocks-small .tdm-shop-card,
.tdm-blocks-small .tdm-category-hero,
.tdm-blocks-small .tdm-sticky-cart,
.tdm-blocks-small .tdm-zoom,
.tdm-blocks-small .product-cover,
.tdm-blocks-small .product-cover img,
.tdm-blocks-small .tdm-images-item,
.tdm-blocks-small .tdm-reassurance-item,
.tdm-blocks-small .tdm-account-tile,
#product.tdm-blocks-small .tabs,
#product.tdm-blocks-small .product-container > div:has(> .product-information),
#product.tdm-blocks-small .product-container > div:has(> .product-information) .product-information,
.tdm-blocks-small .product-images > li.thumb-container > .thumb,
.tdm-blocks-small #content.page-content,
.tdm-blocks-small .tdm-menu-panel { border-radius: 10px !important; }
.tdm-blocks-small #footer .footer-container { border-radius: 10px !important; }
.tdm-blocks-square #header .tdm-header,
.tdm-blocks-square .tdm-section,
.tdm-blocks-square .tdm-hero,
.tdm-blocks-square .tdm-section-img,
.tdm-blocks-square .tdm-media .tdm-section-img,
.tdm-blocks-square #products .thumbnail-container,
.tdm-blocks-square .featured-products .thumbnail-container,
.tdm-blocks-square .card,
.tdm-blocks-square .block-category,
.tdm-blocks-square #search_filters,
.tdm-blocks-square .product-information,
.tdm-blocks-square .contact-form,
.tdm-blocks-square .page-content.page-cms,
.tdm-blocks-square .form-control,
.tdm-blocks-square .tdm-columns-card .tdm-col,
.tdm-blocks-square .tdm-columns-steps .tdm-col,
.tdm-blocks-square .tdm-col-link:after,
.tdm-blocks-square .tdm-faq-item,
.tdm-blocks-square .tdm-faq-page.tdm-faq,
.tdm-blocks-square .tdm-shop-card,
.tdm-blocks-square .tdm-category-hero,
.tdm-blocks-square .tdm-sticky-cart,
.tdm-blocks-square .tdm-zoom,
.tdm-blocks-square .product-cover,
.tdm-blocks-square .product-cover img,
.tdm-blocks-square .tdm-images-item,
.tdm-blocks-square .tdm-reassurance-item,
.tdm-blocks-square .tdm-account-tile,
#product.tdm-blocks-square .tabs,
#product.tdm-blocks-square .product-container > div:has(> .product-information),
#product.tdm-blocks-square .product-container > div:has(> .product-information) .product-information,
.tdm-blocks-square .product-images > li.thumb-container > .thumb,
.tdm-blocks-square #content.page-content,
.tdm-blocks-square .tdm-menu-panel,
.tdm-blocks-square #footer .footer-container { border-radius: 0 !important; }

/* Header and footer spacing (Theme builder > Réglages généraux) */
.tdm-header-flush #header .tdm-header { margin: 0 !important; border-radius: 0 !important; width: 100%; }
.tdm-footer-flush #footer { padding-bottom: 0; }
.tdm-footer-flush #footer .footer-container { margin: 36px 0 0 !important; border-radius: 0 !important; }

/* Header "Menu" button with text (Theme builder > En-tête et liens du menu) */
#header .tdm-more-toggle.tdm-more-toggle-both,
#header .tdm-more-toggle.tdm-more-toggle-text { height: 44px; padding: 0 18px; border-radius: 22px; background: #fff; color: var(--tdm-ink); font-weight: 600; font-size: 13px; box-shadow: var(--tdm-shadow); }
#header .tdm-more-toggle.tdm-more-toggle-both { padding-left: 14px; }
#header .tdm-more-toggle.tdm-more-toggle-both .tdm-icon,
#header .tdm-more-toggle.tdm-more-toggle-text .tdm-icon { width: 20px; height: 20px; }
#header .tdm-more-toggle.tdm-more-toggle-both:hover,
#header .tdm-more-toggle.tdm-more-toggle-text:hover,
#header .tdm-more-toggle.tdm-more-toggle-both[aria-expanded="true"],
#header .tdm-more-toggle.tdm-more-toggle-text[aria-expanded="true"] { background: var(--tdm-pink); color: #fff; }

/* Product cards: flags live inside the image box (duplicate outer list hidden), discount as a green ribbon bottom right */
#products .product-miniature .thumbnail-container > .product-flags,
.featured-products .product-miniature .thumbnail-container > .product-flags { display: none; }
#products .product-miniature .thumbnail-top,
.featured-products .product-miniature .thumbnail-top { position: relative; }
#products .product-miniature .thumbnail-top .product-flags,
.featured-products .product-miniature .thumbnail-top .product-flags { position: absolute; top: -10px; left: -10px; right: -10px; bottom: 0; z-index: 2; width: auto; margin: 0; padding: 4px 10px; pointer-events: none; overflow: hidden; border-radius: 22px 22px 0 0; }
/* Ribbons wrap the card frame, not the image: the image box no longer clips, its picture does */
#products .product-miniature .thumbnail-top,
.featured-products .product-miniature .thumbnail-top { overflow: visible; }
#products .product-miniature .thumbnail-top .product-thumbnail,
.featured-products .product-miniature .thumbnail-top .product-thumbnail { height: auto; overflow: hidden; border-radius: 18px; }
/* Classic reserves 70px under the image for its hover panel, which the theme does not use */
#products .product-miniature .thumbnail-container .product-thumbnail,
.featured-products .product-miniature .thumbnail-container .product-thumbnail,
.product-accessories .product-miniature .thumbnail-container .product-thumbnail,
body .product-miniature .thumbnail-container .product-thumbnail { height: auto; }
@media (max-width: 767px) {
  #products .product-miniature .thumbnail-top .product-flags,
  .featured-products .product-miniature .thumbnail-top .product-flags { top: -5px; left: -5px; right: -5px; }
}
#products .product-miniature .product-flags li.product-flag.discount,
#products .product-miniature .product-flags li.product-flag.discount-percentage,
#products .product-miniature .product-flags li.product-flag.discount-amount,
#products .product-miniature .product-flags li.product-flag.on-sale,
.featured-products .product-miniature .product-flags li.product-flag.discount,
.featured-products .product-miniature .product-flags li.product-flag.discount-percentage,
.featured-products .product-miniature .product-flags li.product-flag.discount-amount,
.featured-products .product-miniature .product-flags li.product-flag.on-sale {
  position: absolute;
  right: -40px;
  bottom: 22px;
  left: auto;
  top: auto;
  width: 170px;
  margin: 0;
  padding: 6px 0;
  border-radius: 0;
  background: #2f8f5b;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 6px 16px #2f8f5b40;
  transform: rotate(-45deg);
}
[dir="rtl"] #products .product-miniature .product-flags li.product-flag.discount,
[dir="rtl"] .featured-products .product-miniature .product-flags li.product-flag.discount { right: auto; left: -40px; transform: rotate(45deg); }
@media (max-width: 767px) {
  #products .product-miniature .product-flags li.product-flag.discount,
  #products .product-miniature .product-flags li.product-flag.discount-percentage,
  #products .product-miniature .product-flags li.product-flag.discount-amount,
  #products .product-miniature .product-flags li.product-flag.on-sale,
  .featured-products .product-miniature .product-flags li.product-flag.discount,
  .featured-products .product-miniature .product-flags li.product-flag.discount-percentage,
  .featured-products .product-miniature .product-flags li.product-flag.discount-amount,
  .featured-products .product-miniature .product-flags li.product-flag.on-sale { right: -44px; bottom: 16px; width: 150px; padding: 4px 0; font-size: 10px; }
}

/* Product sections with a background: thinner side padding on phones so the cards keep their width */
@media (max-width:767px) {
  .tdm-section.tdm-products:not(.tdm-bg-paper) {
    padding:20px 6px 14px;
    border-radius:24px;
  }
  .tdm-section.tdm-products:not(.tdm-bg-paper) > .products-section-title,
  .tdm-section.tdm-products:not(.tdm-bg-paper) > .tdm-products-intro,
  .tdm-section.tdm-products:not(.tdm-bg-paper) > .tdm-products-all {
    margin-left:10px;
    margin-right:10px;
  }
}
