/* DLS Shop Designer — scoped WooCommerce art direction */
.dls-sd{
  --dls-shadow:0 18px 50px rgba(18,35,28,.10);
  --dls-shadow-hover:0 26px 70px rgba(18,35,28,.16);
  --dls-gap:30px;
  --dls-pad:26px;
  --dls-line:1px solid var(--dls-border);
  --dls-transition:280ms cubic-bezier(.2,.65,.25,1);
}
.dls-sd.dls-spacing-compact{--dls-gap:16px;--dls-pad:18px}
.dls-sd.dls-spacing-balanced{--dls-gap:24px;--dls-pad:22px}
.dls-sd.dls-spacing-airy{--dls-gap:34px;--dls-pad:28px}
.dls-sd.dls-shadow-none{--dls-shadow:none;--dls-shadow-hover:none}
.dls-sd.dls-shadow-soft{--dls-shadow:0 14px 38px rgba(18,35,28,.08);--dls-shadow-hover:0 24px 55px rgba(18,35,28,.13)}
.dls-sd.dls-shadow-medium{--dls-shadow:0 18px 48px rgba(18,35,28,.13);--dls-shadow-hover:0 28px 68px rgba(18,35,28,.18)}
.dls-sd.dls-shadow-dramatic{--dls-shadow:0 22px 70px rgba(0,0,0,.20);--dls-shadow-hover:0 34px 86px rgba(0,0,0,.28)}

.dls-sd .woocommerce,
.dls-sd.woocommerce .site-main,
.dls-sd.woocommerce-page .site-main{
  font-family:var(--dls-body-font);
  color:var(--dls-text);
}
.dls-sd .woocommerce h1,.dls-sd .woocommerce h2,.dls-sd .woocommerce h3,.dls-sd .woocommerce h4,
.dls-sd.woocommerce h1.product_title,.dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--dls-heading-font);
}
.dls-sd .woocommerce a{transition:color var(--dls-transition),opacity var(--dls-transition),transform var(--dls-transition),background var(--dls-transition),border-color var(--dls-transition),box-shadow var(--dls-transition)}
.dls-sd .woocommerce .woocommerce-breadcrumb{color:var(--dls-muted);font-size:.84rem;letter-spacing:.04em;margin-bottom:28px}
.dls-sd .woocommerce .woocommerce-breadcrumb a{color:inherit;text-decoration:none}
.dls-sd .woocommerce .woocommerce-breadcrumb a:hover{color:var(--dls-accent)}
.dls-sd .woocommerce .woocommerce-result-count,.dls-sd .woocommerce .woocommerce-ordering{color:var(--dls-muted)}

/* content width without forcing themes that already constrain inner wrappers */
.dls-sd.woocommerce .site-main>.woocommerce,
.dls-sd.woocommerce-page .site-main>.woocommerce,
.dls-sd .woocommerce-page .site-main>.woocommerce{
  width:min(100%,var(--dls-max));
  margin-left:auto;
  margin-right:auto;
}

/* Inputs and selects */
.dls-sd .woocommerce input[type="text"],.dls-sd .woocommerce input[type="email"],.dls-sd .woocommerce input[type="tel"],
.dls-sd .woocommerce input[type="number"],.dls-sd .woocommerce textarea,.dls-sd .woocommerce select,
.dls-sd.woocommerce div.product form.cart .variations select{
  border:1px solid var(--dls-border);
  border-radius:calc(var(--dls-radius) * .52);
  background:var(--dls-bg);
  color:var(--dls-text);
  min-height:44px;
  padding:10px 14px;
  outline:none;
  box-shadow:none;
  transition:border-color var(--dls-transition),box-shadow var(--dls-transition),background var(--dls-transition);
}
.dls-sd .woocommerce input:focus,.dls-sd .woocommerce textarea:focus,.dls-sd .woocommerce select:focus{
  border-color:var(--dls-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dls-accent) 16%,transparent);
}

/* Buttons — no text replacement, only native Woo labels */
.dls-sd .woocommerce a.button,.dls-sd .woocommerce button.button,.dls-sd .woocommerce input.button,
.dls-sd.woocommerce a.button,.dls-sd.woocommerce button.button,.dls-sd.woocommerce input.button,
.dls-sd .wc-block-components-button{
  min-height:46px;
  padding:13px 22px;
  border-radius:calc(var(--dls-radius) * .55);
  border:1px solid var(--dls-accent-2);
  background:var(--dls-accent-2);
  color:#fff;
  font-family:var(--dls-body-font);
  font-weight:650;
  letter-spacing:.055em;
  text-transform:none;
  box-shadow:none;
  transition:transform var(--dls-transition),box-shadow var(--dls-transition),background var(--dls-transition),color var(--dls-transition),border-color var(--dls-transition);
}
.dls-sd .woocommerce a.button:hover,.dls-sd .woocommerce button.button:hover,.dls-sd .woocommerce input.button:hover,
.dls-sd .wc-block-components-button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px color-mix(in srgb,var(--dls-accent-2) 20%,transparent);
  background:var(--dls-accent);
  border-color:var(--dls-accent);
  color:#fff;
}
.dls-sd.dls-button-outline .woocommerce a.button,.dls-sd.dls-button-outline .woocommerce button.button,.dls-sd.dls-button-outline .woocommerce input.button,.dls-sd.dls-button-outline .wc-block-components-button{
  background:transparent;color:var(--dls-accent-2);border-color:var(--dls-accent-2)
}
.dls-sd.dls-button-outline .woocommerce a.button:hover,.dls-sd.dls-button-outline .woocommerce button.button:hover,.dls-sd.dls-button-outline .woocommerce input.button:hover,.dls-sd.dls-button-outline .wc-block-components-button:hover{background:var(--dls-accent-2);color:#fff}
.dls-sd.dls-button-soft .woocommerce a.button,.dls-sd.dls-button-soft .woocommerce button.button,.dls-sd.dls-button-soft .woocommerce input.button,.dls-sd.dls-button-soft .wc-block-components-button{background:color-mix(in srgb,var(--dls-accent) 14%,var(--dls-bg));border-color:transparent;color:var(--dls-accent-2)}
.dls-sd.dls-button-soft .woocommerce a.button:hover,.dls-sd.dls-button-soft .woocommerce button.button:hover,.dls-sd.dls-button-soft .woocommerce input.button:hover,.dls-sd.dls-button-soft .wc-block-components-button:hover{background:var(--dls-accent-2);color:#fff}
.dls-sd.dls-button-pill .woocommerce a.button,.dls-sd.dls-button-pill .woocommerce button.button,.dls-sd.dls-button-pill .woocommerce input.button,.dls-sd.dls-button-pill .wc-block-components-button{border-radius:999px}

/* Notices */
.dls-sd .woocommerce-message,.dls-sd .woocommerce-info,.dls-sd .woocommerce-error{
  border:1px solid var(--dls-border);border-left:4px solid var(--dls-accent);background:var(--dls-surface);color:var(--dls-text);border-radius:var(--dls-radius);padding:18px 22px;box-shadow:var(--dls-shadow)
}

/* ===== CATALOG ===== */
.dls-sd.woocommerce ul.products,.dls-sd .woocommerce ul.products,.dls-sd .wc-block-grid__products,
.dls-sd .wp-block-woocommerce-product-template{
  display:grid!important;
  grid-template-columns:repeat(var(--dls-cols),minmax(0,1fr));
  gap:var(--dls-gap)!important;
  margin:30px 0 50px!important;
}
.dls-sd.woocommerce ul.products::before,.dls-sd.woocommerce ul.products::after,
.dls-sd .woocommerce ul.products::before,.dls-sd .woocommerce ul.products::after{display:none!important}
.dls-sd.woocommerce ul.products li.product,.dls-sd .woocommerce ul.products li.product,
.dls-sd .wc-block-grid__product,.dls-sd .wp-block-woocommerce-product-template>.wc-block-product{
  width:auto!important;float:none!important;margin:0!important;
  position:relative;
  padding:0 0 var(--dls-pad)!important;
  border:1px solid transparent;
  border-radius:var(--dls-radius);
  background:var(--dls-bg);
  overflow:hidden;
  transition:transform var(--dls-transition),box-shadow var(--dls-transition),border-color var(--dls-transition),background var(--dls-transition);
  isolation:isolate;
}
.dls-sd.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link,
.dls-sd .woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:block;text-decoration:none}
.dls-sd.woocommerce ul.products li.product img,.dls-sd .woocommerce ul.products li.product img,
.dls-sd .wc-block-grid__product-image img,.dls-sd .wc-block-components-product-image img,
.dls-sd .wp-block-woocommerce-product-template .wc-block-components-product-image img{
  width:100%;
  aspect-ratio:var(--dls-ratio);
  object-fit:var(--dls-fit);
  display:block;
  margin:0 0 20px!important;
  border-radius:var(--dls-image-radius);
  background:var(--dls-surface);
  transition:transform 520ms cubic-bezier(.2,.65,.25,1),filter 420ms ease,opacity 420ms ease;
}
.dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title,
.dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
.dls-sd .wc-block-components-product-title,.dls-sd .wc-block-grid__product-title{
  color:var(--dls-text);font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.22;font-weight:500;padding:0 var(--dls-pad)!important;margin:2px 0 10px!important;letter-spacing:.01em;text-wrap:balance
}
.dls-sd.woocommerce ul.products li.product .price,.dls-sd .woocommerce ul.products li.product .price,
.dls-sd .wc-block-components-product-price,.dls-sd .wc-block-grid__product-price{
  display:inline-flex;gap:8px;align-items:center;color:var(--dls-accent-2)!important;font-weight:700;font-size:1rem;margin:0 var(--dls-pad) 14px!important
}
.dls-sd.woocommerce ul.products li.product .price del,.dls-sd .woocommerce ul.products li.product .price del{color:var(--dls-muted);opacity:.6}
.dls-sd.woocommerce ul.products li.product .price ins,.dls-sd .woocommerce ul.products li.product .price ins{text-decoration:none}
.dls-sd.woocommerce ul.products li.product .button,.dls-sd .woocommerce ul.products li.product .button,
.dls-sd .wc-block-grid__product-add-to-cart .wp-block-button__link,
.dls-sd .wp-block-woocommerce-product-template .wp-block-button__link{
  margin:6px var(--dls-pad) 0!important;width:calc(100% - (var(--dls-pad) * 2));text-align:center;display:flex;align-items:center;justify-content:center
}
.dls-sd.dls-align-center.woocommerce ul.products li.product,.dls-sd.dls-align-center .woocommerce ul.products li.product,
.dls-sd.dls-align-center .wc-block-grid__product{text-align:center}
.dls-sd.dls-align-center.woocommerce ul.products li.product .price,.dls-sd.dls-align-center .woocommerce ul.products li.product .price{justify-content:center}

/* Hover modes */
.dls-sd.dls-motion.dls-hover-lift.woocommerce ul.products li.product:hover,.dls-sd.dls-motion.dls-hover-lift .woocommerce ul.products li.product:hover,
.dls-sd.dls-motion.dls-hover-lift_zoom.woocommerce ul.products li.product:hover,.dls-sd.dls-motion.dls-hover-lift_zoom .woocommerce ul.products li.product:hover{transform:translateY(-7px);box-shadow:var(--dls-shadow-hover)}
.dls-sd.dls-motion.dls-hover-zoom.woocommerce ul.products li.product:hover img,.dls-sd.dls-motion.dls-hover-zoom .woocommerce ul.products li.product:hover img,
.dls-sd.dls-motion.dls-hover-lift_zoom.woocommerce ul.products li.product:hover img,.dls-sd.dls-motion.dls-hover-lift_zoom .woocommerce ul.products li.product:hover img{transform:scale(1.035)}
.dls-sd.dls-motion.dls-hover-fade.woocommerce ul.products li.product:hover img,.dls-sd.dls-motion.dls-hover-fade .woocommerce ul.products li.product:hover img{opacity:.85;filter:saturate(.82)}

/* Sale badges */
.dls-sd.woocommerce span.onsale,.dls-sd .woocommerce span.onsale,.dls-sd .wc-block-components-product-sale-badge{
  z-index:4;top:14px!important;left:14px!important;right:auto!important;min-width:0!important;min-height:0!important;line-height:1!important;padding:10px 12px!important;border:1px solid color-mix(in srgb,var(--dls-accent) 55%,transparent);border-radius:999px;background:var(--dls-accent-2)!important;color:#fff!important;font-size:.72rem;font-weight:700;letter-spacing:.06em;box-shadow:0 6px 16px rgba(0,0,0,.12)
}
.dls-sd.dls-badge-minimal.woocommerce span.onsale,.dls-sd.dls-badge-minimal .woocommerce span.onsale{background:var(--dls-bg)!important;color:var(--dls-accent-2)!important;border:1px solid var(--dls-border);box-shadow:none;border-radius:8px}
.dls-sd.dls-badge-ribbon.woocommerce span.onsale,.dls-sd.dls-badge-ribbon .woocommerce span.onsale{border-radius:0 999px 999px 0;left:0!important;padding-left:16px!important}
.dls-sd.dls-badge-dot.woocommerce span.onsale,.dls-sd.dls-badge-dot .woocommerce span.onsale{border-radius:50%;width:58px;height:58px;display:flex;align-items:center;justify-content:center;padding:7px!important;text-align:center}

/* Price treatments */
.dls-sd.dls-price-pill.woocommerce ul.products li.product .price,.dls-sd.dls-price-pill .woocommerce ul.products li.product .price,
.dls-sd.dls-price-pill.woocommerce div.product p.price,.dls-sd.dls-price-pill.woocommerce div.product span.price{
  background:color-mix(in srgb,var(--dls-accent) 12%,var(--dls-bg));padding:8px 12px;border-radius:999px
}
.dls-sd.dls-price-underline.woocommerce ul.products li.product .price,.dls-sd.dls-price-underline .woocommerce ul.products li.product .price,
.dls-sd.dls-price-underline.woocommerce div.product p.price,.dls-sd.dls-price-underline.woocommerce div.product span.price{border-bottom:2px solid var(--dls-accent);padding-bottom:5px}

/* ===== SINGLE PRODUCT ===== */
.dls-sd.single-product .woocommerce div.product{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:clamp(38px,6vw,92px);
  align-items:start;
}
.dls-sd.single-product .woocommerce div.product .woocommerce-product-gallery,
.dls-sd.single-product .woocommerce div.product .summary{float:none!important;width:auto!important;margin:0!important}
.dls-sd.single-product .woocommerce div.product .woocommerce-product-gallery{position:relative}
.dls-sd.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper{margin:0}
.dls-sd.single-product .woocommerce div.product .woocommerce-product-gallery__image img{
  width:100%;height:auto;border-radius:var(--dls-image-radius);background:var(--dls-surface);box-shadow:var(--dls-shadow)
}
.dls-sd.single-product .woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;padding:0;list-style:none}
.dls-sd.single-product .woocommerce div.product .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.dls-sd.single-product .woocommerce div.product .flex-control-thumbs img{border-radius:calc(var(--dls-image-radius) * .55);border:1px solid var(--dls-border);opacity:.72;transition:opacity var(--dls-transition),transform var(--dls-transition),border-color var(--dls-transition)}
.dls-sd.single-product .woocommerce div.product .flex-control-thumbs img.flex-active,.dls-sd.single-product .woocommerce div.product .flex-control-thumbs img:hover{opacity:1;border-color:var(--dls-accent);transform:translateY(-2px)}
.dls-sd.single-product .woocommerce div.product .summary{padding:0}
.dls-sd.single-product.dls-summary-panel .woocommerce div.product .summary,
.dls-sd.single-product.dls-summary-bordered .woocommerce div.product .summary,
.dls-sd.single-product.dls-summary-glass .woocommerce div.product .summary{
  padding:clamp(24px,3.4vw,42px);border-radius:var(--dls-radius)
}
.dls-sd.single-product.dls-summary-panel .woocommerce div.product .summary{background:var(--dls-surface);box-shadow:var(--dls-shadow)}
.dls-sd.single-product.dls-summary-bordered .woocommerce div.product .summary{border:1px solid var(--dls-border);background:var(--dls-bg)}
.dls-sd.single-product.dls-summary-glass .woocommerce div.product .summary{background:color-mix(in srgb,var(--dls-bg) 78%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--dls-border) 70%,transparent);box-shadow:var(--dls-shadow)}
.dls-sd.single-product.dls-product-sticky .woocommerce div.product .summary{position:sticky;top:32px}
.dls-sd.single-product .woocommerce div.product .product_title{font-size:clamp(2rem,4vw,4.4rem);line-height:.98;letter-spacing:-.025em;font-weight:500;margin:0 0 20px;color:var(--dls-text);text-wrap:balance}
.dls-sd.single-product .woocommerce div.product p.price,.dls-sd.single-product .woocommerce div.product span.price{color:var(--dls-accent-2);font-size:clamp(1.35rem,2vw,1.9rem);font-weight:700;margin-bottom:22px;display:inline-flex;gap:10px;align-items:center}
.dls-sd.single-product .woocommerce div.product .woocommerce-product-details__short-description{font-size:1.03rem;line-height:1.8;color:var(--dls-muted);margin-bottom:24px}
.dls-sd.single-product .woocommerce div.product form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin:26px 0}
.dls-sd.single-product .woocommerce div.product form.cart .quantity .qty{height:100%;min-height:48px;min-width:82px;text-align:center}
.dls-sd.single-product .woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-width:200px}
.dls-sd.single-product .woocommerce div.product form.cart.variations_form{display:block}
.dls-sd.single-product .woocommerce div.product form.cart .variations{width:100%;margin-bottom:18px;border-collapse:separate;border-spacing:0 10px}
.dls-sd.single-product .woocommerce div.product form.cart .variations td,.dls-sd.single-product .woocommerce div.product form.cart .variations th{padding:0 10px 0 0;background:none;border:none}
.dls-sd.single-product .woocommerce div.product .product_meta{border-top:1px solid var(--dls-border);padding-top:18px;color:var(--dls-muted);font-size:.84rem;line-height:1.8}
.dls-sd.single-product .woocommerce div.product .product_meta a{color:var(--dls-accent-2)}

