:root {
  --dlsu-gradient: linear-gradient(122deg, #FFA663 0%, #FFC294 91%);
  --dlsu-accent: #d36702;
  --dlsu-text: #2A2A2A;
  --dlsu-muted: #77716b;
  --dlsu-soft: #faf7f3;
  --dlsu-soft-2: #fffaf5;
  --dlsu-card: #ffffff;
  --dlsu-border: rgba(42, 42, 42, .08);
  --dlsu-border-strong: rgba(42, 42, 42, .12);
  --dlsu-border-accent: rgba(211, 103, 2, .16);
}

.dolores-wc-archive,
.dolores-wc-archive *,
.dlsu-archive,
.dlsu-archive *,
.dolores-filters,
.dolores-filters *,
.dlsu-products,
.dlsu-products * {
  box-sizing: border-box !important;
  font-family: "Montserrat", Sans-serif !important;
}

.dolores-wc-archive a,
.dlsu-archive a,
.dolores-filters a {
  text-decoration: none !important;
}

/* FILTER */
.dolores-filters {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 35px !important;
  padding: 24px !important;
  box-shadow: none !important;
  color: var(--dlsu-text) !important;
}
.dolores-filters label,
.dolores-filters p,
.dolores-filters ul,
.dolores-filters li { margin: 0 !important; }

.df-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
}
.df-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.35px !important;
  color: var(--dlsu-text) !important;
}
.df-reset-link {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--dlsu-muted) !important;
  transition: color .18s ease !important;
}
.df-reset-link:hover { color: var(--dlsu-accent) !important; }

body .dolores-filters .df-mobile-toggle {
  display: none !important;
  width: 100% !important;
  border: 1px solid var(--dlsu-border-accent) !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 13px 16px !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  cursor: pointer !important;
  color: var(--dlsu-accent) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.df-mobile-toggle-text { flex: 1 !important; text-align: left !important; }
.df-mobile-badge {
  min-width: 23px !important;
  height: 23px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--dlsu-gradient) !important;
  color: #1f1f1f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.df-mobile-chevron { transition: transform .2s ease !important; opacity: .8 !important; }
.dolores-filters.is-mobile-open .df-mobile-chevron { transform: rotate(180deg) !important; }
.df-panel { display: block !important; }

.df-active {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
}
.df-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid rgba(211,103,2,.12) !important;
  background: #fff7ef !important;
  border-radius: 999px !important;
  padding: 8px 11px !important;
  font-size: 12px !important;
  color: var(--dlsu-accent) !important;
  box-shadow: none !important;
}
.df-pill span { font-size: 15px !important; line-height: 1 !important; opacity: .7 !important; }

.df-section {
  border-top: 1px solid rgba(42,42,42,.075) !important;
  padding-top: 15px !important;
  margin-top: 15px !important;
}
.df-section:first-of-type { border-top: 0 !important; padding-top: 0 !important; margin-top: 0 !important; }
.df-section summary {
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--dlsu-text) !important;
  padding: 8px 0 !important;
}
.df-section summary::-webkit-details-marker { display: none !important; }
.df-caret {
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid rgba(211,103,2,.72) !important;
  border-bottom: 2px solid rgba(211,103,2,.72) !important;
  transform: rotate(45deg) !important;
  transition: transform .18s ease !important;
}
.df-section details[open] > summary .df-caret { transform: rotate(225deg) !important; }
.df-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  padding: 8px 0 4px !important;
}
.df-item,
.df-cat-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--dlsu-text) !important;
  line-height: 1.24 !important;
  cursor: pointer !important;
  user-select: none !important;
}
.df-cats > .df-item,
.df-cat-row,
.df-cat-left,
.df-cat-left span { font-size: 15px !important; }
.df-child,
.df-cat-children .df-item { font-size: 13px !important; color: rgba(42,42,42,.80) !important; }
.df-item input,
.df-cat-left input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  accent-color: var(--dlsu-accent) !important;
  box-shadow: none !important;
}
.df-count { margin-left: 5px !important; font-size: 12px !important; color: rgba(42,42,42,.38) !important; }
.df-group-title { margin-top: 7px !important; color: rgba(42,42,42,.82) !important; font-size: 13px !important; font-weight: 600 !important; }
.df-empty { font-size: 12px !important; opacity: .6 !important; }
.df-cat-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 35px !important;
}
.df-cat-toggle {
  appearance: none !important;
  border: 1px solid rgba(211,103,2,.13) !important;
  background: #fff !important;
  padding: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--dlsu-accent) !important;
  box-shadow: none !important;
}
.df-toggle-icon { width: 15px !important; height: 15px !important; transition: transform .18s ease !important; }
.df-cat-group.is-open .df-toggle-icon { transform: rotate(180deg) !important; }
.df-cat-children { display: none !important; padding-left: 22px !important; margin-top: 8px !important; gap: 9px !important; }
.df-cat-group.is-open .df-cat-children { display: flex !important; flex-direction: column !important; }
.df-grid2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; padding: 8px 0 4px !important; }
.df-field label { display: block !important; font-size: 12px !important; color: var(--dlsu-muted) !important; margin-bottom: 6px !important; }
.df-field input {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 16px !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  color: var(--dlsu-text) !important;
  background: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}