/* Gallery modes */
.dls-sd.single-product.dls-gallery-edge .woocommerce div.product .woocommerce-product-gallery__image img{border-radius:0;box-shadow:none}
.dls-sd.single-product.dls-gallery-gallery_wall .woocommerce div.product .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dls-sd.single-product.dls-gallery-gallery_wall .woocommerce div.product .woocommerce-product-gallery__image{width:auto!important;float:none!important}
.dls-sd.single-product.dls-gallery-gallery_wall .woocommerce div.product .woocommerce-product-gallery__image:first-child{grid-column:1/-1}
.dls-sd.single-product.dls-gallery-soft_arch .woocommerce div.product .woocommerce-product-gallery__image img{border-radius:48% 48% var(--dls-image-radius) var(--dls-image-radius) / 18% 18% var(--dls-image-radius) var(--dls-image-radius)}

/* Tabs and long content */
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs,
.dls-sd.single-product .woocommerce div.product .related,.dls-sd.single-product .woocommerce div.product .upsells{
  grid-column:1/-1;
}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs{margin-top:clamp(24px,5vw,70px);padding-top:30px;border-top:1px solid var(--dls-border)}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0!important;margin:0 0 30px!important;border:0!important}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none!important}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:10px 15px;color:var(--dls-muted);font-weight:650;text-decoration:none}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--dls-accent-2)}
.dls-sd.single-product.dls-tabs-pills .woocommerce div.product .woocommerce-tabs ul.tabs li a{border:1px solid var(--dls-border);border-radius:999px}
.dls-sd.single-product.dls-tabs-pills .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{background:var(--dls-accent-2);color:#fff;border-color:var(--dls-accent-2)}
.dls-sd.single-product.dls-tabs-underline .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.dls-sd.single-product.dls-tabs-editorial .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{border-bottom:2px solid var(--dls-accent)}
.dls-sd.single-product.dls-tabs-accordion_feel .woocommerce div.product .woocommerce-tabs ul.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.dls-sd.single-product.dls-tabs-accordion_feel .woocommerce div.product .woocommerce-tabs ul.tabs li a{border:1px solid var(--dls-border);border-radius:calc(var(--dls-radius) * .6)}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs .panel{color:var(--dls-text);line-height:1.8}
.dls-sd.single-product .woocommerce div.product .woocommerce-tabs .panel h2,.dls-sd.single-product .woocommerce div.product .woocommerce-tabs .panel h3{font-weight:500;color:var(--dls-text);margin-top:1.5em}

/* ===== CART classic + blocks ===== */
.dls-sd.woocommerce-cart .woocommerce{max-width:var(--dls-max);margin-inline:auto}
.dls-sd.woocommerce-cart .woocommerce-cart-form,.dls-sd.woocommerce-cart .cart-collaterals,
.dls-sd .wc-block-cart__main,.dls-sd .wc-block-cart__sidebar{min-width:0}
.dls-sd.woocommerce-cart.dls-cart-split .woocommerce{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.72fr);gap:var(--dls-gap);align-items:start}
.dls-sd.woocommerce-cart.dls-cart-split .woocommerce>h1,.dls-sd.woocommerce-cart.dls-cart-split .woocommerce>.woocommerce-notices-wrapper,.dls-sd.woocommerce-cart.dls-cart-split .woocommerce>.return-to-shop{grid-column:1/-1}
.dls-sd.woocommerce-cart.dls-cart-split .woocommerce .cart-collaterals{grid-column:2;grid-row:2/span 4}
.dls-sd.woocommerce-cart table.shop_table{border:1px solid var(--dls-border)!important;border-radius:var(--dls-radius)!important;overflow:hidden;border-collapse:separate!important;border-spacing:0;background:var(--dls-bg);box-shadow:var(--dls-shadow)}
.dls-sd.woocommerce-cart table.shop_table th{color:var(--dls-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;border-color:var(--dls-border)!important;background:var(--dls-surface)}
.dls-sd.woocommerce-cart table.shop_table td{border-color:var(--dls-border)!important;padding:18px 14px!important;vertical-align:middle}
.dls-sd.woocommerce-cart table.shop_table td.product-thumbnail img{width:82px;border-radius:calc(var(--dls-image-radius) * .5)}
.dls-sd.woocommerce-cart table.shop_table td.product-name a{color:var(--dls-text);font-family:var(--dls-heading-font);font-size:1.05rem;text-decoration:none}
.dls-sd.woocommerce-cart .cart-collaterals .cart_totals{float:none!important;width:auto!important;background:var(--dls-surface);border:1px solid var(--dls-border);border-radius:var(--dls-radius);padding:var(--dls-pad);box-shadow:var(--dls-shadow)}
.dls-sd.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:1.5rem;font-weight:500;margin-top:0;color:var(--dls-text)}
.dls-sd.woocommerce-cart.dls-cart-totals-sticky .cart-collaterals .cart_totals{position:sticky;top:30px}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table{border:0!important;background:transparent;box-shadow:none}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table thead{display:none}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tbody{display:grid;gap:14px}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr.woocommerce-cart-form__cart-item{display:grid;grid-template-columns:100px minmax(0,1fr) auto auto auto;gap:16px;align-items:center;background:var(--dls-bg);border:1px solid var(--dls-border);border-radius:var(--dls-radius);padding:14px;box-shadow:var(--dls-shadow)}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table td{border:0!important;padding:0!important}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr:not(.woocommerce-cart-form__cart-item){background:transparent}

/* Cart blocks */
.dls-sd .wc-block-cart{gap:var(--dls-gap)}
.dls-sd .wc-block-cart-items{border-collapse:separate;border-spacing:0 12px}
.dls-sd .wc-block-cart-items .wc-block-cart-items__row{background:var(--dls-bg)}
.dls-sd .wc-block-cart-items .wc-block-components-product-image img{border-radius:calc(var(--dls-image-radius) * .6)}
.dls-sd .wc-block-cart__sidebar{background:var(--dls-surface);border:1px solid var(--dls-border);border-radius:var(--dls-radius);padding:var(--dls-pad);box-shadow:var(--dls-shadow)}
.dls-sd.dls-cart-totals-sticky .wc-block-cart__sidebar{position:sticky;top:30px;align-self:start}

/* Mini cart classic + blocks */
.dls-sd .widget_shopping_cart_content,.dls-sd .wc-block-mini-cart__drawer .wc-block-mini-cart__items{
  color:var(--dls-text)
}
.dls-sd .widget_shopping_cart_content .woocommerce-mini-cart-item{padding:14px 0;border-bottom:1px solid var(--dls-border)}
.dls-sd .widget_shopping_cart_content .woocommerce-mini-cart-item img{border-radius:10px}
.dls-sd .widget_shopping_cart_content .woocommerce-mini-cart__total{border-top:1px solid var(--dls-border);padding-top:14px}

/* ===== 5 ART DIRECTIONS ===== */
/* 1 Botanical Editorial — closest to current Dreadlockshop visual language */
.dls-sd.dls-layer-botanical_editorial{
  --dls-layer-accent:var(--dls-accent);
}
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product,.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product{
  background:linear-gradient(180deg,var(--dls-bg),color-mix(in srgb,var(--dls-surface) 52%,var(--dls-bg)));
  border-color:color-mix(in srgb,var(--dls-border) 65%,transparent)
}
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product:nth-child(3n+2) img,.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product:nth-child(3n+2) img{border-radius:50% 50% var(--dls-image-radius) var(--dls-image-radius)}
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product:nth-child(3n+3) img,.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product:nth-child(3n+3) img{border-radius:var(--dls-image-radius) 48% 48% var(--dls-image-radius)}
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product .woocommerce-loop-product__title,.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product .woocommerce-loop-product__title{letter-spacing:.08em;text-transform:uppercase;font-family:var(--dls-body-font);font-size:.92rem;color:var(--dls-accent)}
.dls-sd.dls-layer-botanical_editorial.single-product .product_title{color:var(--dls-accent-2)}

/* 2 Midnight Ritual */
.dls-sd.dls-layer-midnight_ritual{
  --dls-bg:#061D23;
  --dls-surface:#0B2930;
  --dls-text:#EDF6F4;
  --dls-muted:#A7BCB8;
  --dls-border:#1C4249;
  --dls-accent:#77C3C8;
  --dls-accent-2:#D5EAE6;
  background:radial-gradient(circle at 14% 10%,rgba(105,196,201,.12),transparent 32%),linear-gradient(180deg,#061D23,#031317);
}
.dls-sd.dls-layer-midnight_ritual .woocommerce a.button,.dls-sd.dls-layer-midnight_ritual .woocommerce button.button,.dls-sd.dls-layer-midnight_ritual .wc-block-components-button{background:#D5EAE6;color:#061D23;border-color:#D5EAE6}
.dls-sd.dls-layer-midnight_ritual .woocommerce a.button:hover,.dls-sd.dls-layer-midnight_ritual .woocommerce button.button:hover,.dls-sd.dls-layer-midnight_ritual .wc-block-components-button:hover{background:#77C3C8;color:#061D23;border-color:#77C3C8}
.dls-sd.dls-layer-midnight_ritual.woocommerce ul.products li.product,.dls-sd.dls-layer-midnight_ritual .woocommerce ul.products li.product{background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-color:rgba(255,255,255,.10);box-shadow:0 22px 55px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.dls-sd.dls-layer-midnight_ritual.woocommerce ul.products li.product img,.dls-sd.dls-layer-midnight_ritual .woocommerce ul.products li.product img{filter:saturate(.86) contrast(1.04)}
.dls-sd.dls-layer-midnight_ritual.single-product .woocommerce div.product .summary{box-shadow:0 24px 64px rgba(0,0,0,.25)}

/* 3 Copper Atelier */
.dls-sd.dls-layer-copper_atelier{
  --dls-bg:#FBF4E8;
  --dls-surface:#F1E4D1;
  --dls-text:#382A22;
  --dls-muted:#79665A;
  --dls-border:#D8C1A8;
  --dls-accent:#A95E3A;
  --dls-accent-2:#5C3426;
}
.dls-sd.dls-layer-copper_atelier.woocommerce ul.products li.product,.dls-sd.dls-layer-copper_atelier .woocommerce ul.products li.product{border:1px solid #D8C1A8;background:#FFF9F1;box-shadow:7px 7px 0 rgba(169,94,58,.09)}
.dls-sd.dls-layer-copper_atelier.woocommerce ul.products li.product img,.dls-sd.dls-layer-copper_atelier .woocommerce ul.products li.product img{border-radius:6px;filter:sepia(.08) saturate(.92)}
.dls-sd.dls-layer-copper_atelier.woocommerce ul.products li.product .woocommerce-loop-product__title,.dls-sd.dls-layer-copper_atelier .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,"Times New Roman",serif;font-weight:600}
.dls-sd.dls-layer-copper_atelier .woocommerce .woocommerce-breadcrumb{font-family:Georgia,"Times New Roman",serif;font-style:italic}
.dls-sd.dls-layer-copper_atelier.single-product .woocommerce div.product .summary{border-color:#CDAE8F}

/* 4 Raw Gallery */
.dls-sd.dls-layer-raw_gallery{
  --dls-bg:#FFFFFF;
  --dls-surface:#F4F4F2;
  --dls-text:#111111;
  --dls-muted:#666666;
  --dls-border:#161616;
  --dls-accent:#111111;
  --dls-accent-2:#111111;
  --dls-radius:0px;
  --dls-image-radius:0px;
  --dls-shadow:none;
  --dls-shadow-hover:none;
}
.dls-sd.dls-layer-raw_gallery.woocommerce ul.products li.product,.dls-sd.dls-layer-raw_gallery .woocommerce ul.products li.product{border-top:1px solid #111;border-bottom:1px solid #111;background:#fff;padding-bottom:20px!important}
.dls-sd.dls-layer-raw_gallery.woocommerce ul.products li.product:nth-child(even),.dls-sd.dls-layer-raw_gallery .woocommerce ul.products li.product:nth-child(even){transform:translateY(30px)}
.dls-sd.dls-layer-raw_gallery.woocommerce ul.products li.product .woocommerce-loop-product__title,.dls-sd.dls-layer-raw_gallery .woocommerce ul.products li.product .woocommerce-loop-product__title{text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1rem,1.8vw,1.45rem);font-weight:800;letter-spacing:-.02em}
.dls-sd.dls-layer-raw_gallery.woocommerce ul.products li.product .price,.dls-sd.dls-layer-raw_gallery .woocommerce ul.products li.product .price{font-family:"Courier New",monospace;font-size:.88rem}
.dls-sd.dls-layer-raw_gallery .woocommerce a.button,.dls-sd.dls-layer-raw_gallery .woocommerce button.button{border-radius:0;background:#111;color:#fff;border-color:#111;text-transform:uppercase;font-size:.72rem;letter-spacing:.13em}
.dls-sd.dls-layer-raw_gallery.single-product .woocommerce div.product{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}
.dls-sd.dls-layer-raw_gallery.single-product .product_title{text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.055em}

/* 5 Forest Relic */
.dls-sd.dls-layer-forest_relic{
  --dls-bg:#0E241B;
  --dls-surface:#173529;
  --dls-text:#F3F1E8;
  --dls-muted:#B9C6B5;
  --dls-border:#355544;
  --dls-accent:#B9D0B0;
  --dls-accent-2:#D3A278;
  background:radial-gradient(circle at 80% 20%,rgba(143,175,135,.11),transparent 30%),linear-gradient(135deg,#0E241B,#091812);
}
.dls-sd.dls-layer-forest_relic.woocommerce ul.products li.product,.dls-sd.dls-layer-forest_relic .woocommerce ul.products li.product{background:#173529;border-color:#355544;overflow:visible}
.dls-sd.dls-layer-forest_relic.woocommerce ul.products li.product img,.dls-sd.dls-layer-forest_relic .woocommerce ul.products li.product img{border-radius:46% 46% 24% 24% / 18% 18% 12% 12%;outline:1px solid rgba(211,162,120,.28);outline-offset:7px;transform:scale(.96)}
.dls-sd.dls-layer-forest_relic.woocommerce ul.products li.product:hover img,.dls-sd.dls-layer-forest_relic .woocommerce ul.products li.product:hover img{outline-color:rgba(211,162,120,.58)}
.dls-sd.dls-layer-forest_relic.woocommerce ul.products li.product .woocommerce-loop-product__title,.dls-sd.dls-layer-forest_relic .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,"Times New Roman",serif;color:#F3F1E8;font-weight:500}
.dls-sd.dls-layer-forest_relic .woocommerce a.button,.dls-sd.dls-layer-forest_relic .woocommerce button.button{background:#D3A278;color:#14261D;border-color:#D3A278}
.dls-sd.dls-layer-forest_relic .woocommerce a.button:hover,.dls-sd.dls-layer-forest_relic .woocommerce button.button:hover{background:#B9D0B0;color:#14261D;border-color:#B9D0B0}

/* responsive */
@media (max-width:1024px){
  .dls-sd.woocommerce ul.products,.dls-sd .woocommerce ul.products,.dls-sd .wc-block-grid__products,.dls-sd .wp-block-woocommerce-product-template{grid-template-columns:repeat(var(--dls-cols-tab),minmax(0,1fr))}
  .dls-sd.single-product .woocommerce div.product{grid-template-columns:1fr;gap:34px}
  .dls-sd.single-product.dls-product-sticky .woocommerce div.product .summary{position:static}
  .dls-sd.woocommerce-cart.dls-cart-split .woocommerce{display:block}
  .dls-sd.woocommerce-cart.dls-cart-totals-sticky .cart-collaterals .cart_totals,.dls-sd.dls-cart-totals-sticky .wc-block-cart__sidebar{position:static}
  .dls-sd.dls-layer-raw_gallery.woocommerce ul.products li.product:nth-child(even),.dls-sd.dls-layer-raw_gallery .woocommerce ul.products li.product:nth-child(even){transform:none}
}
@media (max-width:680px){
  .dls-sd{--dls-gap:16px;--dls-pad:16px}
  .dls-sd.woocommerce ul.products,.dls-sd .woocommerce ul.products,.dls-sd .wc-block-grid__products,.dls-sd .wp-block-woocommerce-product-template{grid-template-columns:repeat(var(--dls-cols-mob),minmax(0,1fr));gap:16px!important}
  .dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title,.dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.96rem}
  .dls-sd.woocommerce ul.products li.product .button,.dls-sd .woocommerce ul.products li.product .button{font-size:.78rem;padding:10px 12px;min-height:42px}
  .dls-sd.single-product .woocommerce div.product .product_title{font-size:clamp(1.9rem,10vw,3.2rem)}
  .dls-sd.single-product.dls-summary-panel .woocommerce div.product .summary,.dls-sd.single-product.dls-summary-bordered .woocommerce div.product .summary,.dls-sd.single-product.dls-summary-glass .woocommerce div.product .summary{padding:20px}
  .dls-sd.single-product .woocommerce div.product form.cart{gap:8px}
  .dls-sd.single-product .woocommerce div.product form.cart .single_add_to_cart_button{min-width:0}
  .dls-sd.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{display:grid;grid-template-columns:1fr}
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr.woocommerce-cart-form__cart-item{grid-template-columns:74px minmax(0,1fr) auto;gap:10px}
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table td.product-price,.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table td.product-quantity,.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table td.product-subtotal{grid-column:2/-1}
  .dls-sd.woocommerce-cart table.shop_table td{padding:12px 8px!important}
}

/* ===== v1.1.0 repair + artistic refinement ===== */
.dls-sd .woocommerce ul.products,
.dls-sd.woocommerce ul.products,
.dls-sd .related ul.products,
.dls-sd .upsells ul.products{align-items:stretch}

.dls-sd .woocommerce ul.products li.product,
.dls-sd.woocommerce ul.products li.product,
.dls-sd .related ul.products li.product,
.dls-sd .upsells ul.products li.product{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
.dls-sd .woocommerce ul.products li.product>a.woocommerce-LoopProduct-link,
.dls-sd.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  height:auto;
}
.dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
.dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:4.9em;
  text-wrap:pretty;
}
.dls-sd .woocommerce ul.products li.product .price,
.dls-sd.woocommerce ul.products li.product .price{
  flex-wrap:wrap;
  align-items:baseline;
  row-gap:4px;
}
.dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__link + *{min-width:0}

/* Compact, stylish savings / discount boxes from 3rd party plugins */
.dls-sd .woocommerce ul.products li.product [class*="discount"],
.dls-sd .woocommerce ul.products li.product [class*="saving"],
.dls-sd .woocommerce ul.products li.product [class*="save"],
.dls-sd .woocommerce ul.products li.product [class*="sale-price"],
.dls-sd.single-product .summary [class*="discount"],
.dls-sd.single-product .summary [class*="saving"],
.dls-sd.single-product .summary [class*="save"],
.dls-sd.single-product .summary [class*="sale-price"]{
  width:auto!important;
  max-width:100%;
  display:inline-flex!important;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:10px 14px!important;
  margin:10px 0 16px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 35%,var(--dls-border))!important;
  border-radius:calc(var(--dls-radius) * .6)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--dls-accent) 8%,#fff),var(--dls-bg))!important;
  color:var(--dls-accent-2)!important;
  font-size:.84rem!important;
  line-height:1.4!important;
  box-shadow:none!important;
}
.dls-sd .woocommerce ul.products li.product [class*="discount"] *,
.dls-sd .woocommerce ul.products li.product [class*="saving"] *,
.dls-sd .woocommerce ul.products li.product [class*="save"] *,
.dls-sd .woocommerce ul.products li.product [class*="sale-price"] *,
.dls-sd.single-product .summary [class*="discount"] *,
.dls-sd.single-product .summary [class*="saving"] *,
.dls-sd.single-product .summary [class*="save"] *,
.dls-sd.single-product .summary [class*="sale-price"] *{color:inherit!important}

/* quick add forms on archives */
.dls-sd .dls-loop-quick-cart{
  margin:14px var(--dls-pad) 0!important;
  display:grid;
  gap:10px;
  min-width:0;
}
.dls-sd .dls-loop-quick-cart .quantity{margin:0}
.dls-sd .dls-loop-quick-cart .quantity .qty{
  width:100%;
  min-width:0;
  height:44px;
  text-align:center;
}
.dls-sd .dls-loop-quick-cart.dls-loop-quick-simple{
  grid-template-columns:84px minmax(0,1fr);
  align-items:stretch;
}
.dls-sd .dls-loop-variation-fields{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:8px;
}
.dls-sd .dls-loop-variation-field{min-width:0}
.dls-sd .dls-loop-variation-field select{
  width:100%!important;
  max-width:none!important;
}
.dls-sd .dls-loop-quick-variable .single_variation_wrap{
  display:block!important;
  min-height:0!important;
}
.dls-sd .dls-loop-quick-variable .woocommerce-variation{
  display:none!important;
}
.dls-sd .dls-loop-actions{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  margin-top:2px;
}
.dls-sd .dls-loop-quick-cart button.button,
.dls-sd .dls-loop-quick-cart .single_add_to_cart_button{
  width:100%;
  min-width:0!important;
  margin:0!important;
}
.dls-sd .dls-loop-quick-variable .reset_variations{
  justify-self:flex-start;
  color:var(--dls-muted);
  font-size:.76rem;
  text-decoration:none;
  margin-top:-4px;
}
.dls-sd .woocommerce ul.products li.product .added_to_cart{margin:8px var(--dls-pad) 0!important;display:inline-flex}

/* related / upsell mood */
.dls-sd.single-product .woocommerce div.product .related,
.dls-sd.single-product .woocommerce div.product .upsells{
  margin-top:clamp(16px,3vw,40px);
}
.dls-sd.single-product .woocommerce div.product .related>h2,
.dls-sd.single-product .woocommerce div.product .upsells>h2{
  font-size:clamp(1.55rem,2.6vw,2.35rem);
  font-weight:500;
  letter-spacing:-.02em;
  margin:0 0 26px;
  color:var(--dls-text);
}
.dls-sd.single-product .woocommerce div.product .related>h2::after,
.dls-sd.single-product .woocommerce div.product .upsells>h2::after{
  content:"";
  display:block;
  width:88px;
  height:2px;
  margin-top:10px;
  background:linear-gradient(90deg,var(--dls-accent),transparent);
}

/* checkout + order received */
.dls-sd.woocommerce-checkout .woocommerce,
.dls-sd.woocommerce-order-received .woocommerce{max-width:var(--dls-max);margin-inline:auto}
.dls-sd.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:var(--dls-gap);
  align-items:start;
}
.dls-sd.woocommerce-checkout #customer_details,
.dls-sd.woocommerce-checkout #order_review,
.dls-sd.woocommerce-checkout .woocommerce-billing-fields,
.dls-sd.woocommerce-checkout .woocommerce-additional-fields,
.dls-sd.woocommerce-checkout .col2-set .col-1,
.dls-sd.woocommerce-checkout .col2-set .col-2{
  width:auto!important;
  float:none!important;
}
.dls-sd.woocommerce-checkout #customer_details,
.dls-sd.woocommerce-checkout #order_review,
.dls-sd.woocommerce-checkout .col2-set .col-1,
.dls-sd.woocommerce-checkout .col2-set .col-2,
.dls-sd.woocommerce-checkout .woocommerce-checkout-review-order,
.dls-sd.woocommerce-order-received .woocommerce-order,
.dls-sd.woocommerce-order-received .woocommerce-order-details,
.dls-sd.woocommerce-order-received .woocommerce-customer-details,
.dls-sd .woocommerce-order-details,
.dls-sd .woocommerce-customer-details{
  background:var(--dls-bg);
  border:1px solid var(--dls-border);
  border-radius:var(--dls-radius);
  box-shadow:var(--dls-shadow);
  padding:clamp(18px,2.2vw,30px);
}
.dls-sd.woocommerce-checkout #customer_details{display:grid;gap:var(--dls-gap)}
.dls-sd.woocommerce-checkout .col2-set{display:grid;gap:var(--dls-gap)}
.dls-sd.woocommerce-checkout .woocommerce form .form-row{padding:0;margin:0 0 14px}
.dls-sd.woocommerce-checkout .woocommerce form .form-row label{font-weight:600;color:var(--dls-text);margin-bottom:7px;display:block}
.dls-sd.woocommerce-checkout #order_review_heading,
.dls-sd.woocommerce-order-received .entry-title,
.dls-sd.woocommerce-order-received .woocommerce-order-overview__title{font-size:clamp(1.5rem,3vw,2.2rem)}
.dls-sd.woocommerce-checkout table.shop_table,
.dls-sd.woocommerce-order-received table.shop_table{border:0!important;border-collapse:separate;border-spacing:0;background:transparent}
.dls-sd.woocommerce-checkout table.shop_table th,
.dls-sd.woocommerce-checkout table.shop_table td,
.dls-sd.woocommerce-order-received table.shop_table th,
.dls-sd.woocommerce-order-received table.shop_table td{border-color:var(--dls-border)!important;padding:12px 0!important}
.dls-sd.woocommerce-checkout #payment,
.dls-sd.woocommerce-checkout #payment div.payment_box{
  background:var(--dls-surface)!important;
  border-radius:calc(var(--dls-radius) * .7)!important;
  border:1px solid var(--dls-border)!important;
}
.dls-sd.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--dls-border)!important}
.dls-sd.woocommerce-checkout #place_order{width:100%;min-height:52px}
.dls-sd.woocommerce-order-received .woocommerce-order-overview{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
}
.dls-sd.woocommerce-order-received .woocommerce-order-overview li{
  margin:0!important;
  padding:14px 16px;
  border:1px solid var(--dls-border);
  border-radius:calc(var(--dls-radius) * .7);
  background:var(--dls-surface);
}

/* artistic layer enhancement */
.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product,
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product{
  background:
    radial-gradient(circle at 100% 0, rgba(114,174,184,.08), transparent 32%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 76%,#fff));
}
.dls-sd.dls-layer-botanical_editorial.single-product .woocommerce div.product .summary,
.dls-sd.dls-layer-botanical_editorial.woocommerce-checkout #customer_details,
.dls-sd.dls-layer-botanical_editorial.woocommerce-checkout #order_review{
  background:
    radial-gradient(circle at top right, rgba(114,174,184,.08), transparent 30%),
    linear-gradient(180deg,#fff,var(--dls-surface));
}
.dls-sd.dls-layer-copper_atelier .dls-loop-quick-cart,
.dls-sd.dls-layer-forest_relic .dls-loop-quick-cart,
.dls-sd.dls-layer-midnight_ritual .dls-loop-quick-cart{margin-top:16px}

@media (max-width:1024px){
  .dls-sd.woocommerce-checkout form.checkout{grid-template-columns:1fr}
}
@media (max-width:680px){
  .dls-sd .dls-loop-quick-cart.dls-loop-quick-simple,
  .dls-sd .dls-loop-actions{grid-template-columns:68px minmax(0,1fr)}
  .dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:0;-webkit-line-clamp:5}
  .dls-sd.single-product .woocommerce div.product .related>h2,
  .dls-sd.single-product .woocommerce div.product .upsells>h2{font-size:1.5rem}
}

/* ========================================================================
   v1.2.0 — catalogue purchase UX / sale art / cart-presence / mini-cart fix
   ======================================================================== */

/* 1) Sorting: turn the browser-looking select into a compact editorial control */
.dls-sd.woocommerce .woocommerce-ordering,
.dls-sd .woocommerce .woocommerce-ordering{
  float:none!important;
  display:inline-flex!important;
  align-items:center;
  position:relative;
  margin:0 0 28px!important;
  padding:0!important;
  max-width:100%;
  border:1px solid color-mix(in srgb,var(--dls-border) 88%,transparent);
  border-radius:999px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--dls-accent) 7%,#fff),var(--dls-bg));
  box-shadow:0 8px 24px rgba(18,35,28,.055);
  overflow:hidden;
}
.dls-sd.woocommerce .woocommerce-ordering::after,
.dls-sd .woocommerce .woocommerce-ordering::after{
  content:"⌄";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-56%);
  pointer-events:none;
  color:var(--dls-accent-2);
  font-size:1.05rem;
  line-height:1;
}
.dls-sd.woocommerce .woocommerce-ordering select,
.dls-sd .woocommerce .woocommerce-ordering select{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:auto!important;
  max-width:100%!important;
  min-width:min(300px,84vw);
  min-height:48px!important;
  margin:0!important;
  padding:11px 48px 11px 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--dls-text)!important;
  font-family:var(--dls-body-font)!important;
  font-size:.91rem!important;
  font-weight:520!important;
  letter-spacing:.015em;
  box-shadow:none!important;
  cursor:pointer;
  outline:none;
}
.dls-sd.woocommerce .woocommerce-ordering:focus-within,
.dls-sd .woocommerce .woocommerce-ordering:focus-within{
  border-color:var(--dls-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dls-accent) 14%,transparent),0 8px 24px rgba(18,35,28,.055);
}

/* Keep visually broken product images from spilling ALT text through the card. */
.dls-sd.woocommerce ul.products li.product img,
.dls-sd .woocommerce ul.products li.product img{
  overflow:hidden;
  font-size:0;
  color:transparent;
}