.df-field input:focus { border-color: rgba(211,103,2,.22) !important; box-shadow: 0 0 0 4px rgba(211,103,2,.055) !important; }
.df-actions { display: flex !important; gap: 10px !important; margin-top: 18px !important; }
.df-btn {
  width: 100% !important;
  min-height: 43px !important;
  border-radius: 999px !important;
  padding: 11px 16px !important;
  cursor: pointer !important;
  border: 1px solid var(--dlsu-border) !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.df-btn.primary { background-image: var(--dlsu-gradient) !important; border-color: transparent !important; color: #1f1f1f !important; }
.df-btn.secondary { background: #fff !important; color: var(--dlsu-text) !important; }

/* ARCHIVE TOOLBAR */
.dlsu-archive { width: 100% !important; color: var(--dlsu-text) !important; }
.dlsu-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 26px !important;
  padding: 12px 14px 12px 18px !important;
  border: 1px solid rgba(42,42,42,.075) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: none !important;
}
.dlsu-found { font-size: 14px !important; font-weight: 500 !important; color: var(--dlsu-text) !important; white-space: nowrap !important; }
.dlsu-toolbar-actions { display: flex !important; align-items: center !important; gap: 14px !important; }
.dlsu-sort { display: inline-flex !important; align-items: center !important; gap: 9px !important; color: var(--dlsu-muted) !important; font-size: 12px !important; font-weight: 500 !important; }
.dlsu-custom-select { position: relative !important; min-width: 205px !important; z-index: 20 !important; }
.dlsu-native-select { position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 1px !important; height: 1px !important; }
.dlsu-select-trigger {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 0 16px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  color: var(--dlsu-text) !important;
}
.dlsu-select-current-icon,
.dlsu-select-option-icon { width: 18px !important; height: 18px !important; color: var(--dlsu-accent) !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.dlsu-select-current-icon svg,
.dlsu-select-option-icon svg { width: 18px !important; height: 18px !important; display: block !important; }
.dlsu-select-current-icon svg path,
.dlsu-select-option-icon svg path { fill: none !important; stroke: currentColor !important; stroke-width: 1.8 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.dlsu-select-text { flex: 1 !important; min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; font-size: 13px !important; font-weight: 600 !important; }
.dlsu-select-chevron { width: 16px !important; height: 16px !important; color: var(--dlsu-accent) !important; }
.dlsu-select-chevron path { fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.dlsu-select-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  display: none !important;
  padding: 8px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.08) !important;
  z-index: 50 !important;
}
.dlsu-custom-select.is-open .dlsu-select-menu { display: grid !important; gap: 4px !important; }
.dlsu-select-option {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 15px !important;
  padding: 10px 11px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  color: var(--dlsu-text) !important;
  box-shadow: none !important;
  text-align: left !important;
}
.dlsu-select-option:hover,
.dlsu-select-option.is-selected { background: #fff7ef !important; }
.dlsu-select-option-text { font-size: 13px !important; font-weight: 500 !important; }

/* view switch */
.dlsu-view-control { display: inline-flex !important; align-items: center !important; gap: 10px !important; }
.dlsu-view-label { color: var(--dlsu-muted) !important; font-size: 12px !important; font-weight: 500 !important; white-space: nowrap !important; }
.dlsu-view-switch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px !important;
  min-height: 46px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.dlsu-view-btn {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: rgba(42,42,42,.58) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  font-size: 0 !important;
}
.dlsu-view-btn:hover,
.dlsu-view-btn.is-active { background: var(--dlsu-gradient) !important; color: #1f1f1f !important; }
.dlsu-view-dots { display: block !important; color: currentColor !important; }
.dlsu-view-dots-3,
.dlsu-view-dots-4,
.dlsu-view-dots-2 {
  background-image: radial-gradient(currentColor 1.85px, transparent 2.25px) !important;
  background-position: 0 0 !important;
}
.dlsu-view-dots-3 { width: 22px !important; height: 15px !important; background-size: 8px 8px !important; }
.dlsu-view-dots-4 { width: 22px !important; height: 22px !important; background-size: 7px 7px !important; }
.dlsu-view-dots-2 { width: 18px !important; height: 18px !important; background-size: 9px 9px !important; }
.dlsu-view-dots-1 { width: 15px !important; height: 20px !important; border: 2px solid currentColor !important; border-radius: 5px !important; }
.dlsu-view-dots-list { position: relative !important; width: 22px !important; height: 17px !important; }
.dlsu-view-dots-list::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(currentColor,currentColor) 0 2px/5px 3px no-repeat,
              linear-gradient(currentColor,currentColor) 8px 2px/14px 3px no-repeat,
              linear-gradient(currentColor,currentColor) 0 7px/5px 3px no-repeat,
              linear-gradient(currentColor,currentColor) 8px 7px/14px 3px no-repeat,
              linear-gradient(currentColor,currentColor) 0 12px/5px 3px no-repeat,
              linear-gradient(currentColor,currentColor) 8px 12px/14px 3px no-repeat !important;
  border-radius: 3px !important;
}
.dlsu-view-mobile { display: none !important; }

/* PRODUCTS masonry */
.dlsu-products {
  width: 100% !important;
  display: block !important;
  column-gap: 22px !important;
  align-items: start !important;
}
.dlsu-products.view-4 { column-count: 4 !important; }
.dlsu-products.view-3 { column-count: 3 !important; }
.dlsu-products.view-2 { column-count: 2 !important; }
.dlsu-products.view-1 { column-count: 1 !important; }
.dlsu-products.view-list { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; column-count: auto !important; }

.dlsu-card {
  position: relative !important;
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 22px !important;
  break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  overflow: hidden !important;
  border: 1px solid rgba(42,42,42,.075) !important;
  border-radius: 32px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--dlsu-text) !important;
  transform: none !important;
}
.dlsu-card:hover { box-shadow: none !important; transform: none !important; border-color: rgba(211,103,2,.16) !important; }
.dlsu-card-media {
  position: relative !important;
  height: 250px !important;
  padding: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(42,42,42,.045) !important;
  overflow: hidden !important;
}
.dlsu-products.view-4 .dlsu-card-media { height: 218px !important; padding: 17px !important; }
.dlsu-image-link { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.dlsu-card-media img,
.dlsu-card-media .wp-post-image {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: none !important;
}
.dlsu-card:hover .dlsu-card-media img { transform: none !important; filter: none !important; }

.dlsu-badges { position: absolute !important; left: 18px !important; top: 18px !important; z-index: 3 !important; display: flex !important; flex-direction: column !important; gap: 7px !important; align-items: flex-start !important; }
.dlsu-sale-badge,
.dlsu-stock-badge {
  min-height: 28px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.dlsu-sale-badge { background: var(--dlsu-gradient) !important; color: #1f1f1f !important; }
.dlsu-stock-badge { background: #202020 !important; color: #fff !important; }

.dlsu-wishlist-btn {
  position: absolute !important;
  right: 18px !important;
  top: 18px !important;
  z-index: 4 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(42,42,42,.08) !important;
  background: rgba(255,255,255,.94) !important;
  color: #2A2A2A !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px) !important;
}
.dlsu-wishlist-btn svg { width: 21px !important; height: 21px !important; display: block !important; overflow: visible !important; }
.dlsu-wishlist-btn svg path { fill: none !important; stroke: currentColor !important; stroke-width: 1.85 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.dlsu-wishlist-btn:hover,
.dlsu-wishlist-btn.is-active { color: var(--dlsu-accent) !important; background: #fffaf5 !important; border-color: rgba(211,103,2,.18) !important; }
.dlsu-wishlist-btn.is-active svg path { fill: rgba(211,103,2,.10) !important; }
.dlsu-wishlist-btn.is-loading { opacity: .7 !important; pointer-events: none !important; }
.dlsu-wishlist-btn.is-popping svg { animation: dlsuHeartPop .42s cubic-bezier(.2,.85,.25,1.4) !important; }
@keyframes dlsuHeartPop { 0%{transform:scale(1)} 45%{transform:scale(1.22)} 100%{transform:scale(1)} }

.dlsu-card-body { display: block !important; padding: 22px 24px 24px !important; }
.dlsu-products.view-4 .dlsu-card-body { padding: 18px 20px 20px !important; }
.dlsu-rating { display: inline-flex !important; align-items: center !important; gap: 7px !important; min-height: 20px !important; margin: 0 0 8px !important; }
.dlsu-stars { --percent: calc(var(--rating) / 5 * 100%); position: relative !important; display: inline-block !important; font-size: 12px !important; line-height: 1 !important; letter-spacing: 1px !important; }
.dlsu-stars::before { content: "★★★★★" !important; color: rgba(42,42,42,.12) !important; }
.dlsu-stars::after { content: "★★★★★" !important; position: absolute !important; inset: 0 !important; width: var(--percent) !important; overflow: hidden !important; color: var(--dlsu-accent) !important; }
.dlsu-review-count { font-size: 12px !important; color: var(--dlsu-muted) !important; }
.dlsu-title,
.dl-product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  position: relative !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  color: var(--dlsu-text) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -.045em !important;
}
.dlsu-products.view-4 .dlsu-title { font-size: 15.5px !important; line-height: 1.24 !important; }
.dlsu-title a,
.dl-product-title a { color: inherit !important; }
.dlsu-title.is-truncated::after,
.dl-product-title.is-truncated::after,
.woocommerce ul.products li.product .woocommerce-loop-product__title.is-truncated::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 76px !important;
  height: 1.28em !important;
  background: linear-gradient(to right, rgba(255,255,255,0), #fff 74%) !important;
  pointer-events: none !important;
}
.dlsu-price { margin: 0 0 18px !important; color: var(--dlsu-text) !important; font-size: 17px !important; font-weight: 500 !important; line-height: 1.25 !important; }
.dlsu-products.view-4 .dlsu-price { font-size: 15px !important; margin-bottom: 16px !important; }
.dlsu-price del { color: rgba(42,42,42,.40) !important; font-size: .88em !important; margin-right: 8px !important; }
.dlsu-price ins { color: var(--dlsu-accent) !important; text-decoration: none !important; }
.dlsu-card-actions { display: block !important; margin-top: 0 !important; }
.dlsu-add-to-cart {
  position: relative !important;
  width: 100% !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 11px 16px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--dlsu-gradient) !important;
  color: #1f1f1f !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: filter .18s ease !important;
}
.dlsu-add-to-cart:hover { transform: none !important; box-shadow: none !important; filter: brightness(.985) !important; }
.dlsu-add-to-cart svg { width: 18px !important; height: 18px !important; display: block !important; overflow: visible !important; }
.dlsu-add-to-cart svg path { fill: none !important; stroke: currentColor !important; stroke-width: 1.65 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.dlsu-cart-text { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.dlsu-cart-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 18px !important; height: 18px !important; flex: 0 0 18px !important; }
.dlsu-add-to-cart.is-adding { pointer-events: none !important; filter: saturate(.88) !important; }
.dlsu-add-to-cart.is-adding::after {
  content: "" !important;
  position: absolute !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid rgba(31,31,31,.25) !important;
  border-top-color: rgba(31,31,31,.85) !important;
  border-radius: 999px !important;
  right: 12px !important;
  animation: dlsuSpin .7s linear infinite !important;
}
.dlsu-add-to-cart.is-added { animation: dlsuAddPulse .42s ease !important; }
@keyframes dlsuSpin { to { transform: rotate(360deg); } }
@keyframes dlsuAddPulse { 0%{transform:scale(1)} 45%{transform:scale(1.025)} 100%{transform:scale(1)} }
.dlsu-cart-pop { position: fixed !important; z-index: 99999 !important; width: 14px !important; height: 14px !important; border-radius: 999px !important; background: var(--dlsu-gradient) !important; pointer-events: none !important; animation: dlsuCartPop .72s cubic-bezier(.18,.8,.28,1) forwards !important; }
@keyframes dlsuCartPop { to { transform: translate(32px, -58px) scale(.2); opacity: 0; } }

/* list view */
.dlsu-products.view-list .dlsu-card { display: grid !important; grid-template-columns: 220px 1fr !important; min-height: 210px !important; margin-bottom: 18px !important; }
.dlsu-products.view-list .dlsu-card-media { height: 100% !important; min-height: 210px !important; border-bottom: 0 !important; border-right: 1px solid rgba(42,42,42,.04) !important; }
.dlsu-products.view-list .dlsu-card-body { padding: 24px !important; align-self: center !important; }
.dlsu-products.view-list .dlsu-add-to-cart { max-width: 360px !important; }

/* pagination */
.dlsu-pagination { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 10px !important; margin-top: 38px !important; }
.dlsu-pagination .page-numbers {
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  border: 1px solid var(--dlsu-border) !important;
  background: #fff !important;
  color: var(--dlsu-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.dlsu-pagination .page-numbers.current { background: var(--dlsu-gradient) !important; border-color: transparent !important; color: #1f1f1f !important; }
.dlsu-no-products,
.dlsu-empty { border-radius: 28px !important; padding: 26px !important; background: var(--dlsu-soft) !important; color: var(--dlsu-text) !important; }
.dlsu-no-products strong { display: block !important; margin-bottom: 8px !important; font-size: 18px !important; }
.dlsu-no-products span { color: var(--dlsu-muted) !important; font-size: 14px !important; }

@media (max-width: 1400px) {
  .dlsu-products.view-4 { column-count: 3 !important; }
  .dlsu-card-media { height: 238px !important; }
}
@media (max-width: 1100px) {
  .dlsu-products.view-3,
  .dlsu-products.view-4 { column-count: 2 !important; }
  .dlsu-toolbar { border-radius: 28px !important; align-items: flex-start !important; flex-direction: column !important; }
  .dlsu-toolbar-actions { width: 100% !important; justify-content: space-between !important; flex-wrap: wrap !important; }
}
@media (max-width: 768px) {
  .dolores-filters { padding: 18px !important; border-radius: 28px !important; }
  body .dolores-filters .df-mobile-toggle { display: flex !important; }
  .dolores-filters.df-js .df-panel { max-height: 0 !important; opacity: 0 !important; overflow: hidden !important; pointer-events: none !important; transition: max-height .26s ease, opacity .2s ease !important; }
  .dolores-filters.df-js.is-mobile-open .df-panel { max-height: 5200px !important; opacity: 1 !important; pointer-events: auto !important; margin-top: 12px !important; }
  .dlsu-toolbar { padding: 14px !important; }
  .dlsu-found { width: 100% !important; }
  .dlsu-toolbar-actions { gap: 12px !important; }
  .dlsu-sort { width: 100% !important; justify-content: space-between !important; }
  .dlsu-custom-select { min-width: 0 !important; flex: 1 !important; }
  .dlsu-view-control { width: 100% !important; justify-content: space-between !important; }
  .dlsu-view-desktop { display: none !important; }
  .dlsu-view-mobile { display: inline-flex !important; }
  .dlsu-products.view-4,
  .dlsu-products.view-3 { column-count: 2 !important; }
  .dlsu-products.view-2 { column-count: 2 !important; }
  .dlsu-products.view-1 { column-count: 1 !important; }
  .dlsu-card { border-radius: 24px !important; margin-bottom: 14px !important; }
  .dlsu-card-media { height: 158px !important; padding: 13px !important; }
  .dlsu-card-body { padding: 14px 13px 14px !important; }
  .dlsu-title { font-size: 13.5px !important; line-height: 1.22 !important; margin-bottom: 9px !important; }
  .dlsu-price { font-size: 14px !important; margin-bottom: 12px !important; }
  .dlsu-add-to-cart { min-height: 38px !important; padding: 10px 12px !important; font-size: 12px !important; }
  .dlsu-cart-icon { display: none !important; }
  .dlsu-wishlist-btn { width: 38px !important; height: 38px !important; min-width: 38px !important; right: 12px !important; top: 12px !important; }
  .dlsu-wishlist-btn svg { width: 19px !important; height: 19px !important; }
  .dlsu-badges { left: 12px !important; top: 12px !important; }
  .dlsu-sale-badge,
  .dlsu-stock-badge { min-height: 24px !important; padding: 6px 9px !important; font-size: 10px !important; }
  .dlsu-products.view-list .dlsu-card { display: grid !important; grid-template-columns: 92px minmax(0,1fr) !important; min-height: 126px !important; border-radius: 22px !important; }
  .dlsu-products.view-list .dlsu-card-media { height: 126px !important; min-height: 126px !important; padding: 10px !important; border-right: 1px solid rgba(42,42,42,.04) !important; border-bottom: 0 !important; }
  .dlsu-products.view-list .dlsu-card-body { padding: 12px 12px 12px 2px !important; }
  .dlsu-products.view-list .dlsu-title { -webkit-line-clamp: 2 !important; font-size: 13px !important; }
  .dlsu-products.view-list .dlsu-price { margin-bottom: 8px !important; }
  .dlsu-products.view-list .dlsu-add-to-cart { min-height: 34px !important; max-width: none !important; }
  .dlsu-pagination { gap: 8px !important; margin-top: 26px !important; }
  .dlsu-pagination .page-numbers { min-width: 38px !important; height: 38px !important; padding: 0 12px !important; font-size: 13px !important; }
}
@media (max-width: 430px) {
  .dlsu-products.view-2 { column-gap: 10px !important; }
  .dlsu-card-media { height: 140px !important; }
}


/* v1.2.4 polish */
.dlsu-select-trigger { justify-content: flex-start !important; }
.dlsu-select-text { flex: 0 1 auto !important; text-align: left !important; }
.dlsu-select-chevron { margin-left: auto !important; flex: 0 0 auto !important; }
.dlsu-view-switch { min-height: 40px !important; padding: 4px !important; }
.dlsu-view-btn { width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; }
.dlsu-view-dots-3 { width: 17px !important; height: 12px !important; background-size: 6px 6px !important; }
.dlsu-view-dots-4 { width: 17px !important; height: 17px !important; background-size: 5.6px 5.6px !important; }
.dlsu-view-dots-2 { width: 15px !important; height: 15px !important; background-size: 7px 7px !important; }
.dlsu-view-dots-1 { width: 13px !important; height: 17px !important; border-width: 1.8px !important; }
.dlsu-view-dots-list { width: 18px !important; height: 14px !important; }
.dlsu-view-dots-list::before { background: linear-gradient(currentColor,currentColor) 0 1px/4px 2px no-repeat, linear-gradient(currentColor,currentColor) 7px 1px/11px 2px no-repeat, linear-gradient(currentColor,currentColor) 0 6px/4px 2px no-repeat, linear-gradient(currentColor,currentColor) 7px 6px/11px 2px no-repeat, linear-gradient(currentColor,currentColor) 0 11px/4px 2px no-repeat, linear-gradient(currentColor,currentColor) 7px 11px/11px 2px no-repeat !important; }
.dolores-wc-archive.is-dlsu-loading .dlsu-archive,
.dolores-wc-archive.is-dlsu-loading .dlsu-filters { opacity: .48 !important; pointer-events: none !important; transition: opacity .18s ease !important; }
.dlsu-archive, .dlsu-filters { transition: opacity .18s ease !important; }
@media (max-width: 768px){ .dlsu-view-btn { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; } }

/* v1.2.5 — no AJAX, animated gradient headings, premium single product */
.dolores-wc-archive__title-text,
.dlsu-single-title > span {
  background-image: linear-gradient(110deg, #d36702 0%, #FFA663 28%, #FFC294 48%, #d36702 72%, #FFA663 100%) !important;
  background-size: 220% 100% !important;
  background-position: 0% 50% !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  animation: dlsuGradientWave 6.5s ease-in-out infinite !important;
}
@keyframes dlsuGradientWave {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.dolores-wc-archive__head { margin-bottom: 56px !important; }
.dlsu-view-dots-3 { width: 15px !important; height: 10px !important; background-size: 5.4px 5.4px !important; }
.dlsu-view-dots-4 { width: 15px !important; height: 15px !important; background-size: 5px 5px !important; }
.dlsu-view-dots-2 { width: 13px !important; height: 13px !important; background-size: 6.5px 6.5px !important; }
.dlsu-view-btn { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; }
.dlsu-view-switch { min-height: 38px !important; padding: 4px !important; }
.dlsu-select-trigger { justify-content: flex-start !important; }
.dlsu-select-text { flex: 0 1 auto !important; text-align: left !important; }
.dlsu-select-chevron { margin-left: auto !important; }

/* Single product */
.dlsu-single-product,
.dlsu-single-product * {
  box-sizing: border-box !important;
  font-family: "Montserrat", Sans-serif !important;
}
.dlsu-single-product {
  --dlsu-gradient: linear-gradient(122deg, #FFA663 0%, #FFC294 91%);
  --dlsu-accent: #d36702;
  --dlsu-text: #2A2A2A;
  --dlsu-muted: #77716b;
  --dlsu-soft: #faf7f3;
  --dlsu-border: rgba(42,42,42,.085);
  width: 100% !important;
  background: #fff !important;
  color: var(--dlsu-text) !important;
}
.dlsu-single-wrap {
  width: min(100%, 1500px) !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 58px 34px 92px !important;
}
.dlsu-single-product a { text-decoration: none !important; }
.dlsu-single-breadcrumb {
  margin: 0 0 34px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: rgba(42,42,42,.48) !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}
.dlsu-single-breadcrumb a { color: rgba(42,42,42,.55) !important; }
.dlsu-single-hero {
  display: grid !important;
  grid-template-columns: minmax(420px, 620px) minmax(0, 1fr) !important;
  gap: 58px !important;
  align-items: start !important;
}
.dlsu-single-gallery {
  display: grid !important;
  grid-template-columns: 96px minmax(0,1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
.dlsu-single-main-link {
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 610px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 35px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.dlsu-single-main-img {
  max-width: 88% !important;
  max-height: 560px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  display: block !important;
}
.dlsu-single-thumbs {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.dlsu-single-thumb {
  appearance: none !important;
  width: 96px !important;
  height: 96px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 22px !important;
  background: #fff !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color .18s ease, background .18s ease !important;
}
.dlsu-single-thumb:hover,
.dlsu-single-thumb.is-active { border-color: rgba(211,103,2,.28) !important; background: #fffaf5 !important; }
.dlsu-single-thumb img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; border-radius: 10px !important; }
.dlsu-single-summary {
  min-width: 0 !important;
  padding: 18px 0 0 !important;
}
.dlsu-single-topline {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 24px !important;
  margin-bottom: 24px !important;
  color: rgba(42,42,42,.72) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.dlsu-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-weight: 700 !important;
  color: #202020 !important;
}
.dlsu-stock > span {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #22b14c !important;
  box-shadow: 0 0 0 0 rgba(34,177,76,.35) !important;
  animation: dlsuStockPulse 1.8s ease-out infinite !important;
}
.dlsu-stock.is-out > span { background: #202020 !important; animation: none !important; }
@keyframes dlsuStockPulse { 0% { box-shadow: 0 0 0 0 rgba(34,177,76,.34); } 70% { box-shadow: 0 0 0 9px rgba(34,177,76,0); } 100% { box-shadow: 0 0 0 0 rgba(34,177,76,0); } }
.dlsu-single-meta strong { color: var(--dlsu-text) !important; font-weight: 700 !important; }
.dlsu-single-meta a { color: inherit !important; }
.dlsu-single-title {
  margin: 0 0 18px !important;
  max-width: 780px !important;
  font-size: clamp(34px, 3.2vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.05em !important;
  color: var(--dlsu-accent) !important;
}
.dlsu-single-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 22px !important;
  color: var(--dlsu-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.dlsu-single-rating strong { color: var(--dlsu-text) !important; font-size: 14px !important; font-weight: 700 !important; }
.dlsu-stars {
  --percent: calc(var(--rating) / 5 * 100%);
  position: relative !important;
  display: inline-block !important;
  width: 84px !important;
  height: 18px !important;
  line-height: 18px !important;
  font-size: 16px !important;
  letter-spacing: 1px !important;
}
.dlsu-stars::before,
.dlsu-stars::after {
  content: "★★★★★" !important;
  position: absolute !important;
  inset: 0 !important;
  white-space: nowrap !important;
}
.dlsu-stars::before { color: rgba(42,42,42,.12) !important; }
.dlsu-stars::after { width: var(--percent) !important; overflow: hidden !important; color: #d36702 !important; }
.dlsu-single-short {
  max-width: 680px !important;
  margin: 0 0 28px !important;
  color: var(--dlsu-muted) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.72 !important;
}
.dlsu-single-short p:last-child { margin-bottom: 0 !important; }
.dlsu-single-price {
  margin: 0 0 28px !important;
  color: var(--dlsu-text) !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
}
.dlsu-single-price del { color: rgba(42,42,42,.35) !important; font-size: .66em !important; margin-right: 10px !important; }
.dlsu-single-price ins { text-decoration: none !important; color: var(--dlsu-accent) !important; }
.dlsu-single-actions {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 34px !important;
}
.dlsu-single-add { flex: 1 1 auto !important; min-width: 0 !important; }
.dlsu-single-add form.cart { display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 !important; flex-wrap: wrap !important; }
.dlsu-single-add .quantity { margin: 0 !important; display: inline-flex !important; align-items: center !important; }
.dlsu-single-add .quantity input.qty {
  width: 72px !important;
  height: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(211,103,2,.32) !important;
  background: #fff !important;
  color: var(--dlsu-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: center !important;
  box-shadow: none !important;
}
.dlsu-single-add button.single_add_to_cart_button,
.dlsu-single-add .single_add_to_cart_button,
.dlsu-single-add .button {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--dlsu-gradient) !important;
  color: #1f1f1f !important;
  padding: 14px 34px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
.dlsu-single-add button.single_add_to_cart_button:hover,
.dlsu-single-add .single_add_to_cart_button:hover { filter: brightness(.985) !important; box-shadow: none !important; }
.dlsu-wishlist-btn.is-single {
  position: static !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 999px !important;
  border: 1px solid var(--dlsu-border) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.dlsu-wishlist-btn.is-single svg { width: 22px !important; height: 22px !important; }
.dlsu-single-delivery {
  border-top: 1px solid var(--dlsu-border) !important;
  padding-top: 24px !important;
  display: grid !important;
  gap: 14px !important;
}
.dlsu-single-delivery-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--dlsu-text) !important;
  letter-spacing: -0.02em !important;
}
.dlsu-single-delivery-row {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  color: var(--dlsu-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
.dlsu-delivery-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #fff7ef !important;
  color: var(--dlsu-accent) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  flex: 0 0 34px !important;
}
.dlsu-single-details {
  margin-top: 56px !important;
  border-top: 1px solid var(--dlsu-border) !important;
}
.dlsu-single-accordion-item { border-bottom: 1px solid var(--dlsu-border) !important; }
.dlsu-single-accordion-btn {
  width: 100% !important;
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 24px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  color: var(--dlsu-text) !important;
  cursor: pointer !important;
}
.dlsu-single-accordion-btn span { font-size: 18px !important; font-weight: 500 !important; letter-spacing: -0.03em !important; }
.dlsu-single-accordion-btn i {
  width: 11px !important;
  height: 11px !important;
  border-right: 1.8px solid var(--dlsu-text) !important;
  border-bottom: 1.8px solid var(--dlsu-text) !important;
  transform: rotate(45deg) !important;
  transition: transform .18s ease !important;
}
.dlsu-single-accordion-item.is-open .dlsu-single-accordion-btn i { transform: rotate(225deg) !important; }
.dlsu-single-accordion-panel { display: none !important; padding: 0 0 28px !important; }
.dlsu-single-accordion-item.is-open .dlsu-single-accordion-panel { display: block !important; }
.dlsu-single-description,
.dlsu-single-attributes {
  max-width: 980px !important;
  color: var(--dlsu-muted) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.78 !important;
}
.dlsu-single-attributes table { width: 100% !important; border: 0 !important; }
.dlsu-single-attributes th,
.dlsu-single-attributes td { border: 0 !important; border-bottom: 1px solid var(--dlsu-border) !important; padding: 12px 0 !important; background: transparent !important; }
.dlsu-single-reviews {
  margin-top: 56px !important;
  padding: 34px !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 35px !important;
  background: #fff !important;
}
.dlsu-single-reviews-head {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--dlsu-border) !important;
  margin-bottom: 28px !important;
}
.dlsu-single-reviews-kicker { color: var(--dlsu-accent) !important; font-size: 13px !important; font-weight: 600 !important; margin-bottom: 6px !important; }
.dlsu-single-reviews h2 { margin: 0 !important; font-size: 54px !important; font-weight: 500 !important; letter-spacing: -0.05em !important; color: var(--dlsu-text) !important; line-height: 1 !important; }
.dlsu-single-reviews-score { display: flex !important; flex-direction: column !important; gap: 7px !important; color: var(--dlsu-muted) !important; font-size: 13px !important; }
.dlsu-single-review-cta {
  min-height: 46px !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--dlsu-gradient) !important;
  color: #1f1f1f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.dlsu-single-reviews-native #reviews,
.dlsu-single-reviews-native .woocommerce-Reviews { margin: 0 !important; }
.dlsu-single-reviews-native .woocommerce-Reviews-title { display: none !important; }
.dlsu-single-reviews-native ol.commentlist { padding: 0 !important; margin: 0 0 24px !important; list-style: none !important; }
.dlsu-single-reviews-native ol.commentlist li { border: 1px solid var(--dlsu-border) !important; border-radius: 24px !important; padding: 18px !important; margin: 0 0 12px !important; background: #fffaf5 !important; }
.dlsu-single-reviews-native .comment-text { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.dlsu-single-reviews-native .star-rating,
.dlsu-single-reviews-native .stars a { color: var(--dlsu-accent) !important; }
.dlsu-single-reviews-native #review_form_wrapper {
  margin-top: 24px !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: #faf7f3 !important;
  border: 1px solid var(--dlsu-border) !important;
}
.dlsu-single-reviews-native #reply-title { display: block !important; margin: 0 0 16px !important; font-size: 18px !important; font-weight: 600 !important; color: var(--dlsu-text) !important; }
.dlsu-single-reviews-native textarea,
.dlsu-single-reviews-native input[type="text"],
.dlsu-single-reviews-native input[type="email"] {
  width: 100% !important;
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
  color: var(--dlsu-text) !important;
}
.dlsu-single-reviews-native .form-submit input,
.dlsu-single-reviews-native button,
.dlsu-single-reviews-native input[type="submit"] {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--dlsu-gradient) !important;
  color: #1f1f1f !important;
  padding: 14px 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
@media (max-width: 1100px) {
  .dlsu-single-hero { grid-template-columns: 1fr !important; gap: 34px !important; }
  .dlsu-single-gallery { max-width: 720px !important; margin: 0 auto !important; width: 100% !important; }
}
@media (max-width: 768px) {
  .dolores-wc-archive__head { margin-bottom: 34px !important; }
  .dlsu-single-wrap { padding: 34px 16px 62px !important; }
  .dlsu-single-breadcrumb { margin-bottom: 20px !important; font-size: 11px !important; }
  .dlsu-single-gallery { display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .dlsu-single-main-link { min-height: 360px !important; border-radius: 28px !important; }
  .dlsu-single-main-img { max-height: 330px !important; max-width: 88% !important; }
  .dlsu-single-thumbs { order: 2 !important; flex-direction: row !important; overflow-x: auto !important; padding-bottom: 2px !important; }
  .dlsu-single-thumb { width: 74px !important; height: 74px !important; min-width: 74px !important; border-radius: 18px !important; }
  .dlsu-single-summary { padding-top: 0 !important; }
  .dlsu-single-topline { gap: 10px 16px !important; margin-bottom: 18px !important; font-size: 12px !important; }
  .dlsu-single-title { font-size: clamp(30px, 9vw, 42px) !important; }
  .dlsu-single-short { font-size: 14px !important; line-height: 1.65 !important; }
  .dlsu-single-price { font-size: 28px !important; }
  .dlsu-single-actions { align-items: stretch !important; }
  .dlsu-single-add form.cart { width: 100% !important; }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button { flex: 1 1 auto !important; padding-left: 20px !important; padding-right: 20px !important; }
  .dlsu-single-reviews { padding: 22px !important; border-radius: 28px !important; }
  .dlsu-single-reviews-head { grid-template-columns: 1fr !important; gap: 16px !important; align-items: start !important; }
  .dlsu-single-reviews h2 { font-size: 44px !important; }
}

/* v1.2.6 — refined single product purchase row, delivery icons, two-column content/reviews */
.dlsu-single-title,
.dlsu-single-title > span {
  display: inline-block !important;
  padding-bottom: .08em !important;
  background-image: linear-gradient(115deg, #c65f00 0%, #d36702 20%, #FFA663 48%, #FFC294 64%, #d36702 86%, #FFA663 100%) !important;
  background-size: 260% 100% !important;
  background-position: 0% 50% !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  animation: dlsuGradientWave 7.5s ease-in-out infinite !important;
}
.dlsu-single-short { margin-bottom: 20px !important; }
.dlsu-single-buyline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin: 10px 0 30px !important;
  padding: 0 !important;
}
.dlsu-single-price {
  margin: 0 !important;
  color: var(--dlsu-text) !important;
  font-size: clamp(28px, 2.15vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
  white-space: nowrap !important;
}
.dlsu-single-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  flex: 0 1 auto !important;
}
.dlsu-single-add { flex: 0 1 auto !important; min-width: 0 !important; }
.dlsu-single-add form.cart {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}
.dlsu-single-add p.stock { display: none !important; }
.dlsu-single-add .quantity {
  --vivi-size: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.dlsu-single-add .quantity .vivi-qty-btn,
.dlsu-single-add .quantity input.qty {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 999px !important;
}
.dlsu-single-add .quantity input.qty {
  line-height: 44px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.dlsu-single-add button.single_add_to_cart_button,
.dlsu-single-add .single_add_to_cart_button,
.dlsu-single-add .button {
  min-height: 44px !important;
  height: 44px !important;
  min-width: 190px !important;
  border-radius: 999px !important;
  padding: 0 28px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.dlsu-wishlist-btn.is-single {
  position: static !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(42,42,42,.09) !important;
  background: #fff !important;
}
.dlsu-wishlist-btn.is-single svg { width: 20px !important; height: 20px !important; }

.dlsu-single-delivery {
  border-top: 1px solid var(--dlsu-border) !important;
  padding-top: 22px !important;
  display: grid !important;
  gap: 10px !important;
}
.dlsu-single-delivery-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 2px !important;
}
.dlsu-single-delivery-row {
  min-height: 48px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(211,103,2,.08) !important;
  border-radius: 18px !important;
  background: #fffaf5 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: var(--dlsu-muted) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.dlsu-delivery-icon {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--dlsu-accent) !important;
  border: 1px solid rgba(211,103,2,.11) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dlsu-delivery-icon svg { width: 19px !important; height: 19px !important; display: block !important; overflow: visible !important; }
.dlsu-delivery-icon svg path { stroke: currentColor !important; stroke-width: 1.7 !important; stroke-linecap: round !important; stroke-linejoin: round !important; fill: none !important; }

.dlsu-single-lower {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
  gap: 30px !important;
  align-items: start !important;
  margin-top: 58px !important;
}
.dlsu-single-details {
  margin-top: 0 !important;
  border-top: 0 !important;
}
.dlsu-single-info-card,
.dlsu-single-reviews {
  border: 1px solid var(--dlsu-border) !important;
  border-radius: 35px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.dlsu-single-info-card { padding: 8px 28px !important; }
.dlsu-single-accordion-item { border-bottom: 1px solid var(--dlsu-border) !important; }
.dlsu-single-accordion-item:last-child { border-bottom: 0 !important; }
.dlsu-single-accordion-btn {
  padding: 17px 0 !important;
  min-height: 58px !important;
}
.dlsu-single-accordion-btn span {
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}
.dlsu-single-accordion-panel { padding: 0 0 22px !important; }
.dlsu-single-description,
.dlsu-single-attributes {
  max-width: none !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}
.dlsu-single-reviews {
  position: sticky !important;
  top: 110px !important;
  margin-top: 0 !important;
  padding: 24px !important;
  align-self: start !important;
}
.dlsu-single-reviews-head {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px 18px !important;
  align-items: center !important;
  padding-bottom: 18px !important;
  margin-bottom: 18px !important;
  border-bottom: 1px solid var(--dlsu-border) !important;
}
.dlsu-single-reviews-kicker {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--dlsu-accent) !important;
}
.dlsu-single-reviews h2 {
  font-size: 42px !important;
  line-height: .95 !important;
  letter-spacing: -0.055em !important;
}
.dlsu-single-reviews-score { font-size: 12px !important; gap: 5px !important; }
.dlsu-single-review-cta {
  grid-column: 1 / -1 !important;
  min-height: 42px !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.dlsu-single-reviews-native #review_form_wrapper {
  padding: 18px !important;
  border-radius: 24px !important;
  margin-top: 18px !important;
}
.dlsu-single-reviews-native #reply-title {
  font-size: 16px !important;
  margin-bottom: 12px !important;
}
.dlsu-single-reviews-native textarea {
  min-height: 120px !important;
  border-radius: 18px !important;
}
.dlsu-single-reviews-native .form-submit input,
.dlsu-single-reviews-native button,
.dlsu-single-reviews-native input[type="submit"] {
  min-height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.dlsu-single-reviews-native .stars a,
.dlsu-single-reviews-native .star-rating,
.dlsu-single-reviews-native .comment-form-rating .stars a { color: var(--dlsu-accent) !important; }

.dlsu-mobile-buybar { display: none !important; }

@media (max-width: 1200px) {
  .dlsu-single-buyline { align-items: flex-start !important; flex-direction: column !important; }
  .dlsu-single-actions { width: 100% !important; justify-content: flex-start !important; }
}
@media (max-width: 1100px) {
  .dlsu-single-lower { grid-template-columns: 1fr !important; gap: 22px !important; }
  .dlsu-single-reviews { position: static !important; }
}
@media (max-width: 768px) {
  body.single-product { padding-bottom: 86px !important; }
  .dlsu-single-title,
  .dlsu-single-title > span { display: inline !important; padding-bottom: .06em !important; }
  .dlsu-single-buyline { gap: 14px !important; margin: 6px 0 24px !important; }
  .dlsu-single-price { font-size: 28px !important; }
  .dlsu-single-actions { align-items: stretch !important; }
  .dlsu-single-add { width: 100% !important; }
  .dlsu-single-add form.cart { width: 100% !important; gap: 9px !important; justify-content: flex-start !important; flex-wrap: nowrap !important; }
  .dlsu-single-add .quantity { --vivi-size: 42px !important; gap: 7px !important; }
  .dlsu-single-add .quantity .vivi-qty-btn,
  .dlsu-single-add .quantity input.qty { width: 42px !important; height: 42px !important; min-width: 42px !important; }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button { min-width: 0 !important; flex: 1 1 auto !important; height: 42px !important; min-height: 42px !important; padding: 0 18px !important; }
  .dlsu-wishlist-btn.is-single { width: 42px !important; height: 42px !important; min-width: 42px !important; flex-basis: 42px !important; }
  .dlsu-single-delivery { padding-top: 18px !important; }
  .dlsu-single-delivery-row { min-height: 46px !important; border-radius: 16px !important; }
  .dlsu-single-lower { margin-top: 34px !important; }
  .dlsu-single-info-card,
  .dlsu-single-reviews { border-radius: 28px !important; }
  .dlsu-single-info-card { padding: 4px 18px !important; }
  .dlsu-single-reviews { padding: 18px !important; }
  .dlsu-single-reviews h2 { font-size: 36px !important; }
  .dlsu-single-reviews-head { grid-template-columns: 1fr !important; }
  .dlsu-mobile-buybar {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    z-index: 9998 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px !important;
    border: 1px solid rgba(42,42,42,.10) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(14px) !important;
    box-shadow: 0 12px 36px rgba(42,42,42,.10) !important;
  }
  .dlsu-mobile-buybar-price { padding-left: 10px !important; color: var(--dlsu-text) !important; font-size: 16px !important; font-weight: 600 !important; white-space: nowrap !important; }
  .dlsu-mobile-buybar-price del { display: none !important; }
  .dlsu-mobile-buybar-price ins { text-decoration: none !important; color: var(--dlsu-accent) !important; }
  .dlsu-mobile-add-trigger {
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--dlsu-gradient) !important;
    color: #1f1f1f !important;
    padding: 0 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 420px) {
  .dlsu-single-add .quantity { --vivi-size: 38px !important; }
  .dlsu-single-add .quantity .vivi-qty-btn,
  .dlsu-single-add .quantity input.qty { width: 38px !important; height: 38px !important; min-width: 38px !important; }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button { font-size: 12px !important; padding: 0 14px !important; }
}

/* v1.2.7 — single product fine tuning + softer animated gradient */
.dlsu-single-title,
.dlsu-single-title > span {
  background-image: linear-gradient(115deg, #e77a19 0%, #FFA663 26%, #FFC294 48%, #e38a3c 66%, #d36702 84%, #FFA663 100%) !important;
  background-size: 280% 100% !important;
  animation: dlsuGradientWave 8.2s ease-in-out infinite !important;
}
.dlsu-stock > span {
  position: relative !important;
  width: 9px !important;
  height: 9px !important;
  box-shadow: 0 0 0 0 rgba(34,177,76,.42) !important;
  animation: dlsuStockPulseStrong 1.55s ease-out infinite !important;
}
.dlsu-stock > span::after {
  content: "" !important;
  position: absolute !important;
  inset: -4px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(34,177,76,.28) !important;
  animation: dlsuStockHalo 1.55s ease-out infinite !important;
}
@keyframes dlsuStockPulseStrong { 0% { box-shadow: 0 0 0 0 rgba(34,177,76,.46); } 70% { box-shadow: 0 0 0 12px rgba(34,177,76,0); } 100% { box-shadow: 0 0 0 0 rgba(34,177,76,0); } }
@keyframes dlsuStockHalo { 0% { transform: scale(.7); opacity: .85; } 80% { transform: scale(1.65); opacity: 0; } 100% { transform: scale(1.65); opacity: 0; } }
.dlsu-single-short { margin-bottom: 14px !important; }
.dlsu-single-buyline { margin: 4px 0 28px !important; gap: 26px !important; }
.dlsu-single-price { font-size: clamp(27px, 2vw, 32px) !important; line-height: 1 !important; }
.dlsu-single-actions { gap: 14px !important; }
.dlsu-single-add form.cart { gap: 9px !important; }
.dlsu-single-add .quantity { gap: 7px !important; }
.dlsu-single-add .quantity .vivi-qty-btn,
.dlsu-single-add .quantity input.qty {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
}
.dlsu-single-add .quantity input.qty { line-height: 40px !important; font-size: 13px !important; }
.dlsu-single-add button.single_add_to_cart_button,
.dlsu-single-add .single_add_to_cart_button,
.dlsu-single-add .button {
  min-height: 42px !important;
  height: 42px !important;
  min-width: 178px !important;
  padding: 0 24px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.dlsu-wishlist-btn.is-single {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  flex: 0 0 42px !important;
  margin-left: 4px !important;
}
.dlsu-wishlist-btn.is-single svg { width: 19px !important; height: 19px !important; }
.dlsu-single-reviews-native .form-submit input,
.dlsu-single-reviews-native button,
.dlsu-single-reviews-native input[type="submit"],
.dlsu-single-review-cta {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 24px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
@media (max-width: 420px) {
  .dlsu-single-add .quantity .vivi-qty-btn,
  .dlsu-single-add .quantity input.qty { width: 36px !important; height: 36px !important; min-width: 36px !important; }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button { height: 40px !important; min-height: 40px !important; font-size: 11px !important; }
}


/* v1.2.8 — mobile single product: prevent add-to-cart button overlap */
@media (max-width: 768px) {
  .dlsu-single-actions {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }
  .dlsu-single-add {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .dlsu-single-add form.cart {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  .dlsu-single-add .quantity {
    flex: 0 0 auto !important;
    gap: 6px !important;
  }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .dlsu-wishlist-btn.is-single {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 520px) {
  .dlsu-single-actions {
    display: grid !important;
    grid-template-columns: 1fr 40px !important;
    gap: 8px !important;
  }
  .dlsu-single-add form.cart {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .dlsu-single-add .quantity .vivi-qty-btn,
  .dlsu-single-add .quantity input.qty {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button {
    height: 40px !important;
    min-height: 40px !important;
    font-size: 10.5px !important;
    letter-spacing: .035em !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

@media (max-width: 380px) {
  .dlsu-single-add form.cart {
    grid-template-columns: 1fr !important;
  }
  .dlsu-single-add .quantity {
    justify-content: flex-start !important;
  }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button {
    width: 100% !important;
  }
}


/* v1.2.9 — iPhone SE compact product actions + hard left reset */
.dlsu-single-add button.single_add_to_cart_button,
.dlsu-single-add .single_add_to_cart_button,
.woocommerce div.product form.cart .button.single_add_to_cart_button {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  float: none !important;
}

@media (max-width: 420px) {
  .dlsu-single-wrap { padding-left: 14px !important; padding-right: 14px !important; }
  .dlsu-single-main-link { min-height: 300px !important; border-radius: 24px !important; }
  .dlsu-single-main-img { max-height: 285px !important; max-width: 86% !important; }
  .dlsu-single-topline { margin-bottom: 12px !important; gap: 8px 12px !important; font-size: 11px !important; }
  .dlsu-single-title { font-size: clamp(28px, 8.4vw, 34px) !important; line-height: 1.04 !important; }
  .dlsu-single-rating { margin-top: 6px !important; }
  .dlsu-single-short { margin-top: 14px !important; margin-bottom: 10px !important; font-size: 13px !important; }
  .dlsu-single-buyline { margin: 2px 0 22px !important; gap: 10px !important; }
  .dlsu-single-price { font-size: 27px !important; }
  .dlsu-single-actions {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    flex-wrap: nowrap !important;
  }
  .dlsu-single-add {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .dlsu-single-add form.cart {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  .dlsu-single-add .quantity { gap: 4px !important; flex: 0 0 auto !important; }
  .dlsu-single-add .quantity .vivi-qty-btn,
  .dlsu-single-add .quantity input.qty {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    line-height: 32px !important;
    font-size: 12px !important;
  }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button,
  .woocommerce div.product form.cart .button.single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 128px !important;
    max-width: none !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
    letter-spacing: .035em !important;
    line-height: 38px !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
  }
  .dlsu-wishlist-btn.is-single {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    margin-left: 0 !important;
  }
  .dlsu-wishlist-btn.is-single svg { width: 18px !important; height: 18px !important; }
  .dlsu-single-delivery { padding-top: 16px !important; gap: 8px !important; }
  .dlsu-single-delivery-title { font-size: 16px !important; margin-bottom: 2px !important; }
  .dlsu-single-delivery-row {
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 16px !important;
    gap: 10px !important;
    font-size: 12.5px !important;
  }
  .dlsu-delivery-icon {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }
  .dlsu-delivery-icon svg { width: 17px !important; height: 17px !important; }
}

@media (max-width: 360px) {
  .dlsu-single-add .quantity .vivi-qty-btn,
  .dlsu-single-add .quantity input.qty {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    line-height: 30px !important;
  }
  .dlsu-single-add button.single_add_to_cart_button,
  .dlsu-single-add .single_add_to_cart_button {
    min-width: 116px !important;
    font-size: 9.5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .dlsu-wishlist-btn.is-single {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-basis: 36px !important;
  }
  .dlsu-mobile-buybar { left: 8px !important; right: 8px !important; bottom: 8px !important; padding: 8px !important; gap: 8px !important; }
  .dlsu-mobile-buybar-price { font-size: 14px !important; padding-left: 8px !important; }
  .dlsu-mobile-add-trigger { min-height: 38px !important; padding: 0 14px !important; font-size: 11.5px !important; }
}

/* v1.3.3 — Caddy cart: soft DOLORES polish, not a full redesign */
body .cc-window,
body .cc-window * {
  box-sizing: border-box !important;
  font-family: "Montserrat", Sans-serif !important;
}

body .cc-overlay.cc-show {
  background: rgba(18,18,18,.50) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  backdrop-filter: blur(2px) !important;
}

body .cc-window {
  background: #fff !important;
  color: var(--dlsu-text) !important;
  box-shadow: none !important;
  border-left: 1px solid rgba(42,42,42,.08) !important;
}

body .cc-window-wrapper,
body .cc-cart-container,
body .cc-sfl-container {
  background: #fff !important;
}

body .cc-header {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(42,42,42,.08) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  backdrop-filter: blur(14px) saturate(160%) !important;
}

body .cc-header-bar {
  min-height: 62px !important;
  padding: 0 24px !important;
}

body .cc-header-title {
  color: var(--dlsu-text) !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: -.03em !important;
}

body .cc-header-back,
body .cc-icon-nav,
body .cc-remove-item {
  color: var(--dlsu-text) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: color .16s ease, background .16s ease, transform .16s ease !important;
}

body .cc-header-back:hover,
body .cc-icon-nav:hover,
body .cc-remove-item:hover {
  color: var(--dlsu-accent) !important;
  background: rgba(255,166,99,.10) !important;
}

body .cc-body-container,
body .cc-body {
  background: #fff !important;
}

body .cc-row.cc-cart-items {
  padding: 18px 26px 12px !important;
}

body .cc-cart-product-list,
body .cc-cart-item {
  border-bottom: 1px solid rgba(42,42,42,.08) !important;
  padding: 20px 0 !important;
  margin: 0 !important;
  background: #fff !important;
}

body .cc-cart-product {
  display: grid !important;
  grid-template-columns: 112px minmax(0,1fr) !important;
  gap: 22px !important;
  align-items: start !important;
  text-align: left !important;
}

body .cc-product-thumb {
  width: 112px !important;
  height: 112px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(42,42,42,.06) !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

body .cc-product-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

body .cc_item_content,
body .cc-item-content-top,
body .cc-item-content-bottom {
  min-width: 0 !important;
}

body .cc-item-content-top {
  gap: 18px !important;
}

body .cc_item_title > a,
body .cc_item_title .cc-product-link {
  color: var(--dlsu-text) !important;
  text-decoration: none !important;
  font-size: 16px !important;
  line-height: 1.28 !important;
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
}

body .cc_item_title > a:hover,
body .cc_item_title .cc-product-link:hover {
  color: var(--dlsu-accent) !important;
}

body .cc_item_variation,
body .cc_sfl_btn .save_for_later_btn,
body .cc-subtotal-subtext {
  color: rgba(42,42,42,.55) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

body .cc_item_total_price .price,
body .cc-total-amount {
  color: var(--dlsu-text) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
}

body .cc_item_total_price del,
body .cc-sale-price-wrapper del {
  color: rgba(42,42,42,.35) !important;
  text-decoration-thickness: 1px !important;
}

body .cc_saved_amount {
  color: #1f8d5a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
}

body .cc_item_quantity_wrap {
  min-height: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(42,42,42,.12) !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 14px !important;
}

body .cc_item_quantity_update,
body .cc_item_quantity {
  width: 40px !important;
  height: 34px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--dlsu-text) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 550 !important;
}

body .cc_item_quantity_update:hover {
  color: var(--dlsu-accent) !important;
  background: rgba(255,166,99,.10) !important;
}

body .cc_item_quantity_update.cc-qty-disabled {
  color: rgba(42,42,42,.28) !important;
  background: transparent !important;
}

body .cc_sfl_btn .button,
body .cc_sfl_btn .save_for_later_btn {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: -.02em !important;
}
body .cc_sfl_btn .button:hover,
body .cc_sfl_btn .save_for_later_btn:hover { color: var(--dlsu-accent) !important; }

body .cc-cart-actions {
  background: rgba(255,255,255,.98) !important;
  border-top: 1px solid rgba(42,42,42,.08) !important;
  padding: 18px 26px 18px !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  backdrop-filter: blur(14px) saturate(160%) !important;
}

body .cc-coupon-title {
  color: var(--dlsu-text) !important;
  font-size: 14px !important;
  font-weight: 450 !important;
  letter-spacing: -.02em !important;
  text-decoration: none !important;
  padding: 12px 0 !important;
}

body .cc-coupon-title:hover { color: var(--dlsu-accent) !important; }
body .cc-coupon-title svg { width: 16px !important; height: 16px !important; }

body .cc-coupon-form input[type="text"],
body #cc_coupon_code {
  height: 44px !important;
  border: 1px solid rgba(42,42,42,.11) !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  box-shadow: none !important;
  outline: none !important;
}

body .cc-button-sm,
body .cc-coupon-btn,
body .cc-button,
body .cc-button-primary {
  border-radius: 999px !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
}

body .cc-button-primary,
body .cc-button.cc-button-primary,
body .cc-coupon-btn {
  background-image: var(--dlsu-gradient) !important;
  background-color: transparent !important;
  color: #1f1b18 !important;
}

body .cc-button-primary:hover,
body .cc-button.cc-button-primary:hover,
body .cc-coupon-btn:hover {
  filter: brightness(.99) saturate(1.02) !important;
  transform: translateY(-1px) !important;
}

body .cc-total-box {
  border-top: 1px solid rgba(42,42,42,.08) !important;
  padding-top: 14px !important;
}

body .cc-total-text {
  color: var(--dlsu-text) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
}

body .cc-poweredby {
  color: rgba(42,42,42,.35) !important;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding-bottom: 10px !important;
}

body .cc-empty-msg {
  padding: 42px 24px !important;
}
body .cc-empty-msg .cc-title {
  color: var(--dlsu-text) !important;
  font-weight: 650 !important;
  letter-spacing: -.035em !important;
}

@media (max-width: 768px) {
  body .cc-window {
    width: min(100vw, 430px) !important;
  }
  body .cc-header-bar { min-height: 58px !important; padding: 0 18px !important; }
  body .cc-row.cc-cart-items { padding: 14px 18px 8px !important; }
  body .cc-cart-product {
    grid-template-columns: 84px minmax(0,1fr) !important;
    gap: 14px !important;
  }
  body .cc-product-thumb { width: 84px !important; height: 84px !important; border-radius: 14px !important; }
  body .cc_item_title > a,
  body .cc_item_title .cc-product-link { font-size: 14px !important; line-height: 1.26 !important; }
  body .cc_item_total_price .price { font-size: 13px !important; }
  body .cc-cart-actions { padding: 14px 18px 16px !important; }
}


/* v1.3.4 — Caddy compact DOLORES polish + accent override */
body,
body .cc-window,
body .cc-window-wrapper,
body .cc-cart-container,
body .cc-sfl-container {
  --cc-primary: #FFA663 !important;
  --cc-accent: #D36702 !important;
  --cc-button-bg: #FFA663 !important;
  --cc-button-color: #1f1b18 !important;
}

body .cc-overlay.cc-show {
  background: rgba(255,255,255,.68) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 768px) {
  body .cc-overlay.cc-show {
    background: rgba(255,255,255,.54) !important;
    -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
    backdrop-filter: blur(12px) saturate(160%) !important;
  }
}

body .cc-window {
  border-left: 1px solid rgba(42,42,42,.07) !important;
}

body .cc-header-bar {
  min-height: 58px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

body .cc-row.cc-cart-items {
  padding: 14px 22px 8px !important;
}

body .cc-cart-product-list,
body .cc-cart-item {
  padding: 15px 0 !important;
}

body .cc-cart-product {
  grid-template-columns: 88px minmax(0,1fr) !important;
  gap: 16px !important;
}

body .cc-product-thumb {
  width: 88px !important;
  height: 88px !important;
  border-radius: 14px !important;
}

body .cc_item_title > a,
body .cc_item_title .cc-product-link {
  font-size: 14.5px !important;
  line-height: 1.28 !important;
  font-weight: 650 !important;
}

body .cc_item_total_price .price,
body .cc-total-amount {
  font-size: 14px !important;
}

body .cc_item_quantity_wrap {
  margin-top: 10px !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 11px !important;
}

body .cc_item_quantity_update,
body .cc_item_quantity {
  height: 32px !important;
  min-height: 32px !important;
  width: 36px !important;
}

body .cc-cart-actions {
  padding: 15px 22px 16px !important;
}

body .cc-button-primary,
body .cc-button.cc-button-primary,
body .cc-coupon-btn,
body .cc-window .cc-checkout,
body .cc-window .checkout-button,
body .cc-window button[type="submit"],
body .cc-window .button-primary {
  background-image: var(--dlsu-gradient, linear-gradient(122deg, #FFA663 0%, #FFC294 91%)) !important;
  background-color: #FFA663 !important;
  color: #1f1b18 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body .cc-button-primary:hover,
body .cc-button.cc-button-primary:hover,
body .cc-coupon-btn:hover,
body .cc-window .cc-checkout:hover,
body .cc-window .checkout-button:hover,
body .cc-window button[type="submit"]:hover,
body .cc-window .button-primary:hover {
  background-image: var(--dlsu-gradient, linear-gradient(122deg, #FFA663 0%, #FFC294 91%)) !important;
  background-color: #FFA663 !important;
  color: #1f1b18 !important;
  filter: saturate(1.02) brightness(.995) !important;
  transform: none !important;
}

body .cc-window a:hover,
body .cc-window button:hover,
body .cc-window .cc-icon-nav:hover,
body .cc-window .cc-remove-item:hover {
  color: var(--dlsu-accent, #D36702) !important;
}

@media (max-width: 768px) {
  body .cc-window {
    width: min(100vw, 430px) !important;
  }
  body .cc-header-bar {
    min-height: 54px !important;
    padding: 0 16px !important;
  }
  body .cc-header-title {
    font-size: 16px !important;
  }
  body .cc-row.cc-cart-items {
    padding: 11px 16px 6px !important;
  }
  body .cc-cart-product-list,
  body .cc-cart-item {
    padding: 12px 0 !important;
  }
  body .cc-cart-product {
    grid-template-columns: 68px minmax(0,1fr) !important;
    gap: 12px !important;
  }
  body .cc-product-thumb {
    width: 68px !important;
    height: 68px !important;
    border-radius: 12px !important;
  }
  body .cc_item_title > a,
  body .cc_item_title .cc-product-link {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
  }
  body .cc_item_total_price .price,
  body .cc-total-amount {
    font-size: 13px !important;
  }
  body .cc_item_variation,
  body .cc_sfl_btn .save_for_later_btn,
  body .cc-subtotal-subtext {
    font-size: 11.5px !important;
  }
  body .cc_item_quantity_wrap {
    margin-top: 8px !important;
    height: 30px !important;
    min-height: 30px !important;
  }
  body .cc_item_quantity_update,
  body .cc_item_quantity {
    height: 30px !important;
    min-height: 30px !important;
    width: 32px !important;
    font-size: 13px !important;
  }
  body .cc-cart-actions {
    padding: 12px 16px 14px !important;
  }
  body .cc-button-primary,
  body .cc-button.cc-button-primary,
  body .cc-coupon-btn,
  body .cc-window .cc-checkout,
  body .cc-window .checkout-button,
  body .cc-window button[type="submit"],
  body .cc-window .button-primary {
    min-height: 48px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
  }
}


/* v1.3.9 — product archive image fit fix
   Tall product photos must fit inside product cards without cropping or distortion. */
.dlsu-card-media,
.dolores-wc-archive .dlsu-card-media {
  height: 250px !important;
  max-height: 250px !important;
  overflow: hidden !important;
}

.dlsu-products.view-4 .dlsu-card-media {
  height: 218px !important;
  max-height: 218px !important;
}

.dlsu-image-link,
.dlsu-card-media > a {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.dlsu-card-media img,
.dlsu-card-media .wp-post-image,
.dlsu-card-media .dlsu-product-card-img {
  display: block !important;
  flex: 0 1 auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
  transform: none !important;
}

/* Safety net for default WooCommerce archive cards if a page uses the standard Woo loop instead of [dolores_product_archive]. */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link img {
  display: block !important;
  width: 100% !important;
  height: 240px !important;
  max-height: 240px !important;
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
  background: #fff !important;
}

.woocommerce ul.products.columns-4 li.product a img,
.woocommerce-page ul.products.columns-4 li.product a img {
  height: 218px !important;
  max-height: 218px !important;
}

.dlsu-products.view-list .dlsu-card-media {
  height: 100% !important;
  max-height: none !important;
  min-height: 210px !important;
}

@media (max-width: 1400px) {
  .dlsu-card-media,
  .dolores-wc-archive .dlsu-card-media {
    height: 238px !important;
    max-height: 238px !important;
  }
}

@media (max-width: 768px) {
  .dlsu-card-media,
  .dolores-wc-archive .dlsu-card-media {
    height: 158px !important;
    max-height: 158px !important;
  }

  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img,
  .woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
  .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link img {
    height: 158px !important;
    max-height: 158px !important;
  }

  .dlsu-products.view-list .dlsu-card-media {
    height: 126px !important;
    max-height: 126px !important;
    min-height: 126px !important;
  }
}

@media (max-width: 430px) {
  .dlsu-card-media,
  .dolores-wc-archive .dlsu-card-media {
    height: 140px !important;
    max-height: 140px !important;
  }

  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img,
  .woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
  .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link img {
    height: 140px !important;
    max-height: 140px !important;
  }
}