/* 2) Robust archive quick-purchase area — independent of theme button markup */
.dls-sd.dls-loop-quick-add .woocommerce ul.products li.product > a.button:not(.added_to_cart),
.dls-sd.dls-loop-quick-add.woocommerce ul.products li.product > a.button:not(.added_to_cart){
  display:none!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-cart{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:auto var(--dls-pad) 0!important;
  padding:16px 0 0!important;
  border-top:1px solid color-mix(in srgb,var(--dls-border) 78%,transparent);
  display:grid!important;
  gap:10px!important;
  align-self:stretch;
  position:relative;
  z-index:6;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-simple,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-simple{
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:stretch!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart .quantity,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-cart .quantity{
  width:100%!important;
  margin:0!important;
  float:none!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart .quantity .qty,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-cart .quantity .qty{
  width:100%!important;
  height:46px!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:8px 6px!important;
  text-align:center!important;
  border-radius:14px!important;
  border:1px solid var(--dls-border)!important;
  background:color-mix(in srgb,var(--dls-surface) 58%,var(--dls-bg))!important;
  color:var(--dls-text)!important;
  font-weight:650!important;
  box-shadow:none!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-add-button,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-add-button{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  height:auto!important;
  margin:0!important;
  padding:11px 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  line-height:1.2!important;
  font-size:.83rem!important;
  letter-spacing:.025em!important;
  white-space:normal!important;
  text-align:center!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-add-button.loading{
  opacity:.63;
  cursor:wait;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-add-button.dls-added-pulse{
  animation:dlsAddedPulse .62s ease both;
}
@keyframes dlsAddedPulse{
  0%{transform:scale(1)}
  42%{transform:scale(.965);box-shadow:0 0 0 7px color-mix(in srgb,var(--dls-accent) 13%,transparent)}
  100%{transform:scale(1)}
}
.dls-sd .woocommerce ul.products li.product .dls-loop-variation-fields,
.dls-sd.woocommerce ul.products li.product .dls-loop-variation-fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  min-width:0;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-variation-field,
.dls-sd.woocommerce ul.products li.product .dls-loop-variation-field{
  display:grid!important;
  gap:5px!important;
  min-width:0;
  margin:0!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-variation-label,
.dls-sd.woocommerce ul.products li.product .dls-loop-variation-label{
  color:var(--dls-muted);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-variation-field select,
.dls-sd.woocommerce ul.products li.product .dls-loop-variation-field select{
  appearance:none;
  -webkit-appearance:none;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:9px 34px 9px 12px!important;
  border:1px solid var(--dls-border)!important;
  border-radius:14px!important;
  background:
    linear-gradient(45deg,transparent 50%,var(--dls-muted) 50%) calc(100% - 16px) 19px/5px 5px no-repeat,
    linear-gradient(135deg,var(--dls-muted) 50%,transparent 50%) calc(100% - 11px) 19px/5px 5px no-repeat,
    color-mix(in srgb,var(--dls-surface) 58%,var(--dls-bg))!important;
  color:var(--dls-text)!important;
  box-shadow:none!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-variable .single_variation_wrap,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-variable .single_variation_wrap{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-variable .single_variation,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-variable .single_variation{
  display:none!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-actions,
.dls-sd.woocommerce ul.products li.product .dls-loop-actions{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin:0!important;
  padding:0!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-variable .reset_variations,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-variable .reset_variations{
  justify-self:start!important;
  margin:0!important;
  padding:1px 0!important;
  color:var(--dls-muted)!important;
  font-size:.68rem!important;
  line-height:1.2!important;
  text-decoration:none!important;
}

/* 3) Artistic saving mark. No language-specific frontend copy: only % + money. */
.dls-sd .dls-legacy-saving{display:none!important}
.dls-sd .dls-sale-art{
  display:inline-flex!important;
  align-items:center;
  gap:0;
  max-width:calc(100% - (var(--dls-pad) * 2));
  margin:2px var(--dls-pad) 14px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--dls-text)!important;
  overflow:hidden;
  border-radius:999px!important;
  isolation:isolate;
}
.dls-sd .dls-sale-art-percent{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 13px;
  border-radius:999px;
  background:var(--dls-accent-2);
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  line-height:1!important;
  box-shadow:0 7px 20px color-mix(in srgb,var(--dls-accent-2) 18%,transparent);
  position:relative;
  z-index:2;
}
.dls-sd .dls-sale-art-amount{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:7px 13px 7px 17px;
  margin-left:-8px;
  border:1px solid color-mix(in srgb,var(--dls-accent) 28%,var(--dls-border));
  border-left:0;
  border-radius:0 999px 999px 0;
  background:color-mix(in srgb,var(--dls-accent) 8%,var(--dls-bg));
  color:var(--dls-accent-2)!important;
  font-size:.75rem!important;
  font-weight:650!important;
  line-height:1!important;
  white-space:nowrap;
}
.dls-sd .dls-sale-art-amount .woocommerce-Price-amount,
.dls-sd .dls-sale-art-amount .woocommerce-Price-currencySymbol{color:inherit!important}
.dls-sd.single-product .summary .dls-sale-art-single{
  margin:0 0 20px!important;
  max-width:100%;
}
.dls-sd.single-product .summary .dls-sale-art-single .dls-sale-art-percent{
  min-height:42px;
  padding:9px 17px;
  font-size:.9rem!important;
}
.dls-sd.single-product .summary .dls-sale-art-single .dls-sale-art-amount{
  min-height:42px;
  padding:9px 17px 9px 21px;
  font-size:.86rem!important;
}

/* Make the native sale flash feel like a small craft seal instead of a system badge. */
.dls-sd.woocommerce span.onsale,
.dls-sd .woocommerce span.onsale{
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb,#fff 28%,transparent)!important;
  background:color-mix(in srgb,var(--dls-accent-2) 94%,#000)!important;
  color:#fff!important;
  font-size:.72rem!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:.03em!important;
  box-shadow:0 7px 20px rgba(9,37,29,.18)!important;
  transform:rotate(-2deg);
}

/* 4) Mini-cart buttons must never float apart when cart contents change. */
.dls-sd .widget_shopping_cart_content .woocommerce-mini-cart__buttons,
.dls-sd .widget_shopping_cart .woocommerce-mini-cart__buttons,
.dls-sd .woocommerce-mini-cart__buttons,
.dls-sd .wc-block-mini-cart__footer-actions{
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  clear:both!important;
}
.dls-sd .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button,
.dls-sd .widget_shopping_cart .woocommerce-mini-cart__buttons a.button,
.dls-sd .woocommerce-mini-cart__buttons a.button,
.dls-sd .wc-block-mini-cart__footer-actions .wc-block-components-button{
  float:none!important;
  clear:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
  white-space:normal!important;
}
.dls-sd .widget_shopping_cart_content .woocommerce-mini-cart__total,
.dls-sd .widget_shopping_cart .woocommerce-mini-cart__total{
  width:100%!important;
  margin:14px 0 0!important;
  padding:15px 0 0!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  border-top:1px solid var(--dls-border)!important;
  clear:both!important;
}

/* 5) Product already in cart — visible on archive and single product. */
.dls-sd .dls-cart-presence[hidden]{display:none!important}
.dls-sd .dls-cart-presence{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid color-mix(in srgb,var(--dls-accent) 30%,var(--dls-border));
  background:color-mix(in srgb,var(--dls-accent) 9%,var(--dls-bg));
  color:var(--dls-accent-2);
  box-shadow:0 8px 22px rgba(18,35,28,.08);
  transition:transform .22s ease,box-shadow .22s ease;
}
.dls-sd .dls-cart-presence-icon{
  width:17px;
  height:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}
.dls-sd .dls-cart-presence-icon svg{width:17px;height:17px;display:block}
.dls-sd .dls-cart-presence-qty{font-variant-numeric:tabular-nums;font-size:.78rem;line-height:1}
.dls-sd .dls-cart-presence-loop{
  position:absolute;
  z-index:8;
  top:16px;
  right:16px;
  padding:10px 14px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:650;
  letter-spacing:.02em;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.dls-sd .dls-cart-presence-single{
  margin:0 0 18px;
  padding:10px 14px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:650;
  letter-spacing:.02em;
}
.dls-sd .dls-cart-presence-label{opacity:.8}
.dls-sd .dls-cart-presence.is-updated{
  transform:scale(1.06);
  box-shadow:0 10px 28px color-mix(in srgb,var(--dls-accent) 20%,transparent);
}

/* Keep archive card typography from colliding with controls. */
.dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
.dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:0!important;
  margin-bottom:12px!important;
  overflow-wrap:anywhere;
}
.dls-sd .woocommerce ul.products li.product .price,
.dls-sd.woocommerce ul.products li.product .price{
  margin-bottom:9px!important;
}

/* Botanical layer: give the new purchase controls a deliberate jewellery-card feel. */
.dls-sd.dls-layer-botanical_editorial .dls-loop-quick-cart{
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--dls-accent) 3%,transparent));
}
.dls-sd.dls-layer-botanical_editorial .dls-cart-presence-loop{
  background:color-mix(in srgb,#fff 82%,var(--dls-accent));
}
.dls-sd.dls-layer-copper_atelier .dls-sale-art-percent{background:#7D432D}
.dls-sd.dls-layer-copper_atelier .dls-sale-art-amount{background:#FFF4E7;border-color:#D8B99A;color:#6F402D!important}
.dls-sd.dls-layer-midnight_ritual .dls-sale-art-percent{background:#D5EAE6;color:#061D23!important}
.dls-sd.dls-layer-midnight_ritual .dls-sale-art-amount{background:#0B2930;border-color:#315058;color:#D5EAE6!important}
.dls-sd.dls-layer-forest_relic .dls-sale-art-percent{background:#D3A278;color:#14261D!important}
.dls-sd.dls-layer-forest_relic .dls-sale-art-amount{background:#173529;border-color:#355544;color:#F3F1E8!important}

@media (max-width:680px){
  .dls-sd.woocommerce .woocommerce-ordering,
  .dls-sd .woocommerce .woocommerce-ordering{width:100%!important;display:flex!important}
  .dls-sd.woocommerce .woocommerce-ordering select,
  .dls-sd .woocommerce .woocommerce-ordering select{width:100%!important;min-width:0!important}

  .dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart,
  .dls-sd.woocommerce ul.products li.product .dls-loop-quick-cart{
    margin-left:var(--dls-pad)!important;
    margin-right:var(--dls-pad)!important;
  }
  .dls-sd .woocommerce ul.products li.product .dls-loop-quick-simple,
  .dls-sd.woocommerce ul.products li.product .dls-loop-quick-simple,
  .dls-sd .woocommerce ul.products li.product .dls-loop-actions,
  .dls-sd.woocommerce ul.products li.product .dls-loop-actions{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .dls-sd .widget_shopping_cart_content .woocommerce-mini-cart__buttons,
  .dls-sd .widget_shopping_cart .woocommerce-mini-cart__buttons,
  .dls-sd .woocommerce-mini-cart__buttons,
  .dls-sd .wc-block-mini-cart__footer-actions{
    grid-template-columns:1fr!important;
  }
  .dls-sd .dls-cart-presence-loop{top:12px;right:12px;padding:9px 12px}
  .dls-sd .dls-sale-art{max-width:calc(100% - (var(--dls-pad) * 2))}
}

/* ========================================================================
   v1.3.0 — catalogue alignment + savings copy + cart grid stabilization
   ======================================================================== */

/* The old two-part −25% / amount pill is intentionally retired. */
.dls-sd .dls-sale-art{display:none!important}

/* Legacy sale-saving box: hide it in catalogue cards, keep its translated
   wording on single-product pages but remove the red DOS-style treatment. */
.dls-sd:not(.single-product) .dls-legacy-saving{display:none!important}
.dls-sd.single-product .summary .dls-legacy-saving{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:4px 0 20px!important;
  padding:11px 15px!important;
  border:0!important;
  border-left:3px solid var(--dls-accent)!important;
  border-radius:0 14px 14px 0!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dls-accent) 10%,var(--dls-bg)),color-mix(in srgb,var(--dls-surface) 78%,var(--dls-bg)))!important;
  color:var(--dls-accent-2)!important;
  font-family:var(--dls-body-font)!important;
  font-size:.84rem!important;
  font-weight:650!important;
  line-height:1.45!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  box-shadow:none!important;
}
.dls-sd.single-product .summary .dls-legacy-saving *{
  color:inherit!important;
  font:inherit!important;
  border:0!important;
  background:transparent!important;
}

/* Catalogue savings copy: clear and non-misleading, same information order
   as the single-product saving message: label -> money -> percentage. */
.dls-sd .woocommerce ul.products li.product .dls-sale-note,
.dls-sd.woocommerce ul.products li.product .dls-sale-note{
  width:auto!important;
  min-height:48px;
  margin:2px var(--dls-pad) 15px!important;
  padding:9px 12px!important;
  display:flex!important;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 7px;
  border:0!important;
  border-left:3px solid color-mix(in srgb,var(--dls-accent) 72%,var(--dls-accent-2))!important;
  border-radius:0 12px 12px 0!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dls-accent) 9%,var(--dls-bg)),color-mix(in srgb,var(--dls-surface) 70%,var(--dls-bg)))!important;
  color:var(--dls-text)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.dls-sd .dls-sale-note-label{
  color:var(--dls-muted)!important;
  font-size:.72rem!important;
  font-weight:620!important;
  line-height:1.35!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
}
.dls-sd .dls-sale-note-value{
  color:var(--dls-accent-2)!important;
  font-size:.78rem!important;
  font-weight:760!important;
  line-height:1.35!important;
  white-space:nowrap;
}
.dls-sd .dls-sale-note-value .woocommerce-Price-amount,
.dls-sd .dls-sale-note-value .woocommerce-Price-currencySymbol,
.dls-sd .dls-sale-note-percent{color:inherit!important}

/* Broken catalogue images must never print ALT text through the card. */
.dls-sd .woocommerce ul.products li.product img.dls-image-broken,
.dls-sd.woocommerce ul.products li.product img.dls-image-broken{
  opacity:0!important;
  visibility:hidden!important;
}

/* ===== Catalogue geometry repair ===== */
.dls-sd .woocommerce ul.products,
.dls-sd.woocommerce ul.products{
  width:100%!important;
  max-width:100%!important;
  clear:both!important;
  align-items:stretch!important;
  grid-auto-flow:row!important;
  box-sizing:border-box!important;
}
.dls-sd .woocommerce ul.products li.product,
.dls-sd.woocommerce ul.products li.product{
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding-bottom:var(--dls-pad)!important;
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.dls-sd .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.dls-sd.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.dls-sd .woocommerce ul.products li.product img,
.dls-sd.woocommerce ul.products li.product img{
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  aspect-ratio:var(--dls-ratio)!important;
  object-fit:var(--dls-fit)!important;
  box-sizing:border-box!important;
}
.dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
.dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:5.1em!important;
  max-height:5.1em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:4!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto;
  box-sizing:border-box!important;
}
.dls-sd .woocommerce ul.products li.product .price,
.dls-sd.woocommerce ul.products li.product .price{
  min-height:30px!important;
  margin-top:0!important;
  margin-bottom:9px!important;
  flex-wrap:wrap!important;
  box-sizing:border-box!important;
}
.dls-sd .woocommerce ul.products li.product .dls-loop-quick-cart,
.dls-sd.woocommerce ul.products li.product .dls-loop-quick-cart{
  margin-top:auto!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
.dls-sd .woocommerce ul.products li.product .dls-cart-presence-loop,
.dls-sd.woocommerce ul.products li.product .dls-cart-presence-loop{
  box-sizing:border-box!important;
}

/* The decorative image silhouette may vary, but never the image dimensions. */
.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product:nth-child(3n+2) img,
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product:nth-child(3n+2) img{
  border-radius:42% 42% var(--dls-image-radius) var(--dls-image-radius) / 16% 16% var(--dls-image-radius) var(--dls-image-radius)!important;
}
.dls-sd.dls-layer-botanical_editorial .woocommerce ul.products li.product:nth-child(3n+3) img,
.dls-sd.dls-layer-botanical_editorial.woocommerce ul.products li.product:nth-child(3n+3) img{
  border-radius:var(--dls-image-radius) 38% 38% var(--dls-image-radius)!important;
}

/* Sorting / result-count occupy predictable lines; no theme floats. */
.dls-sd.woocommerce .woocommerce-result-count,
.dls-sd .woocommerce .woocommerce-result-count{
  float:none!important;
  clear:both!important;
  margin:0 0 12px!important;
  line-height:1.5!important;
}
.dls-sd.woocommerce .woocommerce-ordering,
.dls-sd .woocommerce .woocommerce-ordering{
  float:none!important;
  clear:both!important;
  margin:0 0 30px!important;
}

/* ===== Classic cart stabilization =====
   Table semantics on desktop prevent the previous grid-row drift. */
.dls-sd.woocommerce-cart .woocommerce{
  width:min(100%,var(--dls-max))!important;
  max-width:var(--dls-max)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}
.dls-sd.woocommerce-cart.dls-cart-split .woocommerce{
  display:block!important;
}
.dls-sd.woocommerce-cart .woocommerce-cart-form{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 28px!important;
  box-sizing:border-box!important;
}
.dls-sd.woocommerce-cart table.shop_table,
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table{
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border:1px solid var(--dls-border)!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border-radius:var(--dls-radius)!important;
  background:var(--dls-bg)!important;
  box-shadow:var(--dls-shadow)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table thead{
  display:table-header-group!important;
}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tbody{
  display:table-row-group!important;
}
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr,
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr.woocommerce-cart-form__cart-item{
  display:table-row!important;
  background:var(--dls-bg)!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.dls-sd.woocommerce-cart table.shop_table th,
.dls-sd.woocommerce-cart table.shop_table td,
.dls-sd.woocommerce-cart.dls-cart-cards table.shop_table td{
  display:table-cell!important;
  vertical-align:middle!important;
  padding:16px 12px!important;
  border:0!important;
  border-bottom:1px solid var(--dls-border)!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.dls-sd.woocommerce-cart table.shop_table tr:last-child td{border-bottom:0!important}
.dls-sd.woocommerce-cart table.shop_table .product-remove{width:46px!important;text-align:center!important}
.dls-sd.woocommerce-cart table.shop_table .product-thumbnail{width:108px!important}
.dls-sd.woocommerce-cart table.shop_table .product-price{width:126px!important}
.dls-sd.woocommerce-cart table.shop_table .product-quantity{width:116px!important}
.dls-sd.woocommerce-cart table.shop_table .product-subtotal{width:132px!important;text-align:right!important}
.dls-sd.woocommerce-cart table.shop_table td.product-thumbnail img{
  width:76px!important;
  height:76px!important;
  max-width:76px!important;
  object-fit:cover!important;
  margin:0!important;
}
.dls-sd.woocommerce-cart table.shop_table td.product-name{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.dls-sd.woocommerce-cart table.shop_table td.product-name a{
  display:inline!important;
  line-height:1.35!important;
}
.dls-sd.woocommerce-cart table.shop_table .quantity,
.dls-sd.woocommerce-cart table.shop_table .quantity .qty{
  float:none!important;
}
.dls-sd.woocommerce-cart table.shop_table .quantity .qty{
  width:72px!important;
  min-width:72px!important;
  text-align:center!important;
}
.dls-sd.woocommerce-cart table.shop_table td.actions{
  width:auto!important;
  padding:18px!important;
  text-align:right!important;
  background:color-mix(in srgb,var(--dls-surface) 72%,var(--dls-bg))!important;
}
.dls-sd.woocommerce-cart table.shop_table td.actions .coupon{
  float:left!important;
  display:flex!important;
  align-items:stretch!important;
  gap:8px!important;
  max-width:100%!important;
}
.dls-sd.woocommerce-cart table.shop_table td.actions .coupon input{
  width:min(220px,42vw)!important;
  margin:0!important;
}
.dls-sd.woocommerce-cart table.shop_table td.actions button.button{
  float:none!important;
  margin:0!important;
}

/* Totals always form one stable right-aligned panel after the table. */
.dls-sd.woocommerce-cart .cart-collaterals,
.dls-sd.woocommerce-cart.dls-cart-split .woocommerce .cart-collaterals{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  margin:0!important;
  box-sizing:border-box!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.dls-sd.woocommerce-cart .cart-collaterals .cart_totals{
  float:none!important;
  width:min(100%,480px)!important;
  max-width:480px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.dls-sd.woocommerce-cart.dls-cart-totals-sticky .cart-collaterals .cart_totals{
  position:static!important;
  top:auto!important;
}
.dls-sd.woocommerce-cart .cart-collaterals .shop_table{
  table-layout:auto!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.dls-sd.woocommerce-cart .cart-collaterals .shop_table th,
.dls-sd.woocommerce-cart .cart-collaterals .shop_table td{
  width:auto!important;
  padding:12px 0!important;
}
.dls-sd.woocommerce-cart .cart-collaterals .shop_table td{text-align:right!important}
.dls-sd.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0!important;margin:0!important}
.dls-sd.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* WooCommerce Cart Block: keep main/sidebar columns contained. */
.dls-sd.woocommerce-cart .wc-block-cart{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.dls-sd.woocommerce-cart .wc-block-cart__main,
.dls-sd.woocommerce-cart .wc-block-cart__sidebar{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.dls-sd.woocommerce-cart .wc-block-cart-items__row{
  min-width:0!important;
}
.dls-sd.woocommerce-cart .wc-block-components-product-name{
  overflow-wrap:anywhere!important;
}

@media (max-width:900px){
  .dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:4.9em!important;
    max-height:4.9em!important;
  }
  .dls-sd.woocommerce-cart table.shop_table .product-price{width:108px!important}
  .dls-sd.woocommerce-cart table.shop_table .product-quantity{width:100px!important}
  .dls-sd.woocommerce-cart table.shop_table .product-subtotal{width:112px!important}
}

@media (max-width:720px){
  .dls-sd .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .dls-sd.woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:0!important;
    max-height:none!important;
    -webkit-line-clamp:5!important;
  }
  .dls-sd .woocommerce ul.products li.product .dls-sale-note,
  .dls-sd.woocommerce ul.products li.product .dls-sale-note{
    min-height:0!important;
  }

  .dls-sd.woocommerce-cart table.shop_table,
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table{
    display:block!important;
    table-layout:auto!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .dls-sd.woocommerce-cart table.shop_table thead,
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table thead{
    display:none!important;
  }
  .dls-sd.woocommerce-cart table.shop_table tbody,
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tbody{
    display:grid!important;
    gap:14px!important;
  }
  .dls-sd.woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item,
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr.woocommerce-cart-form__cart-item{
    display:grid!important;
    grid-template-columns:34px 76px minmax(0,1fr) auto!important;
    grid-template-areas:
      "remove image name name"
      ". image price price"
      ". image qty subtotal"!important;
    gap:9px 10px!important;
    align-items:center!important;
    padding:14px!important;
    border:1px solid var(--dls-border)!important;
    border-radius:var(--dls-radius)!important;
    background:var(--dls-bg)!important;
    box-shadow:var(--dls-shadow)!important;
  }
  .dls-sd.woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item td,
  .dls-sd.woocommerce-cart.dls-cart-cards table.shop_table tr.woocommerce-cart-form__cart-item td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    text-align:left!important;
  }
  .dls-sd.woocommerce-cart td.product-remove{grid-area:remove!important}
  .dls-sd.woocommerce-cart td.product-thumbnail{grid-area:image!important}
  .dls-sd.woocommerce-cart td.product-name{grid-area:name!important}
  .dls-sd.woocommerce-cart td.product-price{grid-area:price!important}
  .dls-sd.woocommerce-cart td.product-quantity{grid-area:qty!important}
  .dls-sd.woocommerce-cart td.product-subtotal{grid-area:subtotal!important;text-align:right!important}
  .dls-sd.woocommerce-cart table.shop_table td.product-thumbnail img{
    width:72px!important;
    height:72px!important;
  }
  .dls-sd.woocommerce-cart table.shop_table tr:not(.woocommerce-cart-form__cart-item){
    display:block!important;
  }
  .dls-sd.woocommerce-cart table.shop_table td.actions{
    display:block!important;
    width:100%!important;
    padding:14px 0!important;
    background:transparent!important;
    text-align:left!important;
  }
  .dls-sd.woocommerce-cart table.shop_table td.actions .coupon{
    float:none!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    margin:0 0 10px!important;
  }
  .dls-sd.woocommerce-cart table.shop_table td.actions .coupon input{
    width:100%!important;
    min-width:0!important;
  }
  .dls-sd.woocommerce-cart table.shop_table td.actions > button.button{
    width:100%!important;
  }
  .dls-sd.woocommerce-cart .cart-collaterals{
    display:block!important;
  }
  .dls-sd.woocommerce-cart .cart-collaterals .cart_totals{
    width:100%!important;
    max-width:none!important;
  }
}

/* ========================================================================
   v1.3.5 — ONLY FIX: keep Cart / Checkout mini-cart buttons perfectly aligned
   ======================================================================== */
.dls-sd .widget_shopping_cart_content p.buttons,
.dls-sd .widget_shopping_cart p.buttons,
.dls-sd .woocommerce.widget_shopping_cart p.buttons,
.dls-sd .woocommerce-mini-cart__buttons,
.dls-sd p.woocommerce-mini-cart__buttons,
.dls-sd .wc-block-mini-cart__footer-actions {
  float:none!important;
  clear:both!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  box-sizing:border-box!important;
  transform:none!important;
}

.dls-sd .widget_shopping_cart_content p.buttons > a,
.dls-sd .widget_shopping_cart p.buttons > a,
.dls-sd .woocommerce.widget_shopping_cart p.buttons > a,
.dls-sd .woocommerce-mini-cart__buttons > a,
.dls-sd p.woocommerce-mini-cart__buttons > a,
.dls-sd .wc-block-mini-cart__footer-actions > a,
.dls-sd .wc-block-mini-cart__footer-actions > .wc-block-components-button {
  float:none!important;
  clear:none!important;
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:50px!important;
  margin:0!important;
  padding:11px 10px!important;
  box-sizing:border-box!important;
  transform:none!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.25!important;
}

/* Neutralize theme rules that offset the first/last mini-cart action. */
.dls-sd .widget_shopping_cart_content p.buttons > a:first-child,
.dls-sd .widget_shopping_cart_content p.buttons > a:last-child,
.dls-sd .widget_shopping_cart p.buttons > a:first-child,
.dls-sd .widget_shopping_cart p.buttons > a:last-child,
.dls-sd .woocommerce-mini-cart__buttons > a:first-child,
.dls-sd .woocommerce-mini-cart__buttons > a:last-child {
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
}

/* ========================================================================
   v1.3.6 — CATEGORY ONLY: guaranteed quantity selector next to add-to-cart
   No product-page, cart, checkout or footer styling changes in this patch.
   ======================================================================== */
.dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-simple,
.dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-simple,
.dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-actions,
.dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-actions{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
.dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-quantity,
.dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-quantity{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  float:none!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  height:46px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-cart input.dls-loop-qty[type="number"],
.dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-cart input.dls-loop-qty[type="number"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:7px 5px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font:inherit!important;
  font-weight:700!important;
  line-height:1!important;
  color:var(--dls-text)!important;
  background:var(--dls-bg)!important;
  border:1px solid var(--dls-border)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  -webkit-appearance:auto!important;
  appearance:auto!important;
}
.dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-add-button,
.dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-add-button{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
@media (max-width:680px){
  .dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-simple,
  .dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-simple,
  .dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-actions,
  .dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-actions{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-quantity,
  .dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-cart .dls-loop-quantity,
  .dls-sd.dls-catalog-context .woocommerce ul.products li.product .dls-loop-quick-cart input.dls-loop-qty[type="number"],
  .dls-sd.dls-catalog-context.woocommerce ul.products li.product .dls-loop-quick-cart input.dls-loop-qty[type="number"]{
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
  }
}

/* ========================================================================
   v1.3.7 — ONLY FIX: mini-cart Cart / Checkout buttons use the full row
   ======================================================================== */
html body.dls-sd .widget_shopping_cart_content > p.buttons,
html body.dls-sd .widget_shopping_cart_content > p.woocommerce-mini-cart__buttons,
html body.dls-sd .widget_shopping_cart > p.buttons,
html body.dls-sd .woocommerce.widget_shopping_cart p.buttons,
html body.dls-sd .woocommerce-mini-cart__buttons,
html body.dls-sd p.woocommerce-mini-cart__buttons,
html body.dls-sd .wc-block-mini-cart__footer-actions {
  float:none!important;
  clear:both!important;
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  flex:0 0 100%!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:16px 0 0!important;
  padding:0!important;
  gap:12px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  box-sizing:border-box!important;
  transform:none!important;
}

html body.dls-sd .widget_shopping_cart_content > p.buttons > a,
html body.dls-sd .widget_shopping_cart_content > p.woocommerce-mini-cart__buttons > a,
html body.dls-sd .widget_shopping_cart > p.buttons > a,
html body.dls-sd .woocommerce.widget_shopping_cart p.buttons > a,
html body.dls-sd .woocommerce-mini-cart__buttons > a,
html body.dls-sd p.woocommerce-mini-cart__buttons > a,
html body.dls-sd .wc-block-mini-cart__footer-actions > a,
html body.dls-sd .wc-block-mini-cart__footer-actions > .wc-block-components-button {
  float:none!important;
  clear:none!important;
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex:1 1 0!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:50px!important;
  margin:0!important;
  padding:12px 16px!important;
  box-sizing:border-box!important;
  transform:none!important;
  text-align:center!important;
  white-space:nowrap!important;
  line-height:1.2!important;
}

/* ========================================================================
   v1.3.8 — PRODUCT PAGE refinement + archive stay-in-place add effect
   Scope is intentionally limited to single-product presentation and
   catalogue quick-add feedback/navigation behaviour.
   ======================================================================== */

/* SINGLE PRODUCT — replace the old red legacy saving box with the same
   calm editorial saving note used on catalogue cards. */
html body.dls-sd.single-product .summary .dls-legacy-saving{
  display:none!important;
}
html body.dls-sd.single-product .woocommerce div.product .summary > .dls-sale-note{
  width:fit-content!important;
  max-width:100%!important;
  min-height:0!important;
  margin:4px 0 22px!important;
  padding:11px 15px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:4px 8px!important;
  border:0!important;
  border-left:3px solid color-mix(in srgb,var(--dls-accent) 72%,var(--dls-accent-2))!important;
  border-radius:0 13px 13px 0!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dls-accent) 9%,var(--dls-bg)),color-mix(in srgb,var(--dls-surface) 72%,var(--dls-bg)))!important;
  color:var(--dls-text)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .woocommerce div.product .summary > .dls-sale-note .dls-sale-note-label{
  font-size:.78rem!important;
}
html body.dls-sd.single-product .woocommerce div.product .summary > .dls-sale-note .dls-sale-note-value{
  font-size:.86rem!important;
}

/* SINGLE PRODUCT — "Kosárban N×" uses the same visual language as the
   catalogue badge, but sits naturally in the product-information flow. */
html body.dls-sd.single-product .woocommerce div.product .summary .dls-cart-presence-single{
  width:fit-content!important;
  max-width:100%!important;
  min-height:42px!important;
  margin:2px 0 18px!important;
  padding:10px 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 30%,var(--dls-border))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,#fff 82%,var(--dls-accent))!important;
  color:var(--dls-accent-2)!important;
  box-shadow:0 8px 22px rgba(18,35,28,.08)!important;
  font-size:.82rem!important;
  font-weight:650!important;
  letter-spacing:.02em!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .woocommerce div.product .summary .dls-cart-presence-single .dls-cart-presence-label{
  opacity:.82!important;
}
html body.dls-sd.single-product .woocommerce div.product .summary .dls-cart-presence-single .dls-cart-presence-qty{
  font-size:.8rem!important;
  font-weight:780!important;
}

/* SINGLE PRODUCT — breadcrumb becomes a quiet editorial path instead of a
   plain text line. Existing WooCommerce / translated labels are preserved. */
html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb{
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 34px!important;
  padding:8px 12px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 20%,var(--dls-border))!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dls-accent) 5%,#fff),#fff)!important;
  color:var(--dls-muted)!important;
  box-shadow:0 7px 22px rgba(18,35,28,.045)!important;
  font-size:.76rem!important;
  line-height:1.3!important;
  letter-spacing:.015em!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:27px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  color:var(--dls-accent-2)!important;
  background:transparent!important;
  font-weight:620!important;
  text-decoration:none!important;
}
html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb a:hover{
  background:color-mix(in srgb,var(--dls-accent) 10%,#fff)!important;
  color:var(--dls-accent-2)!important;
}
html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb .dls-crumb-sep{
  width:19px!important;
  height:19px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 19px!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--dls-accent) 10%,#fff)!important;
  color:var(--dls-accent)!important;
  font-size:.85rem!important;
  line-height:1!important;
}
html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb .dls-crumb-current{
  min-width:0!important;
  max-width:min(420px,52vw)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--dls-muted)!important;
  font-weight:560!important;
}

/* SINGLE PRODUCT — product metadata becomes a designed information cluster.
   No labels are replaced: SKU/category/tag/brand strings remain native and
   therefore keep the existing multilingual behaviour. */
html body.dls-sd.single-product .woocommerce div.product .product_meta{
  margin-top:20px!important;
  padding:18px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:9px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 18%,var(--dls-border))!important;
  border-top:1px solid color-mix(in srgb,var(--dls-accent) 18%,var(--dls-border))!important;
  border-radius:calc(var(--dls-radius) * .75)!important;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--dls-accent) 8%,transparent),transparent 32%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 76%,#fff))!important;
  box-shadow:0 10px 30px rgba(18,35,28,.055)!important;
  color:var(--dls-muted)!important;
  font-size:.78rem!important;
  line-height:1.55!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .woocommerce div.product .product_meta > span,
html body.dls-sd.single-product .woocommerce div.product .product_meta > div{
  min-height:36px!important;
  max-width:100%!important;
  padding:7px 10px!important;
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 16%,var(--dls-border))!important;
  border-radius:11px!important;
  background:color-mix(in srgb,#fff 92%,var(--dls-accent))!important;
  color:var(--dls-muted)!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .woocommerce div.product .product_meta > span::before,
html body.dls-sd.single-product .woocommerce div.product .product_meta > div::before{
  content:"";
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:var(--dls-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dls-accent) 10%,transparent)!important;
}
html body.dls-sd.single-product .woocommerce div.product .product_meta a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--dls-accent) 8%,#fff)!important;
  color:var(--dls-accent-2)!important;
  font-weight:620!important;
  text-decoration:none!important;
  transition:background .2s ease,transform .2s ease!important;
}
html body.dls-sd.single-product .woocommerce div.product .product_meta a:hover{
  background:color-mix(in srgb,var(--dls-accent) 16%,#fff)!important;
  transform:translateY(-1px)!important;
}

/* CATALOGUE ONLY — visible confirmation while staying on the same page. */
html body.dls-sd.dls-catalog-context .woocommerce ul.products li.product.dls-card-added,
html body.dls-sd.dls-catalog-context.woocommerce ul.products li.product.dls-card-added{
  animation:dlsCatalogueAdded .82s ease!important;
}
@keyframes dlsCatalogueAdded{
  0%{box-shadow:var(--dls-shadow);transform:translateY(0)}
  38%{box-shadow:0 0 0 4px color-mix(in srgb,var(--dls-accent) 17%,transparent),0 18px 46px rgba(18,35,28,.14);transform:translateY(-3px)}
  100%{box-shadow:var(--dls-shadow);transform:translateY(0)}
}

@media (max-width:680px){
  html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb{
    width:100%!important;
    border-radius:16px!important;
    margin-bottom:24px!important;
  }
  html body.dls-sd.single-product .woocommerce .woocommerce-breadcrumb .dls-crumb-current{
    max-width:100%!important;
    flex:1 1 160px!important;
  }
  html body.dls-sd.single-product .woocommerce div.product .product_meta{
    padding:13px!important;
    gap:7px!important;
  }
  html body.dls-sd.single-product .woocommerce div.product .product_meta > span,
  html body.dls-sd.single-product .woocommerce div.product .product_meta > div{
    width:100%!important;
  }
}

/* v1.3.10 — checkout notice icon cleanup only */
.dls-sd.woocommerce-checkout .woocommerce-message::before,
.dls-sd.woocommerce-checkout .woocommerce-info::before,
.dls-sd.woocommerce-checkout .woocommerce-error::before,
.dls-sd.woocommerce-checkout .woocommerce-message:before,
.dls-sd.woocommerce-checkout .woocommerce-info:before,
.dls-sd.woocommerce-checkout .woocommerce-error:before,
.dls-sd.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.dls-sd.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info:before{
  content:none!important;
  display:none!important;
}

/* ========================================================================
   v1.3.11 — SINGLE PRODUCT ART DIRECTION ONLY
   Stronger visual hierarchy around product information + reliable in-cart
   quantity indicator. Catalogue, cart and checkout layouts are untouched.
   ======================================================================== */

/* Product summary: a deliberate editorial information column rather than a
   loose stack of unrelated WooCommerce text rows. */
html body.dls-sd.single-product div.product .summary,
html body.dls-sd.single-product .summary.entry-summary{
  position:relative!important;
  isolation:isolate!important;
}
html body.dls-sd.single-product div.product .summary::before,
html body.dls-sd.single-product .summary.entry-summary::before{
  content:""!important;
  position:absolute!important;
  top:-10px!important;
  left:0!important;
  width:96px!important;
  height:3px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,var(--dls-accent),color-mix(in srgb,var(--dls-accent-2) 52%,var(--dls-accent)),transparent)!important;
  pointer-events:none!important;
}

/* Title gets an editorial anchor without adding any frontend copy. */
html body.dls-sd.single-product div.product .summary .product_title{
  position:relative!important;
  margin-bottom:22px!important;
  padding-bottom:19px!important;
}
html body.dls-sd.single-product div.product .summary .product_title::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:min(178px,38%)!important;
  height:1px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dls-accent-2) 78%,var(--dls-accent)),transparent)!important;
}

/* Price becomes a clear visual unit. */
html body.dls-sd.single-product div.product .summary > p.price,
html body.dls-sd.single-product div.product .summary > span.price{
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 13px!important;
  padding:9px 13px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--dls-accent) 8%,#fff),#fff)!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 15%,var(--dls-border))!important;
  box-shadow:0 7px 22px rgba(18,35,28,.04)!important;
}

/* The saving note stays calm but now reads as part of the same price block. */
html body.dls-sd.single-product div.product .summary > .dls-sale-note{
  margin:0 0 23px!important;
  padding:10px 14px 10px 15px!important;
  border-left-width:4px!important;
  box-shadow:0 8px 22px rgba(18,35,28,.035)!important;
}

/* Short description: separate the story from transactional information. */
html body.dls-sd.single-product div.product .summary .woocommerce-product-details__short-description{
  position:relative!important;
  margin:2px 0 24px!important;
  padding:18px 20px 18px 24px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 14%,var(--dls-border))!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--dls-accent) 7%,transparent),transparent 35%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 67%,#fff))!important;
  box-shadow:0 10px 28px rgba(18,35,28,.04)!important;
  color:var(--dls-text)!important;
  line-height:1.72!important;
}
html body.dls-sd.single-product div.product .summary .woocommerce-product-details__short-description::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:18px!important;
  bottom:18px!important;
  width:3px!important;
  border-radius:99px!important;
  background:linear-gradient(180deg,var(--dls-accent),color-mix(in srgb,var(--dls-accent-2) 55%,var(--dls-accent)))!important;
}
html body.dls-sd.single-product div.product .summary .woocommerce-product-details__short-description p:last-child{
  margin-bottom:0!important;
}

/* Stock status: make availability scannable instead of a stray text line. */
html body.dls-sd.single-product div.product .summary p.stock,
html body.dls-sd.single-product div.product .summary .stock{
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 16px!important;
  padding:8px 12px 8px 30px!important;
  position:relative!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 20%,var(--dls-border))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,#fff 90%,var(--dls-accent))!important;
  color:var(--dls-accent-2)!important;
  font-size:.82rem!important;
  font-weight:680!important;
  line-height:1.15!important;
}
html body.dls-sd.single-product div.product .summary p.stock::before,
html body.dls-sd.single-product div.product .summary .stock::before{
  content:""!important;
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  margin-top:-4px!important;
  border-radius:50%!important;
  background:var(--dls-accent)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--dls-accent) 12%,transparent)!important;
}

/* Reliable single-product in-cart indicator. It intentionally mirrors the
   category card language but says explicitly that the units are ALREADY in
   the cart. */
html body.dls-sd.single-product .dls-cart-presence-single{
  width:fit-content!important;
  max-width:100%!important;
  min-height:46px!important;
  margin:0 0 13px!important;
  padding:10px 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 28%,var(--dls-border))!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,color-mix(in srgb,#fff 86%,var(--dls-accent)),#fff)!important;
  color:var(--dls-accent-2)!important;
  box-shadow:0 9px 24px rgba(18,35,28,.075)!important;
  font-size:.84rem!important;
  font-weight:680!important;
  letter-spacing:.015em!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .dls-cart-presence-single[hidden]{display:none!important}
html body.dls-sd.single-product .dls-cart-presence-single .dls-cart-presence-icon{
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  flex:0 0 18px!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--dls-accent-2)!important;
}
html body.dls-sd.single-product .dls-cart-presence-single .dls-cart-presence-icon svg{
  width:16px!important;
  height:16px!important;
  display:block!important;
}
html body.dls-sd.single-product .dls-cart-presence-single .dls-cart-presence-label{
  opacity:.78!important;
}
html body.dls-sd.single-product .dls-cart-presence-single .dls-cart-presence-qty{
  padding-left:2px!important;
  color:var(--dls-accent-2)!important;
  font-size:.86rem!important;
  font-weight:820!important;
}

/* Purchase controls become their own clean action deck. */
html body.dls-sd.single-product div.product .summary form.cart{
  position:relative!important;
  margin:0 0 20px!important;
  padding:15px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 15%,var(--dls-border))!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--dls-surface) 62%,#fff))!important;
  box-shadow:0 10px 30px rgba(18,35,28,.045)!important;
}
html body.dls-sd.single-product div.product .summary form.cart::after{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:-10px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,var(--dls-border),transparent)!important;
}

/* Metadata: robust selectors (without requiring a .woocommerce ancestor)
   because this theme places some product metadata outside that wrapper. */
html body.dls-sd.single-product div.product .product_meta,
html body.dls-sd.single-product .summary .product_meta{
  width:100%!important;
  margin:24px 0 0!important;
  padding:15px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 18%,var(--dls-border))!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--dls-accent) 9%,transparent),transparent 34%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 74%,#fff))!important;
  box-shadow:0 12px 32px rgba(18,35,28,.055)!important;
  color:var(--dls-muted)!important;
  font-size:.78rem!important;
  line-height:1.5!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product div.product .product_meta > span,
html body.dls-sd.single-product div.product .product_meta > div,
html body.dls-sd.single-product .summary .product_meta > span,
html body.dls-sd.single-product .summary .product_meta > div{
  min-width:0!important;
  min-height:52px!important;
  margin:0!important;
  padding:10px 11px 10px 15px!important;
  position:relative!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:center!important;
  align-items:center!important;
  gap:5px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 14%,var(--dls-border))!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.74)!important;
  color:var(--dls-muted)!important;
  box-shadow:0 4px 14px rgba(18,35,28,.025)!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product div.product .product_meta > span::before,
html body.dls-sd.single-product div.product .product_meta > div::before,
html body.dls-sd.single-product .summary .product_meta > span::before,
html body.dls-sd.single-product .summary .product_meta > div::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:11px!important;
  bottom:11px!important;
  width:3px!important;
  border-radius:99px!important;
  background:linear-gradient(180deg,var(--dls-accent),color-mix(in srgb,var(--dls-accent-2) 50%,var(--dls-accent)))!important;
  box-shadow:none!important;
}
html body.dls-sd.single-product div.product .product_meta a,
html body.dls-sd.single-product .summary .product_meta a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  margin:1px 1px!important;
  padding:3px 8px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 14%,var(--dls-border))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--dls-accent) 7%,#fff)!important;
  color:var(--dls-accent-2)!important;
  font-weight:650!important;
  text-decoration:none!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease!important;
}
html body.dls-sd.single-product div.product .product_meta a:hover,
html body.dls-sd.single-product .summary .product_meta a:hover{
  transform:translateY(-1px)!important;
  background:color-mix(in srgb,var(--dls-accent) 13%,#fff)!important;
  border-color:color-mix(in srgb,var(--dls-accent) 35%,var(--dls-border))!important;
}

/* Common brand plugins often render the brand outside .product_meta. Treat it
   as part of the same design language without replacing its translated text. */
html body.dls-sd.single-product .summary > [class*="brand"],
html body.dls-sd.single-product .summary > [class*="Brand"],
html body.dls-sd.single-product .summary .pwb-single-product-brands{
  width:fit-content!important;
  max-width:100%!important;
  margin:9px 0 0!important;
  padding:8px 11px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 15%,var(--dls-border))!important;
  border-radius:11px!important;
  background:color-mix(in srgb,#fff 91%,var(--dls-accent))!important;
  color:var(--dls-muted)!important;
  font-size:.78rem!important;
  line-height:1.4!important;
}
html body.dls-sd.single-product .summary > [class*="brand"] a,
html body.dls-sd.single-product .summary > [class*="Brand"] a,
html body.dls-sd.single-product .summary .pwb-single-product-brands a{
  color:var(--dls-accent-2)!important;
  font-weight:680!important;
  text-decoration:none!important;
}

/* Breadcrumb: broaden selector so it works even when the theme renders it
   outside WooCommerce's inner wrapper. */
html body.dls-sd.single-product .woocommerce-breadcrumb{
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 34px!important;
  padding:7px 10px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  border:1px solid color-mix(in srgb,var(--dls-accent) 18%,var(--dls-border))!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dls-accent) 6%,#fff),#fff)!important;
  box-shadow:0 7px 22px rgba(18,35,28,.04)!important;
  color:var(--dls-muted)!important;
  font-size:.76rem!important;
  line-height:1.3!important;
  box-sizing:border-box!important;
}
html body.dls-sd.single-product .woocommerce-breadcrumb a{
  min-height:27px!important;
  padding:5px 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  color:var(--dls-accent-2)!important;
  font-weight:640!important;
  text-decoration:none!important;
}
html body.dls-sd.single-product .woocommerce-breadcrumb a:hover{
  background:color-mix(in srgb,var(--dls-accent) 10%,#fff)!important;
}
html body.dls-sd.single-product .woocommerce-breadcrumb .dls-crumb-sep{
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 18px!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--dls-accent) 10%,#fff)!important;
  color:var(--dls-accent)!important;
  line-height:1!important;
}

@media (max-width:680px){
  html body.dls-sd.single-product div.product .summary .woocommerce-product-details__short-description{
    padding:15px 15px 15px 19px!important;
  }
  html body.dls-sd.single-product div.product .product_meta,
  html body.dls-sd.single-product .summary .product_meta{
    grid-template-columns:1fr!important;
    padding:12px!important;
  }
  html body.dls-sd.single-product div.product .product_meta > span,
  html body.dls-sd.single-product div.product .product_meta > div,
  html body.dls-sd.single-product .summary .product_meta > span,
  html body.dls-sd.single-product .summary .product_meta > div{
    min-height:46px!important;
  }
  html body.dls-sd.single-product .woocommerce-breadcrumb{
    width:100%!important;
    border-radius:15px!important;
    margin-bottom:24px!important;
  }
}

/* ===== v1.3.13 related products refinement ===== */
html body.dls-sd.single-product .woocommerce div.product .related,
html body.dls-sd.single-product .woocommerce div.product .upsells{
  margin-top:clamp(28px,4vw,54px);
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:stretch;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products::before,
html body.dls-sd.single-product .woocommerce div.product .related ul.products::after,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products::before,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products::after{display:none!important}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product{
  width:auto!important;
  margin:0!important;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:16px 16px 18px;
  border-radius:calc(var(--dls-radius) + 6px);
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product > a.woocommerce-LoopProduct-link,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  gap:12px;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product a img,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product a img,
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product img,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product img{
  width:100%!important;
  aspect-ratio:4/3;
  max-height:260px;
  object-fit:cover;
  border-radius:calc(var(--dls-image-radius) * .9);
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .woocommerce-loop-product__title{
  min-height:3.8em;
  -webkit-line-clamp:3;
  line-height:1.22;
  font-size:clamp(1.05rem,1.2vw,1.22rem);
  margin-bottom:4px;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .price,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .price{
  margin:2px 0 10px!important;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .dls-related-supporting-meta,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .dls-related-supporting-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:2px var(--dls-pad) 10px;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .dls-related-chip,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .dls-related-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--dls-accent) 10%,#fff);
  color:var(--dls-accent-2);
  border:1px solid color-mix(in srgb,var(--dls-accent) 28%,var(--dls-border));
  font-size:.72rem;
  font-weight:700;
  line-height:1;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .dls-sale-note,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .dls-sale-note{
  margin:0 var(--dls-pad) 12px;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .dls-loop-quick-cart,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .dls-loop-quick-cart,
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .button,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .button{
  margin-top:auto!important;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .button,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .button{
  width:100%;
}
@media (max-width:1100px){
  html body.dls-sd.single-product .woocommerce div.product .related ul.products,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:680px){
  html body.dls-sd.single-product .woocommerce div.product .related ul.products,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products{
    grid-template-columns:1fr;
    gap:18px;
  }
  html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product a img,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product a img,
  html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product img,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product img{
    max-height:220px;
  }
}

/* ===== v1.3.14 featured / highlighted product sections on single product ===== */
html body.dls-sd.single-product .woocommerce section:has(> ul.products),
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template),
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(ul.products),
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(.wp-block-woocommerce-product-template),
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(ul.products),
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(.wp-block-woocommerce-product-template){
  margin-top:clamp(28px,4vw,56px);
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > h2,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > h2,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h2,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h3,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h2,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h3{
  font-size:clamp(1.6rem,2.4vw,2.35rem);
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--dls-text);
  margin:0 0 24px;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > h2::after,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > h2::after,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h2::after,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h3::after,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h2::after,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h3::after{
  content:"";
  display:block;
  width:88px;
  height:2px;
  margin-top:10px;
  background:linear-gradient(90deg,var(--dls-accent),transparent);
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px!important;
  align-items:stretch;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products::before,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products::after,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products::before,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products::after,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products::before,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products::after{display:none!important}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template > li,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product,
html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template > li,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template > li{
  width:auto!important;
  margin:0!important;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-self:stretch;
  padding:16px 16px 18px;
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 80%,#fff));
  border:1px solid color-mix(in srgb,var(--dls-border) 92%,#fff);
  border-radius:calc(var(--dls-radius) + 6px);
  box-shadow:0 18px 40px rgba(16,32,28,.06);
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product > a.woocommerce-LoopProduct-link,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product > a.woocommerce-LoopProduct-link,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product > a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  gap:12px;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product img,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template > li img,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product img,
html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template > li img,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product img,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template > li img{
  width:100%!important;
  aspect-ratio:4/3;
  max-height:220px;
  object-fit:cover;
  border-radius:calc(var(--dls-image-radius) * .85);
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .woocommerce-loop-product__title{
  min-height:3.7em;
  -webkit-line-clamp:3;
  line-height:1.2;
  font-size:clamp(1rem,1.1vw,1.16rem);
  margin-bottom:4px;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .price,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .price,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .price{
  margin:2px 0 10px!important;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .dls-related-supporting-meta,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .dls-related-supporting-meta,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .dls-related-supporting-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:2px var(--dls-pad) 10px;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .dls-related-chip,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .dls-related-chip,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .dls-related-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--dls-accent) 10%,#fff);
  color:var(--dls-accent-2);
  border:1px solid color-mix(in srgb,var(--dls-accent) 28%,var(--dls-border));
  font-size:.72rem;
  font-weight:700;
  line-height:1;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .dls-sale-note,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .dls-sale-note,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .dls-sale-note{
  margin:0 var(--dls-pad) 12px;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .dls-loop-quick-cart,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .dls-loop-quick-cart,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .dls-loop-quick-cart,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .button,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .button,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .button{
  margin-top:auto!important;
}
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .button,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .button,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .button{
  width:100%;
}
@media (max-width:1100px){
  html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:680px){
  html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
    grid-template-columns:1fr;
    gap:18px!important;
  }
}

/* ===== v1.3.15 product-page recommendation sections: 4-column + strong separators ===== */
html body.dls-sd.single-product .woocommerce div.product .related,
html body.dls-sd.single-product .woocommerce div.product .upsells,
html body.dls-sd.single-product .woocommerce section:has(> ul.products),
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template),
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(ul.products),
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(.wp-block-woocommerce-product-template),
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(ul.products),
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(.wp-block-woocommerce-product-template){
  position:relative;
  margin-top:clamp(34px,5vw,70px)!important;
  padding:32px 24px 28px;
  background:
    radial-gradient(circle at 0 0, rgba(114,174,184,.09), transparent 26%),
    radial-gradient(circle at 100% 100%, rgba(22,61,45,.05), transparent 24%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 82%,#fff));
  border:1px solid color-mix(in srgb,var(--dls-border) 92%,#fff);
  border-radius:calc(var(--dls-radius) + 10px);
  box-shadow:0 24px 56px rgba(14,31,26,.06);
  overflow:hidden;
}
html body.dls-sd.single-product .woocommerce div.product .related::before,
html body.dls-sd.single-product .woocommerce div.product .upsells::before,
html body.dls-sd.single-product .woocommerce section:has(> ul.products)::before,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template)::before,
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(ul.products)::before,
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(.wp-block-woocommerce-product-template)::before,
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(ul.products)::before,
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(.wp-block-woocommerce-product-template)::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:6px;
  background:linear-gradient(90deg,var(--dls-accent),color-mix(in srgb,var(--dls-accent-2) 62%,#fff),var(--dls-accent));
  border-radius:0 0 999px 999px;
  opacity:.95;
}
html body.dls-sd.single-product .woocommerce div.product .related::after,
html body.dls-sd.single-product .woocommerce div.product .upsells::after,
html body.dls-sd.single-product .woocommerce section:has(> ul.products)::after,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template)::after,
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(ul.products)::after,
html body.dls-sd.single-product .woocommerce [class*="featured"]:has(.wp-block-woocommerce-product-template)::after,
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(ul.products)::after,
html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(.wp-block-woocommerce-product-template)::after{
  content:"✦";
  position:absolute;
  top:14px;
  right:26px;
  font-size:16px;
  line-height:1;
  color:color-mix(in srgb,var(--dls-accent) 70%,var(--dls-accent-2));
  opacity:.85;
}
html body.dls-sd.single-product .woocommerce div.product .related > h2,
html body.dls-sd.single-product .woocommerce div.product .upsells > h2,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > h2,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > h2,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h2,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h3,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h2,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 22px;
  padding-bottom:14px;
  border-bottom:1px solid color-mix(in srgb,var(--dls-border) 88%,#fff);
}
html body.dls-sd.single-product .woocommerce div.product .related > h2::before,
html body.dls-sd.single-product .woocommerce div.product .upsells > h2::before,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > h2::before,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > h2::before,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h2::before,
html body.dls-sd.single-product .woocommerce [class*="featured"] > h3::before,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h2::before,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h3::before{
  content:"Ajánló szekció";
  order:2;
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:color-mix(in srgb,var(--dls-accent) 9%,#fff);
  color:var(--dls-accent-2);
  border:1px solid color-mix(in srgb,var(--dls-accent) 25%,var(--dls-border));
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template > li,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product,
html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template > li,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template > li{
  padding:14px 14px 16px;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product img,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product img,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product img,
html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template > li img,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product img,
html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template > li img,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product img,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template > li img{
  max-height:195px;
}
html body.dls-sd.single-product .woocommerce div.product .related ul.products li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce div.product .upsells ul.products li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products > li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products > li.product .woocommerce-loop-product__title,
html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products > li.product .woocommerce-loop-product__title{
  min-height:3.5em;
  font-size:clamp(.95rem,1vw,1.08rem);
}
@media (max-width:1240px){
  html body.dls-sd.single-product .woocommerce div.product .related ul.products,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:960px){
  html body.dls-sd.single-product .woocommerce div.product .related,
  html body.dls-sd.single-product .woocommerce div.product .upsells,
  html body.dls-sd.single-product .woocommerce section:has(> ul.products),
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template),
  html body.dls-sd.single-product .woocommerce [class*="featured"]:has(ul.products),
  html body.dls-sd.single-product .woocommerce [class*="featured"]:has(.wp-block-woocommerce-product-template),
  html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(ul.products),
  html body.dls-sd.single-product .woocommerce [class*="ajanl"]:has(.wp-block-woocommerce-product-template){padding:28px 18px 22px}
  html body.dls-sd.single-product .woocommerce div.product .related ul.products,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:680px){
  html body.dls-sd.single-product .woocommerce div.product .related > h2,
  html body.dls-sd.single-product .woocommerce div.product .upsells > h2,
  html body.dls-sd.single-product .woocommerce section:has(> ul.products) > h2,
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > h2,
  html body.dls-sd.single-product .woocommerce [class*="featured"] > h2,
  html body.dls-sd.single-product .woocommerce [class*="featured"] > h3,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h2,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] > h3{
    align-items:flex-start;
    flex-direction:column;
  }
  html body.dls-sd.single-product .woocommerce div.product .related ul.products,
  html body.dls-sd.single-product .woocommerce div.product .upsells ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> ul.products) > ul.products,
  html body.dls-sd.single-product .woocommerce section:has(> .wp-block-woocommerce-product-template) > .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="featured"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="featured"] .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] ul.products,
  html body.dls-sd.single-product .woocommerce [class*="ajanl"] .wp-block-woocommerce-product-template{
    grid-template-columns:1fr!important;
  }
}

/* ===== v1.3.16 hard fix for single-product recommendation blocks / carousels ===== */
html body.dls-sd.single-product .woocommerce-tabs .panel:has(ul.products),
html body.dls-sd.single-product .entry-content > *:has(ul.products),
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template),
html body.dls-sd.single-product .entry-content > *:has(.slick-track),
html body.dls-sd.single-product .entry-content > *:has(.owl-stage),
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper),
html body.dls-sd.single-product .product > *:has(> ul.products),
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template){
  position:relative;
  margin-top:clamp(34px,5vw,72px)!important;
  padding:34px 24px 26px!important;
  background:
    radial-gradient(circle at 0 0, rgba(114,174,184,.09), transparent 28%),
    radial-gradient(circle at 100% 100%, rgba(22,61,45,.06), transparent 26%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 82%,#fff));
  border:1px solid color-mix(in srgb,var(--dls-border) 92%,#fff);
  border-radius:calc(var(--dls-radius) + 12px);
  box-shadow:0 24px 58px rgba(14,31,26,.06);
  overflow:hidden;
}
html body.dls-sd.single-product .woocommerce-tabs .panel:has(ul.products)::before,
html body.dls-sd.single-product .entry-content > *:has(ul.products)::before,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template)::before,
html body.dls-sd.single-product .entry-content > *:has(.slick-track)::before,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage)::before,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper)::before,
html body.dls-sd.single-product .product > *:has(> ul.products)::before,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template)::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:7px;
  background:linear-gradient(90deg,var(--dls-accent),color-mix(in srgb,var(--dls-accent-2) 62%,#fff),var(--dls-accent));
  border-radius:0 0 999px 999px;
}
html body.dls-sd.single-product .woocommerce-tabs .panel:has(ul.products) > h2,
html body.dls-sd.single-product .entry-content > *:has(ul.products) > h1,
html body.dls-sd.single-product .entry-content > *:has(ul.products) > h2,
html body.dls-sd.single-product .entry-content > *:has(ul.products) > h3,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template) > h1,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template) > h2,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template) > h3,
html body.dls-sd.single-product .entry-content > *:has(.slick-track) > h1,
html body.dls-sd.single-product .entry-content > *:has(.slick-track) > h2,
html body.dls-sd.single-product .entry-content > *:has(.slick-track) > h3,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage) > h1,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage) > h2,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage) > h3,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper) > h1,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper) > h2,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper) > h3,
html body.dls-sd.single-product .product > *:has(> ul.products) > h1,
html body.dls-sd.single-product .product > *:has(> ul.products) > h2,
html body.dls-sd.single-product .product > *:has(> ul.products) > h3,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template) > h1,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template) > h2,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template) > h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 22px!important;
  padding-bottom:14px;
  border-bottom:1px solid color-mix(in srgb,var(--dls-border) 88%,#fff);
}
html body.dls-sd.single-product .woocommerce-tabs .panel:has(ul.products) > h2::after,
html body.dls-sd.single-product .entry-content > *:has(ul.products) > h1::after,
html body.dls-sd.single-product .entry-content > *:has(ul.products) > h2::after,
html body.dls-sd.single-product .entry-content > *:has(ul.products) > h3::after,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template) > h1::after,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template) > h2::after,
html body.dls-sd.single-product .entry-content > *:has(.wp-block-woocommerce-product-template) > h3::after,
html body.dls-sd.single-product .entry-content > *:has(.slick-track) > h1::after,
html body.dls-sd.single-product .entry-content > *:has(.slick-track) > h2::after,
html body.dls-sd.single-product .entry-content > *:has(.slick-track) > h3::after,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage) > h1::after,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage) > h2::after,
html body.dls-sd.single-product .entry-content > *:has(.owl-stage) > h3::after,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper) > h1::after,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper) > h2::after,
html body.dls-sd.single-product .entry-content > *:has(.swiper-wrapper) > h3::after,
html body.dls-sd.single-product .product > *:has(> ul.products) > h1::after,
html body.dls-sd.single-product .product > *:has(> ul.products) > h2::after,
html body.dls-sd.single-product .product > *:has(> ul.products) > h3::after,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template) > h1::after,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template) > h2::after,
html body.dls-sd.single-product .product > *:has(> .wp-block-woocommerce-product-template) > h3::after{
  content:"Ajánló szekció";
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:color-mix(in srgb,var(--dls-accent) 9%,#fff);
  color:var(--dls-accent-2);
  border:1px solid color-mix(in srgb,var(--dls-accent) 25%,var(--dls-border));
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* kill carousel behavior and render true 4-col grid */
html body.dls-sd.single-product .entry-content .slick-slider,
html body.dls-sd.single-product .entry-content .owl-carousel,
html body.dls-sd.single-product .entry-content .swiper,
html body.dls-sd.single-product .entry-content .swiper-container,
html body.dls-sd.single-product .woocommerce-tabs .slick-slider,
html body.dls-sd.single-product .woocommerce-tabs .owl-carousel,
html body.dls-sd.single-product .woocommerce-tabs .swiper,
html body.dls-sd.single-product .woocommerce-tabs .swiper-container{
  overflow:visible!important;
}
html body.dls-sd.single-product .entry-content .slick-list,
html body.dls-sd.single-product .entry-content .owl-stage-outer,
html body.dls-sd.single-product .woocommerce-tabs .slick-list,
html body.dls-sd.single-product .woocommerce-tabs .owl-stage-outer{
  overflow:visible!important;
  padding:0!important;
}
html body.dls-sd.single-product .entry-content .slick-track,
html body.dls-sd.single-product .entry-content .owl-stage,
html body.dls-sd.single-product .entry-content .swiper-wrapper,
html body.dls-sd.single-product .woocommerce-tabs .slick-track,
html body.dls-sd.single-product .woocommerce-tabs .owl-stage,
html body.dls-sd.single-product .woocommerce-tabs .swiper-wrapper,
html body.dls-sd.single-product .entry-content ul.products,
html body.dls-sd.single-product .entry-content .wp-block-woocommerce-product-template,
html body.dls-sd.single-product .woocommerce-tabs ul.products,
html body.dls-sd.single-product .woocommerce-tabs .wp-block-woocommerce-product-template{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  max-width:none!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  float:none!important;
}
html body.dls-sd.single-product .entry-content .slick-slide,
html body.dls-sd.single-product .entry-content .owl-item,
html body.dls-sd.single-product .entry-content .swiper-slide,
html body.dls-sd.single-product .woocommerce-tabs .slick-slide,
html body.dls-sd.single-product .woocommerce-tabs .owl-item,
html body.dls-sd.single-product .woocommerce-tabs .swiper-slide,
html body.dls-sd.single-product .entry-content ul.products > li.product,
html body.dls-sd.single-product .entry-content .wp-block-woocommerce-product-template > li,
html body.dls-sd.single-product .woocommerce-tabs ul.products > li.product,
html body.dls-sd.single-product .woocommerce-tabs .wp-block-woocommerce-product-template > li{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  float:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
}
html body.dls-sd.single-product .entry-content .slick-arrow,
html body.dls-sd.single-product .entry-content .owl-nav,
html body.dls-sd.single-product .entry-content .owl-dots,
html body.dls-sd.single-product .entry-content .slick-dots,
html body.dls-sd.single-product .entry-content .swiper-pagination,
html body.dls-sd.single-product .entry-content .swiper-button-next,
html body.dls-sd.single-product .entry-content .swiper-button-prev,
html body.dls-sd.single-product .woocommerce-tabs .slick-arrow,
html body.dls-sd.single-product .woocommerce-tabs .owl-nav,
html body.dls-sd.single-product .woocommerce-tabs .owl-dots,
html body.dls-sd.single-product .woocommerce-tabs .slick-dots,
html body.dls-sd.single-product .woocommerce-tabs .swiper-pagination,
html body.dls-sd.single-product .woocommerce-tabs .swiper-button-next,
html body.dls-sd.single-product .woocommerce-tabs .swiper-button-prev{
  display:none!important;
}
@media (max-width:1240px){
  html body.dls-sd.single-product .entry-content .slick-track,
  html body.dls-sd.single-product .entry-content .owl-stage,
  html body.dls-sd.single-product .entry-content .swiper-wrapper,
  html body.dls-sd.single-product .woocommerce-tabs .slick-track,
  html body.dls-sd.single-product .woocommerce-tabs .owl-stage,
  html body.dls-sd.single-product .woocommerce-tabs .swiper-wrapper,
  html body.dls-sd.single-product .entry-content ul.products,
  html body.dls-sd.single-product .entry-content .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce-tabs ul.products,
  html body.dls-sd.single-product .woocommerce-tabs .wp-block-woocommerce-product-template{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:960px){
  html body.dls-sd.single-product .entry-content .slick-track,
  html body.dls-sd.single-product .entry-content .owl-stage,
  html body.dls-sd.single-product .entry-content .swiper-wrapper,
  html body.dls-sd.single-product .woocommerce-tabs .slick-track,
  html body.dls-sd.single-product .woocommerce-tabs .owl-stage,
  html body.dls-sd.single-product .woocommerce-tabs .swiper-wrapper,
  html body.dls-sd.single-product .entry-content ul.products,
  html body.dls-sd.single-product .entry-content .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce-tabs ul.products,
  html body.dls-sd.single-product .woocommerce-tabs .wp-block-woocommerce-product-template{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:680px){
  html body.dls-sd.single-product .entry-content .slick-track,
  html body.dls-sd.single-product .entry-content .owl-stage,
  html body.dls-sd.single-product .entry-content .swiper-wrapper,
  html body.dls-sd.single-product .woocommerce-tabs .slick-track,
  html body.dls-sd.single-product .woocommerce-tabs .owl-stage,
  html body.dls-sd.single-product .woocommerce-tabs .swiper-wrapper,
  html body.dls-sd.single-product .entry-content ul.products,
  html body.dls-sd.single-product .entry-content .wp-block-woocommerce-product-template,
  html body.dls-sd.single-product .woocommerce-tabs ul.products,
  html body.dls-sd.single-product .woocommerce-tabs .wp-block-woocommerce-product-template{grid-template-columns:1fr!important}
}

/* ===== v1.3.17 exact hard rebuild for "Kiemelt ajánlataink" ===== */
html body.dls-sd.single-product .dls-featured-hard-section{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:clamp(38px,5vw,76px) 0 0!important;
  padding:34px 26px 28px!important;
  background:
    radial-gradient(circle at 0 0, rgba(114,174,184,.10), transparent 28%),
    radial-gradient(circle at 100% 100%, rgba(22,61,45,.06), transparent 26%),
    linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 84%,#fff))!important;
  border:1px solid color-mix(in srgb,var(--dls-border) 90%,#fff)!important;
  border-radius:calc(var(--dls-radius) + 12px)!important;
  box-shadow:0 26px 60px rgba(14,31,26,.07)!important;
  overflow:hidden!important;
}
html body.dls-sd.single-product .dls-featured-hard-section::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:7px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--dls-accent),color-mix(in srgb,var(--dls-accent-2) 62%,#fff),var(--dls-accent));
}
html body.dls-sd.single-product .dls-featured-hard-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:0 0 15px!important;
  border-bottom:1px solid color-mix(in srgb,var(--dls-border) 88%,#fff)!important;
  font-size:clamp(1.7rem,2.5vw,2.45rem)!important;
  line-height:1.12!important;
  color:var(--dls-text)!important;
}
html body.dls-sd.single-product .dls-featured-hard-title::after{
  content:""!important;
  width:64px!important;
  height:2px!important;
  margin-left:16px!important;
  background:linear-gradient(90deg,var(--dls-accent),transparent)!important;
  flex:0 0 auto!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  overflow:visible!important;
  align-items:stretch!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:14px 14px 16px!important;
  float:none!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  opacity:1!important;
  visibility:visible!important;
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dls-surface) 80%,#fff))!important;
  border:1px solid color-mix(in srgb,var(--dls-border) 94%,#fff)!important;
  border-radius:calc(var(--dls-radius) + 6px)!important;
  box-shadow:0 16px 36px rgba(16,32,28,.055)!important;
  overflow:hidden!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card > a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  max-height:190px!important;
  object-fit:cover!important;
  margin:0 0 14px!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card .woocommerce-loop-product__title{
  min-height:3.6em!important;
  max-height:3.6em!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  font-size:clamp(.92rem,1vw,1.06rem)!important;
  line-height:1.2!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card .price{
  margin-top:4px!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card .dls-loop-quick-cart,
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card .button{
  margin-top:auto!important;
}
html body.dls-sd.single-product .dls-featured-obsolete{
  display:none!important;
}
@media (max-width:1240px){
  html body.dls-sd.single-product .dls-featured-hard-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:900px){
  html body.dls-sd.single-product .dls-featured-hard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:620px){
  html body.dls-sd.single-product .dls-featured-hard-section{padding:28px 16px 20px!important}
  html body.dls-sd.single-product .dls-featured-hard-grid{grid-template-columns:1fr!important}
}

/* ===== v1.3.18 featured pager: only where it has UX value ===== */
/* Desktop/tablet: the featured products are a real grid, so pagination dots are noise. */
@media (min-width:681px){
  html body.dls-sd.single-product .dls-featured-hard-section .slick-dots,
  html body.dls-sd.single-product .dls-featured-hard-section .owl-dots,
  html body.dls-sd.single-product .dls-featured-hard-section .swiper-pagination,
  html body.dls-sd.single-product .dls-featured-hard-section + .slick-dots,
  html body.dls-sd.single-product .dls-featured-hard-section + .owl-dots,
  html body.dls-sd.single-product .dls-featured-hard-section + .swiper-pagination,
  html body.dls-sd.single-product .dls-featured-hard-section ~ .slick-dots,
  html body.dls-sd.single-product .dls-featured-hard-section ~ .owl-dots,
  html body.dls-sd.single-product .dls-featured-hard-section ~ .swiper-pagination,
  html body.dls-sd.single-product .dls-featured-mobile-dots{
    display:none!important;
  }
}

/* Mobile: the highlighted products become a swipeable snap carousel and only here get dots. */
@media (max-width:680px){
  html body.dls-sd.single-product .dls-featured-hard-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 4px 8px!important;
  }
  html body.dls-sd.single-product .dls-featured-hard-grid::-webkit-scrollbar{display:none}
  html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card{
    flex:0 0 min(86%,330px)!important;
    width:min(86%,330px)!important;
    min-width:min(86%,330px)!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  html body.dls-sd.single-product .dls-featured-mobile-dots{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin:14px 0 0!important;
    padding:0!important;
  }
  html body.dls-sd.single-product .dls-featured-mobile-dot{
    appearance:none;
    -webkit-appearance:none;
    width:7px;
    height:7px;
    min-width:7px;
    min-height:7px;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:50%!important;
    background:color-mix(in srgb,var(--dls-muted) 35%,transparent)!important;
    box-shadow:none!important;
    opacity:.65;
    transition:width .22s ease,opacity .22s ease,background .22s ease;
  }
  html body.dls-sd.single-product .dls-featured-mobile-dot.is-active{
    width:22px;
    min-width:22px;
    border-radius:999px!important;
    background:var(--dls-accent-2)!important;
    opacity:1;
  }
  /* Any legacy slider dots remain hidden; the plugin's mobile pager is the only one shown. */
  html body.dls-sd.single-product .dls-featured-hard-section .slick-dots,
  html body.dls-sd.single-product .dls-featured-hard-section .owl-dots,
  html body.dls-sd.single-product .dls-featured-hard-section .swiper-pagination,
  html body.dls-sd.single-product .dls-featured-hard-section + .slick-dots,
  html body.dls-sd.single-product .dls-featured-hard-section + .owl-dots,
  html body.dls-sd.single-product .dls-featured-hard-section + .swiper-pagination{
    display:none!important;
  }
}

/* ===== v1.3.19 featured offers: one mode only — complete responsive grid, no pager ===== */
html body.dls-sd.single-product .dls-featured-mobile-dots,
html body.dls-sd.single-product .dls-featured-hard-section .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section .swiper-pagination,
html body.dls-sd.single-product .dls-featured-hard-section + .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section + .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section + .swiper-pagination,
html body.dls-sd.single-product .dls-featured-hard-section ~ .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section ~ .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section ~ .swiper-pagination{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Undo the v1.3.18 mobile swipe mode: all products stay visible in the grid. */
@media (max-width:680px){
  html body.dls-sd.single-product .dls-featured-hard-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior:auto!important;
    padding:0!important;
  }
  html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }
}

/* ===== v1.3.20 FINAL: Featured offers = ONE ROW, 4 columns + page dots ===== */
/* The v1.3.19 all-products grid is intentionally replaced only for Kiemelt ajánlataink. */
html body.dls-sd.single-product .dls-featured-hard-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:22px!important;
  align-items:stretch!important;
  overflow:visible!important;
  padding:0!important;
  scroll-snap-type:none!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card{
  display:flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  opacity:1;
  transition:opacity .18s ease, transform .18s ease!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid > .dls-featured-hard-card.dls-featured-page-hidden{
  display:none!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid.is-page-changing > .dls-featured-hard-card:not(.dls-featured-page-hidden){
  opacity:.25!important;
  transform:translateY(4px)!important;
}

/* Custom page dots: one dot = one group/page, not one product. */
html body.dls-sd.single-product .dls-featured-pager{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  width:100%!important;
  margin:22px 0 2px!important;
  padding:0!important;
  height:auto!important;
  min-height:18px!important;
  visibility:visible!important;
  overflow:visible!important;
}
html body.dls-sd.single-product .dls-featured-pager-dot{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:8px!important;
  min-width:8px!important;
  height:8px!important;
  min-height:8px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--dls-accent-2) 36%,transparent)!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  opacity:.75!important;
  transition:width .2s ease, background .2s ease, opacity .2s ease!important;
}
html body.dls-sd.single-product .dls-featured-pager-dot.is-active{
  width:26px!important;
  min-width:26px!important;
  background:var(--dls-accent-2)!important;
  border-color:var(--dls-accent-2)!important;
  opacity:1!important;
}
html body.dls-sd.single-product .dls-featured-pager-dot:hover{
  background:color-mix(in srgb,var(--dls-accent) 35%,transparent)!important;
  opacity:1!important;
}

/* Legacy slider pagination must stay gone; only the DLS page dots remain. */
html body.dls-sd.single-product .dls-featured-hard-section .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section .swiper-pagination,
html body.dls-sd.single-product .dls-featured-hard-section + .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section + .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section + .swiper-pagination,
html body.dls-sd.single-product .dls-featured-hard-section ~ .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section ~ .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section ~ .swiper-pagination,
html body.dls-sd.single-product .dls-featured-mobile-dots{
  display:none!important;
  visibility:hidden!important;
}

/* Desktop is deliberately kept at 4 products in a single row. */
@media (min-width:901px){
  html body.dls-sd.single-product .dls-featured-hard-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media (max-width:900px){
  html body.dls-sd.single-product .dls-featured-hard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:620px){
  html body.dls-sd.single-product .dls-featured-hard-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    overflow:visible!important;
    padding:0!important;
  }
  html body.dls-sd.single-product .dls-featured-pager{margin-top:17px!important;gap:8px!important}
}

/* ===== v1.3.21 FINAL featured carousel: 4 visible + drag/swipe + autoplay ===== */
/* Old / orphan slider pagination is never part of the DLS featured carousel. */
html body.dls-sd.single-product .dls-featured-hard-section .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section .swiper-pagination,
html body.dls-sd.single-product .dls-featured-hard-section .swiper-pagination-bullets,
html body.dls-sd.single-product .dls-featured-hard-section ~ .slick-dots,
html body.dls-sd.single-product .dls-featured-hard-section ~ .owl-dots,
html body.dls-sd.single-product .dls-featured-hard-section ~ .swiper-pagination,
html body.dls-sd.single-product .dls-featured-hard-section ~ .swiper-pagination-bullets,
html body.dls-sd.single-product .dls-featured-mobile-dots{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track{
  display:grid!important;
  grid-template-columns:none!important;
  grid-template-rows:1fr!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 66px) / 4)!important;
  gap:22px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:0!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  cursor:grab!important;
  user-select:none!important;
  touch-action:pan-y pan-x!important;
  padding:0 0 6px!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track.is-dragging{
  cursor:grabbing!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}
html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track > .dls-featured-hard-card,
html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track > .dls-featured-hard-card.dls-featured-page-hidden{
  display:flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  opacity:1!important;
  transform:none!important;
}

/* The DLS pager is the only pager intentionally kept. */
html body.dls-sd.single-product .dls-featured-hard-section > .dls-featured-pager{
  display:flex!important;
  visibility:visible!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
  height:auto!important;
  min-height:18px!important;
  margin:18px 0 0!important;
  padding:0!important;
  overflow:visible!important;
}

@media (max-width:960px){
  html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track{
    grid-auto-columns:calc((100% - 18px) / 2)!important;
    gap:18px!important;
  }
}
@media (max-width:680px){
  html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track{
    grid-auto-columns:min(86%,330px)!important;
    gap:14px!important;
    padding-right:14%!important;
  }
}
@media (prefers-reduced-motion:reduce){
  html body.dls-sd.single-product .dls-featured-hard-grid.dls-featured-carousel-track{
    scroll-behavior:auto!important;
  }
}

/* v1.3.22 — remove obsolete hard-coded footer dots navigation */
html body.dls-sd .dots-nav,
html body .dots-nav{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
