/* dl-search.css */
/* DL Search dropdown */
html.dls-on .dl-hsearch .dl-sug { display: none !important; }
.dl-hsearch, form.woocommerce-product-search { position: relative; }
.dls-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dls-panel[hidden] { display: none !important; }
.dls-panel {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 99999;
  width: max(100%, 580px); max-width: calc(100vw - 24px); max-height: min(78vh, 640px); overflow-y: auto; overscroll-behavior: contain;
  background: #fff; border: 1px solid #e4e8ee; border-radius: 12px; box-shadow: 0 18px 44px rgba(20,33,47,.18);
  padding: 6px 0 0; font-weight: 400; font-size: 14px; line-height: 1.35; color: #14212f; text-align: left;
}
.dls-panel.dls-fixed { position: fixed; left: 8px; right: 8px; width: auto; max-width: none; top: auto; }
.dls-panel, .dls-panel * { font-family: inherit; box-sizing: border-box; }
.dls-panel a { text-decoration: none !important; color: #14212f !important; }
.dls-h { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px 4px; font-weight: 700; font-size: 11px; line-height: 1; letter-spacing: .07em; text-transform: uppercase; color: #5b6b7d; }
.dls-h .dls-clear { font-weight: 600; text-transform: none; letter-spacing: 0; color: #5b6b7d !important; text-decoration: underline !important; }
.dls-dym { display: block; margin: 4px 8px 2px; padding: 10px 12px; border-radius: 8px; background: #f2fbf1; border: 1px solid #cdeec9; font-size: 14px; }
.dls-dym b { color: #1e7f17; }
.dls-item, .dls-q, .dls-cat, .dls-foot { display: flex; align-items: center; gap: 12px; }
.dls-item { padding: 8px 14px; min-height: 64px; }
.dls-item:hover, .dls-q:hover, .dls-cat:hover, .dls-chip:hover, .dls-dym:hover, .is-active { background: #f1f4f8; }
.dls-dym.is-active { background: #e4f6e1; }
.dls-shot { flex: 0 0 52px; width: 52px; height: 52px; border: 1px solid #e4e8ee; border-radius: 8px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dls-shot img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.dls-body { flex: 1 1 auto; min-width: 0; display: block; }
.dls-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 500; font-size: 13.5px; line-height: 1.35; }
.dls-panel mark { background: none !important; color: #000 !important; font: inherit !important; font-weight: 800 !important; letter-spacing: inherit !important; padding: 0 !important; text-transform: none !important; }
.dls-meta { display: flex; gap: 6px; margin-top: 3px; align-items: center; }
.dls-panel .dls-cond { display: inline-block; font-weight: 700; font-size: 10.5px; line-height: 1; padding: 3px 7px; border-radius: 99px; background: #e8f6e6; color: #1e7f17; letter-spacing: .02em; }
.dls-cond--new { background: #e6effa; color: #1c4f94; }
.dls-oos { font-weight: 600; font-size: 11px; line-height: 1; color: #b3261e; }
.dls-item.is-oos .dls-shot img { opacity: .55; }
.dls-price { flex: 0 0 auto; font-weight: 700; font-size: 13.5px; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.dls-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 14px 8px; }
.dls-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid #e4e8ee; border-radius: 99px; font-size: 13px; font-weight: 600; background: #fff; }
.dls-chip small, .dls-cat small { color: #5b6b7d; font-weight: 600; font-size: 11px; }
.dls-q { padding: 9px 14px; font-size: 14px; }
.dls-q svg { width: 16px; height: 16px; fill: none; stroke: #5b6b7d; stroke-width: 2; stroke-linecap: round; flex: 0 0 auto; }
.dls-cat { padding: 10px 14px; justify-content: space-between; font-weight: 600; }
.dls-foot { justify-content: center; padding: 13px 14px; border-top: 1px solid #e4e8ee; background: #f7f9fb; font-weight: 700; font-size: 13.5px; line-height: 1; color: #14212f !important; position: sticky; bottom: 0; }
.dls-foot:hover, .dls-foot.is-active { background: #eaf7e8; }
.dls-empty { padding: 22px 16px 10px; text-align: center; }
.dls-empty b, .dls-empty span { display: block; }
.dls-empty span { color: #5b6b7d; margin-top: 4px; font-size: 13px; }
@media (max-width: 900px) {
  .dls-item { min-height: 62px; padding: 8px 12px; }
  .dls-chip, .dls-q, .dls-cat { min-height: 40px; }
  .dls-name { font-size: 13px; }
}
.dls-corrected { margin: 0 0 16px; padding: 12px 16px; border-radius: 10px; background: #f2fbf1; border: 1px solid #cdeec9; font-size: 15px; }
.dls-corrected a { font-weight: 600; text-decoration: underline; }
.dls-panel .dls-chip { border-radius: 99px !important; }
.dls-panel.dls-fixed .dls-foot { padding-right: 78px; }
/* zero-result: source it for you */
.dls-src { padding: 14px 16px 16px; text-align: center; }
.dls-src-t { font-weight: 600; font-size: 14px; line-height: 1.4; margin: 0 0 12px; }
.dls-panel a.dls-wa { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; border-radius: 12px; background: #25d366; color: #fff !important; font-weight: 700; font-size: 15px; }
.dls-panel a.dls-wa:hover, .dls-panel a.dls-wa.is-active { background: #1fbd5a; }
.dls-src-l { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
.dls-src-l a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid #cfd6df; border-radius: 99px; font-weight: 600; font-size: 13.5px; }
.dls-panel a.dls-src-line { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px; border-top: 1px solid #e4e8ee; font-size: 13px; font-weight: 600; color: #1e7f17 !important; }
.dls-panel.dls-fixed a.dls-src-line { padding-right: 14px; }

/* dl-v2-cro.css */
/* DL v2 — CRO layer (preview ?dlv2=1 only). Loads after dl-design-v2.css.
   Radii: the main sheet zeroes every radius with two :not(#dl-sq), so every
   rounded rule here carries the same two to win. */

/* ---------------------------------------------------------------- shared */

body.dl-v2 .dl-cro-ico { width: 18px; height: 18px; flex: 0 0 18px; }
body.dl-v2 .dl-cro-hide { display: none !important; }
html.dl-cro-lock, html.dl-cro-lock body { overflow: hidden !important; }

body.dl-v2 .dl-cro-btn:not(#dl-sq):not(#dl-sq) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 16px;
  font: 700 15px/1.2 var(--text) !important;
  white-space: nowrap;
  text-decoration: none !important;
  letter-spacing: 0;
  text-transform: none;
  border: 1px solid transparent;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
  box-shadow: none;
}
body.dl-v2 .dl-cro-btn--primary:not(#dl-sq):not(#dl-sq) { background: var(--green) !important; color: #fff !important; }
body.dl-v2 .dl-cro-btn--primary:not(#dl-sq):not(#dl-sq):hover { background: var(--green-dark) !important; }
body.dl-v2 .dl-cro-btn--ghost:not(#dl-sq):not(#dl-sq) { background: var(--paper) !important; color: var(--navy) !important; border-color: var(--line-2); }
body.dl-v2 .dl-cro-btn--ghost:not(#dl-sq):not(#dl-sq):hover { border-color: var(--navy); }
body.dl-v2 .dl-cro-btn:focus-visible,
body.dl-v2 .dl-cro-x:focus-visible,
body.dl-v2 .dl-cro-keep:focus-visible,
body.dl-v2 .dl-cro-up__line:focus-visible,
body.dl-v2 .dl-cro-remind a:focus-visible,
body.dl-v2 .dl-cro-remind button:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }

body.dl-v2 .dl-cro-x:not(#dl-sq):not(#dl-sq) {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--slate) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  cursor: pointer;
  box-shadow: none !important;
}
body.dl-v2 .dl-cro-x:not(#dl-sq):hover { background: var(--mist) !important; color: var(--ink) !important; }
body.dl-v2 .dl-cro-x .dl-cro-ico { width: 20px; height: 20px; }

body.dl-v2 .dl-cro-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* ------------------------------------------------------- CR-1 drawer */

body.dl-v2 .dl-cro-drawer {
  position: fixed;
  inset: 0;
  z-index: 100050;
}
body.dl-v2 .dl-cro-drawer[hidden] { display: none !important; }
body.dl-v2 .dl-cro-drawer__scrim,
body.dl-v2 .dl-cro-exit__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 33, 47, .45);
  opacity: 0;
  transition: opacity .22s ease;
}
body.dl-v2 .dl-cro-drawer[data-open] .dl-cro-drawer__scrim,
body.dl-v2 .dl-cro-exit[data-open] .dl-cro-exit__scrim { opacity: 1; }

body.dl-v2 .dl-cro-drawer__panel:not(#dl-sq):not(#dl-sq) {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 88vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--paper);
  color: var(--ink);
  padding: 8px 16px calc(16px + env(safe-area-inset-bottom));
  border-radius: var(--sq-lg) var(--sq-lg) 0 0 !important;
  corner-shape: squircle;
  box-shadow: 0 -12px 40px rgba(20, 33, 47, .18);
  transform: translateY(100%);
  transition: transform .26s cubic-bezier(.2, .8, .2, 1);
  outline: none;
}
body.dl-v2 .dl-cro-drawer[data-open] .dl-cro-drawer__panel:not(#dl-sq):not(#dl-sq) { transform: none; }

@media (min-width: 992px) {
  body.dl-v2 .dl-cro-drawer__panel:not(#dl-sq):not(#dl-sq) {
    left: auto;
    top: 0;
    width: 440px;
    max-height: none;
    padding: 12px 24px 24px;
    border-radius: var(--sq-lg) 0 0 var(--sq-lg) !important;
    box-shadow: -12px 0 40px rgba(20, 33, 47, .18);
    transform: translateX(100%);
  }
}

body.dl-v2 .dl-cro-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0 12px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}
body.dl-v2 .dl-cro-drawer__h {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font: 700 17px/1.3 var(--text) !important;
  color: var(--navy) !important;
}
body.dl-v2 .dl-cro-drawer__h .dl-cro-ico { color: var(--verify, #1d8a4e); width: 22px; height: 22px; flex-basis: 22px; }

body.dl-v2 .dl-cro-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: start;
}
body.dl-v2 .dl-cro-item__img:not(#dl-sq):not(#dl-sq) {
  width: 80px;
  height: 80px;
  border: 1px solid var(--line);
  background: var(--paper);
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  overflow: hidden;
  display: grid;
  place-items: center;
}
body.dl-v2 .dl-cro-item__img img { width: 100%; height: 100%; object-fit: contain; }
body.dl-v2 .dl-cro-item__name { margin: 0 0 6px; font: 600 15px/1.35 var(--text) !important; color: var(--ink) !important; }
body.dl-v2 .dl-cro-item__attrs { margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 4px 12px; font: 400 13px/1.4 var(--text) !important; color: var(--ink); }
body.dl-v2 .dl-cro-item__attrs em { font-style: normal; color: var(--slate); margin-right: 2px; }
body.dl-v2 .dl-cro-item__attrs em::after { content: ":"; }
body.dl-v2 .dl-cro-item__price { margin: 0; display: flex; justify-content: space-between; gap: 8px; font: 400 13px/1.4 var(--text) !important; color: var(--slate); }
body.dl-v2 .dl-cro-item__price strong { font: 700 15px/1.3 var(--text) !important; color: var(--ink); }

body.dl-v2 .dl-cro-sum {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font: 600 15px/1.3 var(--text) !important;
  color: var(--ink);
}
body.dl-v2 .dl-cro-sum em { font-style: normal; font-weight: 400; color: var(--slate); }
body.dl-v2 .dl-cro-sum strong { font: 800 18px/1.2 var(--text) !important; color: var(--ink); }

body.dl-v2 .dl-cro-tabby {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  font: 400 13.5px/1.4 var(--text) !important;
  color: var(--ink);
}
body.dl-v2 .dl-cro-fine { margin: 8px 0 16px; font: 400 12.5px/1.4 var(--text) !important; color: var(--slate); }

body.dl-v2 .dl-cro-keep {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 8px 0 0;
  padding: 12px 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font: 600 14px/1.3 var(--text) !important;
  color: var(--navy) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: none !important;
  cursor: pointer;
}

/* recently viewed inside the drawer: one scrolling row of small cards */
body.dl-v2 .dl-cro-drawer__recent:empty { display: none; }
body.dl-v2 .dl-cro-drawer__recent { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
body.dl-v2 .dl-cro-drawer .dl-cro-recent--drawer:not(#dl-sq) { width: 100%; max-width: none; margin: 0; padding: 0; }
body.dl-v2 .dl-cro-recent--drawer .dl-cro-recent__h { font-size: 15px !important; margin-bottom: 10px; }
body.dl-v2 .dl-cro-recent--drawer .dl-cro-recent__list:not(#dl-sq) {
  grid-template-columns: none !important;
  grid-auto-flow: column;
  grid-auto-columns: 168px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 6px;
}
body.dl-v2 .dl-cro-recent--drawer .loop-product-categories:not(#dl-sq):not(#dl-sq),
body.dl-v2 .dl-cro-recent--drawer .add-to-cart-wrap:not(#dl-sq):not(#dl-sq),
body.dl-v2 .dl-cro-recent--drawer .dl-split:not(#dl-sq):not(#dl-sq) { display: none !important; }
body.dl-v2 .dl-cro-drawer .dl-cro-recent--drawer li.product.type-product .product-thumbnail:not(#dl-sq):not(#dl-sq):not(#dl-sq) { height: 120px !important; min-height: 0 !important; aspect-ratio: auto !important; margin: 8px 0 4px !important; }
body.dl-v2 .dl-cro-drawer .dl-cro-recent--drawer li.product.type-product .product-thumbnail img:not(#dl-sq):not(#dl-sq):not(#dl-sq) { width: 100% !important; height: 120px !important; max-height: 120px !important; object-fit: contain !important; }
body.dl-v2 .dl-cro-recent--drawer .woocommerce-loop-product__title:not(#dl-sq):not(#dl-sq) {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: auto !important;
  min-height: 2.6em !important;
  margin-bottom: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
}
body.dl-v2 .dl-cro-recent--drawer .product-loop-footer:not(#dl-sq):not(#dl-sq) { padding-top: 4px !important; }
body.dl-v2 .dl-cro-recent--drawer .price-add-to-cart:not(#dl-sq):not(#dl-sq),
body.dl-v2 .dl-cro-recent--drawer .price:not(#dl-sq):not(#dl-sq) { margin: 0 !important; min-height: 0 !important; height: auto !important; }
body.dl-v2 .dl-cro-recent--drawer .price:not(#dl-sq):not(#dl-sq) { font-size: 15px !important; }
body.dl-v2 .dl-cro-recent--drawer .product-inner:not(#dl-sq):not(#dl-sq) { padding: 12px !important; }

/* ------------------------------------------------------ CR-6 recently viewed */

body.dl-v2 .dl-cro-recent {
  width: var(--dl-max, 90vw);
  max-width: 100%;
  margin: 32px auto;
  clear: both;
}
body.dl-v2.single-product .dl-cro-recent { width: 100%; margin: 32px 0; }
body.dl-v2 .dl-cro-recent__h {
  margin: 0 0 14px !important;
  font: 700 22px/1.25 var(--text) !important;
  color: var(--navy) !important;
  letter-spacing: -.01em;
  text-transform: none !important;
}
body.dl-v2 .dl-cro-recent__list:not(#dl-sq) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
body.dl-v2 .dl-cro-recent__list > li.product:not(#dl-sq) {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start;
  min-width: 0;
}
body.dl-v2 .dl-cro-recent__list .product-inner { height: 100%; }
body.dl-v2 .dl-cro-recent__list .woocommerce-loop-product__title { font-size: 14px !important; }

/* phones and small tablets: one scrolling row, never a page-wide scroll */
@media (max-width: 991px) {
  body.dl-v2 .dl-cro-recent { margin: 24px auto; }
  body.dl-v2 .dl-cro-recent__h { font-size: 19px !important; }
  body.dl-v2 .dl-cro-recent__list:not(#dl-sq) {
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 12px) / 2.2);
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px !important;
    -webkit-overflow-scrolling: touch;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.dl-v2 .dl-cro-recent__list:not(#dl-sq) { grid-auto-columns: calc((100% - 36px) / 3.4); }
}

/* empty cart extras */
body.dl-v2 .dl-cro-emptyextra { margin: 24px 0 8px; }
body.dl-v2 .dl-cro-emptyextra .dl-cro-recent { width: 100%; margin: 0 0 28px; }
body.dl-v2 .dl-cro-cats ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.dl-v2 .dl-cro-cats a:not(#dl-sq):not(#dl-sq) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  background: var(--paper);
  border: 1px solid var(--line-2);
  color: var(--navy) !important;
  font: 600 14.5px/1.2 var(--text) !important;
  text-decoration: none !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}
body.dl-v2 .dl-cro-cats a:not(#dl-sq):hover { border-color: var(--green); color: var(--ink) !important; }

/* ------------------------------------------------------ CR-2 reminder bar */

body.dl-v2 .dl-cro-remind {
  background: var(--mist, #f5f7fa);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: 12px;
}
body.dl-v2 .dl-cro-remind__in {
  display: flex;
  align-items: center;
  gap: 12px;
  width: var(--dl-max, 90vw);
  max-width: 100%;
  margin: 0 auto;
  padding: 8px 0;
  min-height: 48px;
}
body.dl-v2 .dl-cro-remind__in > .dl-cro-ico { color: var(--navy); }
body.dl-v2 .dl-cro-remind__txt {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  font: 400 14px/1.35 var(--text) !important;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.dl-v2 .dl-cro-remind__txt strong { font-weight: 700; }
body.dl-v2 .dl-cro-remind__txt { display: flex; align-items: baseline; gap: 6px; }
body.dl-v2 .dl-cro-remind__what { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.dl-v2 .dl-cro-remind__amt { flex: 0 0 auto; }
body.dl-v2 .dl-cro-remind__go:not(#dl-sq):not(#dl-sq) {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 14px;
  background: var(--navy);
  color: #fff !important;
  font: 700 13.5px/1.2 var(--text) !important;
  text-decoration: none !important;
  white-space: nowrap;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}
body.dl-v2 .dl-cro-remind__go:not(#dl-sq):hover { background: var(--ink); }
body.dl-v2 .dl-cro-remind__x.dl-cro-remind__x:not(#dl-sq):not(#dl-sq) {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--slate) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  cursor: pointer;
}
body.dl-v2 .dl-cro-remind__x:not(#dl-sq):hover { background: var(--line) !important; color: var(--ink) !important; }
@media (max-width: 767px) {
  body.dl-v2 .dl-cro-remind__in { gap: 8px; padding: 6px 0; min-height: 44px; }
  body.dl-v2 .dl-cro-remind__in > .dl-cro-ico { display: none; }
  body.dl-v2 .dl-cro-remind__txt { font-size: 13px !important; }
  body.dl-v2 .dl-cro-remind__lead { display: none; }
  body.dl-v2 .dl-cro-remind__go:not(#dl-sq):not(#dl-sq) { padding: 6px 10px; font-size: 13px !important; }
  body.dl-v2 .dl-cro-remind__x.dl-cro-remind__x:not(#dl-sq):not(#dl-sq) { width: 32px; height: 32px; }
}

/* ------------------------------------------------------ CR-3 exit modal */

body.dl-v2 .dl-cro-exit {
  position: fixed;
  inset: 0;
  z-index: 100060;
  display: grid;
  place-items: center;
  padding: 24px;
}
body.dl-v2 .dl-cro-exit[hidden] { display: none !important; }
body.dl-v2 .dl-cro-exit__panel:not(#dl-sq):not(#dl-sq) {
  position: relative;
  width: min(480px, 100%);
  padding: 32px 32px 28px;
  background: var(--paper);
  color: var(--ink);
  border-radius: var(--sq-lg) !important;
  corner-shape: squircle;
  box-shadow: 0 24px 64px rgba(20, 33, 47, .25);
  transform: translateY(12px) scale(.98);
  opacity: 0;
  transition: transform .22s ease, opacity .22s ease;
  outline: none;
}
body.dl-v2 .dl-cro-exit[data-open] .dl-cro-exit__panel:not(#dl-sq):not(#dl-sq) { transform: none; opacity: 1; }
body.dl-v2 .dl-cro-exit__panel > .dl-cro-x { position: absolute; top: 12px; right: 12px; }
body.dl-v2 .dl-cro-exit__h {
  margin: 0 36px 16px 0 !important;
  font: 700 22px/1.3 var(--text) !important;
  color: var(--navy) !important;
  letter-spacing: -.01em;
}
body.dl-v2 .dl-cro-exit__facts { margin: 0 0 16px !important; padding: 0 !important; list-style: none; display: grid; gap: 10px; }
body.dl-v2 .dl-cro-exit__facts li { display: flex; align-items: center; gap: 10px; margin: 0; font: 500 15px/1.35 var(--text) !important; color: var(--ink); }
body.dl-v2 .dl-cro-exit__facts .dl-cro-ico { color: var(--verify, #1d8a4e); width: 20px; height: 20px; flex-basis: 20px; }
body.dl-v2 .dl-cro-exit__p { margin: 0 0 20px !important; font: 400 14px/1.45 var(--text) !important; color: var(--slate); }

/* ------------------------------------------------------ CR-4 step-ups */

body.dl-v2 .dl-cro-up { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; margin: 4px 0 14px; }
body.dl-v2 .dl-cro-up[hidden] { display: none !important; }
body.dl-v2 .dl-cro-up__line:not(#dl-sq):not(#dl-sq) {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 8px 14px !important;
  background: var(--mist, #f5f7fa) !important;
  border: 1px dashed var(--line-2) !important;
  color: var(--ink) !important;
  font: 500 14px/1.3 var(--text) !important;
  text-align: left;
  text-transform: none !important;
  letter-spacing: 0;
  box-shadow: none !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  cursor: pointer;
}
body.dl-v2 .dl-cro-up__line:not(#dl-sq):hover { border-color: var(--green) !important; border-style: solid !important; background: #fff !important; }
body.dl-v2 .dl-cro-up__line strong { font-weight: 700; color: var(--navy); }
body.dl-v2 .dl-cro-up__line .dl-cro-ico { width: 16px; height: 16px; flex-basis: 16px; color: var(--green-dark); }

/* ------------------------------------------------------ CR-5 reviews + WhatsApp */

body.dl-v2 .dl-cro-reviews-empty > :not(.dl-cro-noreviews) { display: none !important; }
body.dl-v2 .dl-cro-noreviews:not(#dl-sq):not(#dl-sq) {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px;
  background: var(--mist, #f5f7fa);
  border: 1px solid var(--line);
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
  margin-bottom: 24px;
}
body.dl-v2 .dl-cro-noreviews > .dl-cro-ico { width: 28px; height: 28px; flex: 0 0 28px; color: var(--navy); }
body.dl-v2 .dl-cro-noreviews__h { margin: 0 0 4px !important; font: 700 18px/1.3 var(--text) !important; color: var(--navy) !important; }
body.dl-v2 .dl-cro-noreviews__p { margin: 0 0 14px !important; font: 400 14px/1.45 var(--text) !important; color: var(--slate); }
body.dl-v2 .dl-cro-noreviews__btn:not(#dl-sq):not(#dl-sq) { min-height: 44px; padding: 10px 18px; font-size: 14px !important; }

body.dl-v2 .dl-cro-wa-row { margin: 12px 0 0 !important; }
body.dl-v2 a.dl-cro-wa:not(.dl-cro-btn) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font: 600 14.5px/1.3 var(--text) !important;
  color: var(--navy) !important;
  text-decoration: none !important;
}
body.dl-v2 a.dl-cro-wa:not(.dl-cro-btn) .dl-cro-ico { width: 22px; height: 22px; flex-basis: 22px; color: #1a9e4b; }
body.dl-v2 a.dl-cro-wa:not(.dl-cro-btn):hover span { text-decoration: underline; text-underline-offset: 3px; }
body.dl-v2 .dl-cro-wa-row--checkout { margin: 12px 0 0 !important; text-align: center; }
body.dl-v2 .cart_totals .dl-cro-wa-row { text-align: center; }

/* ------------------------------------------------------ CR-7a trust strip */

body.dl-v2 .dl-cro-trust:not(#dl-sq):not(#dl-sq) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 !important;
  padding: 0 !important;
  list-style: none;
}
body.dl-v2 .dl-cro-trust li:not(#dl-sq):not(#dl-sq) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  margin: 0 !important;
  padding: 12px 6px;
  background: var(--paper);
  border: 1px solid var(--line);
  text-align: center;
  font: 600 12.5px/1.3 var(--text) !important;
  color: var(--ink);
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}
body.dl-v2 .dl-cro-trust .dl-ico { width: 22px; height: 22px; color: var(--navy); }
body.dl-v2 #payment .dl-cro-trust { padding: 0 16px !important; }
@media (max-width: 767px) {
  body.dl-v2 #payment .dl-cro-trust { padding: 0 8px !important; }
  body.dl-v2 .dl-cro-trust li:not(#dl-sq):not(#dl-sq) { font-size: 12px !important; padding: 10px 4px; }
}

/* ------------------------------------------------------ CR-7b sticky bar */

body.dl-v2 .dl-cro-sticky {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  font: 500 13.5px/1.3 var(--text) !important;
  color: var(--slate);
  white-space: nowrap;
}
body.dl-v2 .dl-cro-sticky[hidden],
body.dl-v2 .dl-cro-sticky__tabby[hidden] { display: none !important; }
body.dl-v2 .dl-cro-sticky__var { overflow: hidden; text-overflow: ellipsis; }
body.dl-v2 .dl-cro-sticky__tabby { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); }
body.dl-v2 .dl-cro-sticky__tabby strong { font-weight: 700; }
@media (max-width: 991px) {
  body.dl-v2 .dl-cro-sticky { font-size: 12.5px !important; flex: 0 1 auto; }
  body.dl-v2 .dl-cro-sticky__opt--colour,
  body.dl-v2 .dl-cro-sticky__opt--colour + .dl-cro-sticky__sep { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.dl-v2 .dl-cro-drawer__panel,
  body.dl-v2 .dl-cro-exit__panel,
  body.dl-v2 .dl-cro-drawer__scrim,
  body.dl-v2 .dl-cro-exit__scrim { transition: none !important; }
}

/* ------------------------------------------- CR-3 exit: undecided visitor
   Desktop modal (scrim, focus trap) + phone sheet (non-blocking). */

body.dl-v2 .dl-cro-exit__panel:not(#dl-sq):not(#dl-sq) { width: min(520px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; overscroll-behavior: contain; }
body.dl-v2 .dl-cro-exit__panel:focus-visible:not(#dl-sq):not(#dl-sq) { outline: none !important; }
body.dl-v2 .dl-cro-exit__eyebrow { margin: 0 0 4px !important; font: 600 12px/1.3 var(--text) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--green-dark, #2a9a22); }
body.dl-v2 .dl-cro-exit__body .dl-cro-exit__h { margin-bottom: 8px !important; }
body.dl-v2 .dl-cro-exit__body .dl-cro-exit__p { margin-bottom: 12px !important; }
body.dl-v2 .dl-cro-exit__facts--grid { grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-bottom: 20px !important; }
body.dl-v2 .dl-cro-exit__facts--grid li { font-size: 14px !important; align-items: flex-start; }
body.dl-v2 .dl-cro-exit__facts--grid .dl-cro-ico { width: 18px; height: 18px; flex-basis: 18px; margin-top: 1px; }

body.dl-v2 .dl-cro-xps { list-style: none; margin: 0 0 18px !important; padding: 0 !important; display: grid; gap: 8px; }
body.dl-v2 .dl-cro-xp { margin: 0; opacity: 0; transform: translateY(6px); }
body.dl-v2 .dl-cro-exit[data-open] .dl-cro-xp,
body.dl-v2 .dl-cro-xsheet[data-open] .dl-cro-xp { animation: dl-cro-xp-in .32s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: calc(120ms + var(--i, 0) * 70ms); }
@keyframes dl-cro-xp-in { to { opacity: 1; transform: none; } }
body.dl-v2 .dl-cro-xp__a:not(#dl-sq):not(#dl-sq) {
  display: grid;
  grid-template-columns: 56px 1fr 16px;
  align-items: center;
  gap: 12px;
  padding: 8px 12px 8px 8px;
  background: var(--paper);
  border: 1px solid var(--line-2);
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
  color: var(--ink) !important;
  text-decoration: none !important;
  transition: border-color .15s ease, background-color .15s ease;
}
body.dl-v2 .dl-cro-xp__a:not(#dl-sq):not(#dl-sq):hover { border-color: var(--navy); background: var(--mist, #f5f7fa); }
body.dl-v2 .dl-cro-xp__a:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
body.dl-v2 .dl-cro-xp__img:not(#dl-sq):not(#dl-sq) {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  overflow: hidden;
  color: var(--slate);
}
body.dl-v2 .dl-cro-xp__img img { width: 56px !important; height: 56px !important; object-fit: contain; margin: 0 !important; }
body.dl-v2 .dl-cro-xp__txt { display: grid; gap: 2px; min-width: 0; }
body.dl-v2 .dl-cro-xp__n {
  font: 600 14px/1.3 var(--text) !important;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.dl-v2 .dl-cro-xp__p { font: 700 14px/1.3 var(--text) !important; color: var(--navy); }
body.dl-v2 .dl-cro-xp__p .woocommerce-Price-amount { font: inherit !important; color: inherit !important; }
body.dl-v2 .dl-cro-xp__from { font-weight: 500; color: var(--slate); }
body.dl-v2 .dl-cro-xp__go { font: 400 22px/1 var(--text); color: var(--slate); }

body.dl-v2 .dl-cro-exit__cart { margin: 14px 0 0 !important; text-align: center; }
body.dl-v2 .dl-cro-exit__cart a { display: inline-flex; align-items: center; gap: 6px; font: 500 14px/1.3 var(--text) !important; color: var(--navy) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* phone sheet */
body.dl-v2 .dl-cro-xsheet:not(#dl-sq):not(#dl-sq) {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(var(--dl-xsheet-lift, 0px) + 10px + env(safe-area-inset-bottom));
  z-index: 100040;
  max-width: 440px;
  margin: 0 auto;
  padding: 12px 12px 12px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--sq-lg) !important;
  corner-shape: squircle;
  box-shadow: 0 14px 40px rgba(20, 33, 47, .22);
  transform: translateY(16px);
  opacity: 0;
  transition: transform .26s cubic-bezier(.2, .8, .2, 1), opacity .2s ease;
}
body.dl-v2 .dl-cro-xsheet[data-open]:not(#dl-sq):not(#dl-sq) { transform: none; opacity: 1; }
body.dl-v2 .dl-cro-xsheet__x:not(#dl-sq):not(#dl-sq) { position: absolute; top: 2px; right: 2px; }
body.dl-v2 .dl-cro-xsheet__h { margin: 0 44px 8px 2px !important; min-height: 28px; display: flex; align-items: center; font: 700 16px/1.25 var(--text) !important; color: var(--navy) !important; }
body.dl-v2 .dl-cro-xps--sm { margin-bottom: 8px !important; gap: 6px; }
body.dl-v2 .dl-cro-xps--sm .dl-cro-xp__a:not(#dl-sq):not(#dl-sq) { grid-template-columns: 40px 1fr 12px; gap: 10px; padding: 4px 10px 4px 4px; }
body.dl-v2 .dl-cro-xps--sm .dl-cro-xp__img:not(#dl-sq):not(#dl-sq),
body.dl-v2 .dl-cro-xps--sm .dl-cro-xp__img img { width: 40px !important; height: 40px !important; }
body.dl-v2 .dl-cro-xps--sm .dl-cro-xp__txt { grid-auto-flow: column; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
body.dl-v2 .dl-cro-xps--sm .dl-cro-xp__n { font-size: 13px !important; -webkit-line-clamp: 1; }
body.dl-v2 .dl-cro-xps--sm .dl-cro-xp__p { font-size: 13px !important; }
body.dl-v2 .dl-cro-xsheet__facts { margin: 0 2px 8px !important; font: 500 12.5px/1.4 var(--text) !important; color: var(--slate); }
body.dl-v2 .dl-cro-xsheet__wa:not(#dl-sq):not(#dl-sq) { display: flex; width: 100%; min-height: 44px; }

@media (prefers-reduced-motion: reduce) {
  body.dl-v2 .dl-cro-xsheet:not(#dl-sq):not(#dl-sq) { transition: none !important; }
  body.dl-v2 .dl-cro-exit[data-open] .dl-cro-xp,
  body.dl-v2 .dl-cro-xsheet[data-open] .dl-cro-xp { animation: none; opacity: 1; transform: none; }
}

/* dl-v2-inner.css */
/* ==========================================================================
   DL v2 — INNER PAGES (preview, ?dlv2=1 only)
   Loads after dl-design-v2.css. One header, one page edge and one component
   system across shop, product, cart, checkout, account and content pages.
   Radii need the double :not(#dl-sq) — dl-design-v2.css zeroes every radius
   with `body.dl-v2 :not(#dl-sq):not(#dl-sq)`.
   ========================================================================== */

/* --------------------------------------------------------------------------
   IN-1  One header, one search
   -------------------------------------------------------------------------- */

/* Plan B guard: the theme's own search must never show next to .dl-hsearch. */
body.dl-v2 #masthead .navbar-search { display: none !important; }

/* "One search field": the blog sidebar's second search box goes. */
body.dl-v2 #content .widget_search,
body.dl-v2 #content .widget.widget_search { display: none !important; }

/* --------------------------------------------------------------------------
   IN-3  One page edge at every width
   Full-bleed colour bands (green nav, navy footer) keep their background
   but sit on the viewport exactly, so their inner .container lands on the
   same 5% edge as the header and the content (was 8px to the left).
   -------------------------------------------------------------------------- */

body.dl-v2 #page { overflow-x: clip; }

body.dl-v2 :is(.electro-navbar-primary, .footer-newsletter, .footer-bottom-widgets, .copyright-bar):not(#dl-sq) {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: auto !important;
  max-width: none !important;
}

body.dl-v2 :is(.electro-navbar-primary, .footer-newsletter, .footer-bottom-widgets, .copyright-bar) > .container:not(#dl-sq) {
  max-width: var(--dl-max) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* Phone + tablet: ink starts on the container edge (12px on a phone, 5% on a
   tablet) — the header, the search bar, the content and the footer. */
@media (max-width: 991px) {
  body.dl-v2 .dl-msearch:not(#dl-sq) {
    padding-left: calc((100% - var(--dl-max)) / 2) !important;
    padding-right: calc((100% - var(--dl-max)) / 2) !important;
  }

  body.dl-v2 #masthead .handheld-header-wrap.container:not(#dl-sq),
  body.dl-v2 #content > .container:not(#dl-sq),
  body.dl-v2 #colophon .container:not(#dl-sq) {
    max-width: var(--dl-max) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dl-v2 #masthead .handheld-header-wrap > .row:not(#dl-sq),
  body.dl-v2 #content > .container > .row:not(#dl-sq),
  body.dl-v2 #content > .container > .woocommerce-breadcrumb:not(#dl-sq),
  body.dl-v2 #content .vc_row:not(#dl-sq),
  body.dl-v2:not(.home) #content .row:not(ul):not([class*="col"] > *):not(#dl-sq),
  body.dl-v2 #colophon .container > .row:not(#dl-sq),
  body.dl-v2 #colophon .container .social-icons-color.row:not(#dl-sq) {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.dl-v2 #content > .container > .woocommerce-breadcrumb:not(#dl-sq),
  body.dl-v2 #content > .container > .row > #primary:not(#dl-sq),
  body.dl-v2 #content > .container > .row > .content-area:not(#dl-sq) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Phone footer (restyled by dl-v2-pay with a 16px side padding): same
     gutter as the header, search and content; its darkest bar stays full bleed. */
  body.dl-v2 #colophon .handheld-footer:not(#dl-sq):not(#dl-sq) {
    padding-left: calc((100vw - var(--dl-max)) / 2) !important;
    padding-right: calc((100vw - var(--dl-max)) / 2) !important;
  }
  body.dl-v2 #colophon .handheld-footer .handheld-footer-bar:not(#dl-sq):not(#dl-sq) {
    margin-left: calc((var(--dl-max) - 100vw) / 2) !important;
    margin-right: calc((var(--dl-max) - 100vw) / 2) !important;
  }
  body.dl-v2 #colophon .handheld-footer .container:not(#dl-sq):not(#dl-sq) { max-width: none !important; }

  /* first/last child of the handheld header row sits on the edge */
  body.dl-v2 #masthead .handheld-header-v2 > :first-child:not(#dl-sq) { padding-left: 0 !important; }
  body.dl-v2 #masthead .handheld-header-v2 > :last-child:not(#dl-sq) { padding-right: 0 !important; }
}

/* --------------------------------------------------------------------------
   IN-4  Product page
   -------------------------------------------------------------------------- */

body.dl-v2.single-product #content div.product.type-product:not(li):not(#dl-sq):not(#dl-sq) { padding-left: 0 !important; padding-right: 0 !important; }
body.dl-v2.single-product .single-product-wrapper:not(#dl-sq) { margin-left: 0 !important; margin-right: 0 !important; }
body.dl-v2.single-product .single-product-wrapper > .product-images-wrapper:not(#dl-sq) { padding-left: 0 !important; }

body.dl-v2.single-product #content :is(.woocommerce-tabs, .related, .upsells):not(#dl-sq) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

/* The thumbnail strip carries a -5px margin inside an overflow:hidden
   viewport, so the selected thumbnail's left border was cut off. */
body.dl-v2 .electro-wc-product-gallery .flex-viewport:not(#dl-sq) { padding: 3px 0 !important; }
body.dl-v2 .electro-wc-product-gallery__wrapper:not(#dl-sq) { margin-left: 2px !important; }

/* Section headings on the product page = homepage section headings. */
body.dl-v2 #content :is(.related, .upsells, .cross-sells) > h2:not(#dl-sq) {
  font-family: var(--display) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  letter-spacing: .6px !important;
  line-height: 1.25 !important;
  color: var(--ink) !important;
  text-transform: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.dl-v2 #content :is(.related, .upsells, .cross-sells) > h2::after { display: none !important; }

/* Tab panels: Electro paints body copy #919191 (2.8:1 on white). */
body.dl-v2.single-product #content .woocommerce-Tabs-panel:not(#dl-sq),
body.dl-v2.single-product #content .woocommerce-Tabs-panel :is(p, li, td, dd):not(#dl-sq) {
  color: var(--slate) !important;
}
body.dl-v2.single-product #content .woocommerce-Tabs-panel :is(p, li):not(#dl-sq) { font-size: 15px !important; line-height: 1.65 !important; }

@media (max-width: 991px) {
  body.dl-v2 #content :is(.related, .upsells, .cross-sells) > h2:not(#dl-sq) { font-size: 24px !important; letter-spacing: .48px !important; }
}

@media (max-width: 767px) {
  /* breadcrumb wraps inside the viewport instead of running off it */
  body.dl-v2 .woocommerce-breadcrumb:not(#dl-sq) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    white-space: normal !important;
    overflow: visible !important;
    max-width: 100% !important;
    row-gap: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.dl-v2 .woocommerce-breadcrumb a:not(#dl-sq) {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }

  /* tabs: one line each */
  body.dl-v2 .woocommerce-tabs ul.wc-tabs:not(#dl-sq) {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 4px !important;
    justify-content: flex-start !important;
    scrollbar-width: none;
  }
  /* Electro gives every tab after the first a 40px left padding: three tabs
     came to 394px in a 366px row and "Reviews" ran off the screen. */
  body.dl-v2 .woocommerce-tabs ul.wc-tabs li:not(#dl-sq):not(#dl-sq) { flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; }

  /* IN-3 one gutter: the summary column's 15px Bootstrap padding put the
     title, price and swatches at x=27 while breadcrumb/gallery/tabs sit at 12. */
  body.dl-v2.single-product .single-product-wrapper > .summary:not(#dl-sq):not(#dl-sq) { padding-left: 0 !important; padding-right: 0 !important; }
  body.dl-v2 .woocommerce-tabs ul.wc-tabs li a:not(#dl-sq) {
    white-space: nowrap !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 15px !important;
  }

  /* related/up-sells: two per row, never a hole */
  body.dl-v2 #content :is(.related, .upsells) ul.products > li.product:nth-child(odd):last-child { display: none !important; }
}

/* thin vertical rule painted between cards (li::after) */
body.dl-v2 ul.products > li.product::after,
body.dl-v2 ul.products > li.product::before { display: none !important; }

/* --------------------------------------------------------------------------
   IN-5  One component system
   -------------------------------------------------------------------------- */

/* Primary */
body.dl-v2 #content :is(
  .single_add_to_cart_button, .checkout-button, #place_order,
  .woocommerce-form-login button[type=submit], .woocommerce-form-register button[type=submit],
  .wpforms-submit, .return-to-shop .button, form[action*=warranty] button, .button.alt
):not([class*="dl-f-"]):not([class*="dl-cro-"]):not(#dl-sq):not(#dl-sq) {
  background: var(--green) !important;
  background-image: none !important;
  color: var(--ink) !important;
  border: 0 !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  font: 600 15px/1 var(--text) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  box-shadow: none !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: background-color .15s ease;
}
body.dl-v2 #content :is(
  .single_add_to_cart_button, .checkout-button, #place_order,
  .woocommerce-form-login button[type=submit], .woocommerce-form-register button[type=submit],
  .wpforms-submit, .return-to-shop .button, form[action*=warranty] button, .button.alt
):not([class*="dl-f-"]):not([class*="dl-cro-"]):hover { background: var(--green-dark) !important; }
body.dl-v2 #content .single_add_to_cart_button.disabled:not(#dl-sq) { opacity: .55 !important; }

/* Secondary */
body.dl-v2 #content :is(button[name=update_cart], button[name=apply_coupon], .more-link, .post-readmore .btn):not([class*="dl-f-"]):not([class*="dl-cro-"]):not(#dl-sq):not(#dl-sq) {
  background: var(--paper) !important;
  background-image: none !important;
  color: var(--navy) !important;
  border: 1px solid var(--navy) !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font: 600 14px/1 var(--text) !important;
  text-transform: none !important;
  text-decoration: none !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  box-shadow: none !important;
  opacity: 1 !important;
}
body.dl-v2 #content button[name=update_cart]:disabled:not(#dl-sq) { opacity: .5 !important; cursor: default; }

/* Page H1 — one style everywhere except the homepage hero */
body.dl-v2:not(.home) #content :is(h1, .page-title, .woocommerce-products-header__title):not(#dl-sq):not(#dl-sq),
body.dl-v2.woocommerce-account:not(.logged-in) #content :is(.u-column1, .u-column2) > h2:not(#dl-sq):not(#dl-sq),
body.dl-v2.woocommerce-account:not(.logged-in) #content .woocommerce > h2:not(#dl-sq):not(#dl-sq),
body.dl-v2 #content .wishlist-title h2:not(#dl-sq):not(#dl-sq) {
  font-family: var(--display) !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.2 !important;
  letter-spacing: .6px !important;
  text-align: left !important;
  text-transform: none !important;
  color: var(--ink) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.dl-v2:not(.home) #content :is(h1, .page-title)::after { display: none !important; }
body.dl-v2:not(.home) #content .elementor-widget-heading h1.elementor-heading-title:not(#dl-sq):not(#dl-sq) { text-align: left !important; }
body.dl-v2:not(.home) #content .entry-header:not(#dl-sq),
body.dl-v2:not(.home) #content .page-header:not(#dl-sq) { text-align: left !important; }

/* Blog index: every post title is an <h1> in the theme; in a list they read
   as card titles, one step below the page heading. */
body.dl-v2:is(.blog, .archive.category, .archive.tag) #content article .entry-title:not(#dl-sq):not(#dl-sq) { font-size: 24px !important; margin-bottom: 8px !important; }
body.dl-v2:is(.blog, .archive.category, .archive.tag) #content article .entry-title a:not(#dl-sq) { color: inherit !important; text-decoration: none !important; }

@media (max-width: 767px) {
  body.dl-v2:is(.blog, .archive.category, .archive.tag) #content article .entry-title:not(#dl-sq):not(#dl-sq) { font-size: 20px !important; }
  body.dl-v2:not(.home) #content :is(h1, .page-title, .woocommerce-products-header__title):not(#dl-sq):not(#dl-sq),
  body.dl-v2.woocommerce-account:not(.logged-in) #content :is(.u-column1, .u-column2) > h2:not(#dl-sq):not(#dl-sq),
  body.dl-v2.woocommerce-account:not(.logged-in) #content .woocommerce > h2:not(#dl-sq):not(#dl-sq),
  body.dl-v2 #content .wishlist-title h2:not(#dl-sq):not(#dl-sq) { font-size: 26px !important; letter-spacing: .5px !important; }
}

/* Inputs */
body.dl-v2 #content :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]):not([type=button]):not([type=range]):not([type=file]):not([type=image]), select):not([class*="dl-f-"]):not([class*="dl-cro-"]):not(#sidebar *):not([class*="dl-f-"] *):not(#dl-sq):not(#dl-sq),
body.dl-v2 #content .select2-container .select2-selection--single:not(#dl-sq):not(#dl-sq) {
  height: 46px !important;
  min-height: 46px !important;
  border: 1px solid var(--line-2, #d3dae3) !important;
  background-color: var(--paper) !important;
  color: var(--ink) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  box-shadow: none !important;
  font-family: var(--text) !important;
  font-size: 15px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  outline-offset: 0;
}
body.dl-v2 #content textarea:not([class*="dl-f-"]):not([class*="dl-cro-"]):not(#dl-sq):not(#dl-sq) {
  min-height: 120px !important;
  height: auto !important;
  border: 1px solid var(--line-2, #d3dae3) !important;
  background-color: var(--paper) !important;
  color: var(--ink) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  box-shadow: none !important;
  font-family: var(--text) !important;
  font-size: 15px !important;
  padding: 12px 14px !important;
}
body.dl-v2 #content .select2-container .select2-selection--single .select2-selection__rendered { line-height: 44px !important; padding-left: 14px !important; }
body.dl-v2 #content .select2-container .select2-selection--single .select2-selection__arrow { height: 44px !important; }
body.dl-v2 #content :is(input, select, textarea):focus:not([type=checkbox]):not([type=radio]) {
  border-color: var(--navy) !important;
  box-shadow: 0 0 0 3px rgba(31, 48, 68, .12) !important;
  outline: none !important;
}
@media (max-width: 767px) {
  body.dl-v2 #content :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not(#dl-sq):not(#dl-sq) { font-size: 16px !important; }
}

/* Notices: a quiet card with an accent, not the bright full-width slab */
body.dl-v2 #content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .cart-empty):not(#dl-sq):not(#dl-sq) {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-left: 4px solid var(--navy) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  font: 400 15px/1.5 var(--text) !important;
  text-align: left !important;
  padding: 14px 18px !important;
  margin: 0 0 20px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  list-style: none !important;
  width: auto !important;
}
body.dl-v2 #content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .cart-empty)::before { display: none !important; }
/* WooCommerce focuses the notice for screen readers; no ring on a non-control */
body.dl-v2 #content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper):focus,
body.dl-v2 #content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper):focus-visible { outline: none !important; }
body.dl-v2 #content .woocommerce-message:not(#dl-sq):not(#dl-sq) { border-left-color: var(--green) !important; }
body.dl-v2 #content .woocommerce-error:not(#dl-sq):not(#dl-sq) { border-left-color: #c62828 !important; flex-direction: column; align-items: flex-start; }
body.dl-v2 #content .woocommerce-error li { margin: 0 !important; padding: 0 !important; }
body.dl-v2 #content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) { color: var(--navy) !important; font-weight: 600; text-decoration: underline; }
body.dl-v2 #content :is(.woocommerce-message, .woocommerce-info) .button:not(#dl-sq):not(#dl-sq) {
  order: 2;
  margin-left: auto !important;
  float: none !important;
  background: var(--paper) !important;
  color: var(--navy) !important;
  border: 1px solid var(--navy) !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  font: 600 14px/1 var(--text) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}

/* --------------------------------------------------------------------------
   IN-6  Cart, checkout, my account
   -------------------------------------------------------------------------- */

/* Preview pill: in the flow below the footer, never over a control. */
body.dl-v2 .dl-v2-flag:not(#dl-sq):not(#dl-sq) {
  position: static !important;
  display: table !important;
  margin: 12px auto !important;
  box-shadow: none !important;
}

/* Proceed to checkout lives in the totals card. Electro prints a copy in
   the coupon row and hides the totals one; swap them. */
body.dl-v2.woocommerce-cart #content td.actions .wc-proceed-to-checkout { display: none !important; }
body.dl-v2.woocommerce-cart #content .cart_totals .wc-proceed-to-checkout:not(#dl-sq) {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 16px 0 0 !important;
  margin: 0 !important;
}
body.dl-v2.woocommerce-cart #content .cart_totals .wc-proceed-to-checkout .checkout-button:not(#dl-sq):not(#dl-sq) {
  order: -1;
  width: 100% !important;
  font-size: 16px !important;
}
body.dl-v2.woocommerce-cart #content .cart_totals .tabbyPromo:not(#dl-sq) {
  margin: 0 !important;
  opacity: 1 !important;
  filter: none !important;
}

body.dl-v2.woocommerce-cart #content .cart_totals:not(#dl-sq):not(#dl-sq) {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px !important;
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
  box-shadow: 0 1px 2px rgba(20, 33, 47, .04) !important;
}
body.dl-v2.woocommerce-cart #content .cart_totals > h2:not(#dl-sq) {
  font: 600 20px/1.3 var(--text) !important;
  color: var(--ink) !important;
  margin: 0 0 12px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--line) !important;
  text-transform: none !important;
}
body.dl-v2.woocommerce-cart #content .cart_totals > h2::after,
body.dl-v2.woocommerce-cart #content .cart_totals > h2::before { display: none !important; }
body.dl-v2.woocommerce-cart #content .cart_totals table:not(#dl-sq) { margin: 0 !important; width: 100% !important; }
body.dl-v2.woocommerce-cart #content .cart_totals .order-total :is(th, td):not(#dl-sq) { font-size: 17px !important; font-weight: 700 !important; }

@media (min-width: 992px) {
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce:not(#dl-sq) {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: 32px;
    row-gap: 0;
    align-items: start;
  }
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce > * { grid-column: 1; min-width: 0; }
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce > .cart-collaterals { display: contents !important; }
  body.dl-v2.woocommerce-cart #content .cart-collaterals > * { grid-column: 1; min-width: 0; float: none !important; width: 100% !important; }
  body.dl-v2.woocommerce-cart #content .cart-collaterals > .cart_totals:not(#dl-sq):not(#dl-sq) {
    grid-column: 2;
    grid-row: 2 / span 40;
    align-self: start;
    position: sticky;
    top: 16px;
  }
  /* empty cart keeps one column */
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce:has(> .cart-empty, > .wc-empty-cart-message, > .return-to-shop):not(:has(.woocommerce-cart-form)) { display: block !important; }
}

@media (max-width: 991px) {
  body.dl-v2.woocommerce-cart #content .cart-collaterals:not(#dl-sq) { margin: 24px 0 0 !important; width: 100% !important; padding: 0 !important; }
  body.dl-v2.woocommerce-cart #content .cart-collaterals > *:not(#dl-sq) { float: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  body.dl-v2.woocommerce-cart #content .cart_totals:not(#dl-sq):not(#dl-sq) { padding: 18px !important; }
}

/* coupon row */
body.dl-v2.woocommerce-cart #content td.actions:not(#dl-sq) { padding: 16px 0 !important; text-align: left !important; }
body.dl-v2.woocommerce-cart #content td.actions .coupon:not(#dl-sq) {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  gap: 8px !important;
  align-items: center !important;
  float: none !important;
  margin: 0 0 12px !important;
  flex-wrap: wrap;
}
body.dl-v2.woocommerce-cart #content td.actions .coupon #coupon_code:not(#dl-sq):not(#dl-sq) { flex: 1 1 180px; width: auto !important; max-width: 320px; height: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 14px !important; }
body.dl-v2.woocommerce-cart #content td.actions :is(button[name=apply_coupon], button[name=update_cart]):not(#dl-sq):not(#dl-sq) { float: none !important; margin: 0 !important; width: auto !important; }
body.dl-v2.woocommerce-cart #content td.actions button[name=update_cart]:not(#dl-sq):not(#dl-sq) { float: right !important; }
@media (max-width: 767px) {
  body.dl-v2.woocommerce-cart #content td.actions button[name=update_cart]:not(#dl-sq):not(#dl-sq) { float: none !important; width: 100% !important; }
  body.dl-v2.woocommerce-cart #content td.actions .coupon:not(#dl-sq) { display: flex !important; width: 100% !important; flex-direction: row !important; flex-wrap: nowrap !important; }
  body.dl-v2.woocommerce-cart #content td.actions .coupon #coupon_code:not(#dl-sq):not(#dl-sq) { flex: 1 1 0 !important; width: 0 !important; min-width: 0 !important; max-width: none !important; }
  /* the stacked (responsive) cart table must never be wider than the screen */
  body.dl-v2.woocommerce-cart #content table.shop_table_responsive.cart:not(#dl-sq),
  body.dl-v2.woocommerce-cart #content table.shop_table_responsive.cart > tbody:not(#dl-sq) { display: block !important; width: 100% !important; max-width: 100% !important; }
  body.dl-v2.woocommerce-cart #content table.shop_table_responsive.cart tr:not(#dl-sq) { display: block !important; width: 100% !important; }
  body.dl-v2.woocommerce-cart #content table.shop_table_responsive.cart td:not(#dl-sq) { max-width: 100% !important; box-sizing: border-box !important; overflow-wrap: anywhere; }
  body.dl-v2.woocommerce-cart #content td.actions .coupon button:not(#dl-sq):not(#dl-sq) { flex: 0 0 auto !important; }
}

/* empty cart */
body.dl-v2.woocommerce-cart #content .return-to-shop:not(#dl-sq) { text-align: left !important; margin: 0 0 24px !important; }
/* Empty cart: "Return to shop" sits right under the message; the
   recently-viewed / category aside (dl-v2-cro) follows it. Woo prints the
   button after the woocommerce_cart_is_empty hook, so reorder visually. */
body.dl-v2.woocommerce-cart #content .woocommerce:has(> .dl-in-cart-empty-aside):not(:has(.woocommerce-cart-form)):not(#dl-sq):not(#dl-sq) { display: flex !important; flex-direction: column !important; }
body.dl-v2.woocommerce-cart #content .woocommerce > .dl-in-cart-empty-aside:not(#dl-sq) { order: 10; min-width: 0; }
body.dl-v2.woocommerce-cart #content .cart-empty:not(#dl-sq):not(#dl-sq) { border-left-color: var(--navy) !important; }

/* Checkout: order review + payment = one white card */
body.dl-v2.woocommerce-checkout #content :is(.order-review-wrapper, #order_review_heading + #order_review):not(#dl-sq):not(#dl-sq) {
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
  padding: 24px !important;
  box-shadow: none !important;
}
body.dl-v2.woocommerce-checkout #content #order_review:not(#dl-sq):not(#dl-sq) {
  background: var(--paper) !important;
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
}
body.dl-v2.woocommerce-checkout #content .order-review-wrapper #order_review:not(#dl-sq):not(#dl-sq) { padding: 0 !important; border: 0 !important; }
body.dl-v2.woocommerce-checkout #content #payment:not(#dl-sq):not(#dl-sq) {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
body.dl-v2.woocommerce-checkout #content #payment ul.payment_methods:not(#dl-sq) { padding: 0 !important; border: 0 !important; margin: 16px 0 0 !important; }
body.dl-v2.woocommerce-checkout #content #payment ul.payment_methods > li:not(#dl-sq):not(#dl-sq) {
  border: 1px solid var(--line) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  margin: 0 0 8px !important;
  padding: 0 14px !important;
  list-style: none !important;
}
body.dl-v2.woocommerce-checkout #content #payment ul.payment_methods > li > label:not(#dl-sq) {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 48px !important;
  width: calc(100% - 28px);
  cursor: pointer;
  margin: 0 !important;
}
body.dl-v2.woocommerce-checkout #content #payment ul.payment_methods > li > input[type=radio] { margin: 0 8px 0 0 !important; vertical-align: middle; }
body.dl-v2.woocommerce-checkout #content #payment .payment_box:not(#dl-sq):not(#dl-sq) {
  background: var(--mist, #f5f7fa) !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
  margin: 0 0 12px !important;
  font-size: 14px !important;
}
body.dl-v2.woocommerce-checkout #content #payment .payment_box::before { display: none !important; }
body.dl-v2.woocommerce-checkout #content #payment .place-order:not(#dl-sq) { padding: 8px 0 0 !important; background: transparent !important; }
body.dl-v2.woocommerce-checkout #content #place_order:not(#dl-sq):not(#dl-sq) { width: 100% !important; font-size: 16px !important; }
body.dl-v2.woocommerce-checkout #content :is(#dl-condition-ack-box, .dl-cond-summary, [class*="condition-summary"]):not(#dl-sq):not(#dl-sq) {
  border-left: 4px solid var(--navy) !important;
  color: var(--ink) !important;
  margin: 16px 0 0 !important;
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
  padding: 16px 18px !important;
}

/* My account: login/register columns on the page edge */
body.dl-v2 #content .entry-content > .woocommerce:not(#dl-sq) { margin-left: 0 !important; margin-right: 0 !important; }
body.dl-v2.woocommerce-account:not(.logged-in) #content :is(.u-column1, .u-column2) > h2::after,
body.dl-v2.woocommerce-account:not(.logged-in) #content :is(.u-column1, .u-column2) > h2::before { display: none !important; }
body.dl-v2.woocommerce-account #content .u-columns:not(#dl-sq):not(#dl-sq),
body.dl-v2.woocommerce-account #content .col2-set:not(#dl-sq):not(#dl-sq) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
body.dl-v2.woocommerce-account #content .u-columns > .u-column1:not(#dl-sq) { padding-left: 0 !important; padding-right: 48px !important; }
body.dl-v2.woocommerce-account #content .u-columns > .u-column2:not(#dl-sq) { padding-left: 48px !important; padding-right: 0 !important; }
body.dl-v2.woocommerce-account #content .u-columns > .u-column2:not(#dl-sq) { border-left: 0 !important; }
body.dl-v2.woocommerce-account #content :is(.woocommerce-form-login, .woocommerce-form-register):not(#dl-sq):not(#dl-sq) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.dl-v2 #content .woocommerce-form-login p.form-row:has(.woocommerce-form-login__rememberme):not(#dl-sq) { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
body.dl-v2 #content .woocommerce-form-login .woocommerce-form-login__rememberme:not(#dl-sq) { display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; margin: 0 !important; }
body.dl-v2 #content .woocommerce-form-login .woocommerce-form-login__rememberme input { margin: 0 !important; }
body.dl-v2 #content .woocommerce-LostPassword a:not(#dl-sq) { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 991px) {
  body.dl-v2.woocommerce-account #content .u-columns:not(#dl-sq):not(#dl-sq) { flex-direction: column !important; display: flex !important; }
  body.dl-v2.woocommerce-account #content .u-columns > *:not(#dl-sq):not(#dl-sq) { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; padding-left: 0 !important; padding-right: 0 !important; }
}

/* --------------------------------------------------------------------------
   IN-7  Small consistency fixes
   -------------------------------------------------------------------------- */

/* footer: no Compare / Wishlist / themeforest, one set of policy links */
body.dl-v2 #colophon :is(li:has(> a[href*="/compare/"]), li:has(> a[href*="/wishlist/"]), li:has(> a[href*="themeforest"])),
body.dl-v2 #colophon :is(a[href*="/compare/"], a[href*="/wishlist/"], a[href*="themeforest"]) { display: none !important; }

/* blog sidebar: grey placeholder squares */
body.dl-v2 img[src*="placehold.it"] { display: none !important; }

/* About: standard top spacing, no empty band (a 104px row margin plus a 40px header margin) */
body.dl-v2:not(.home) #content .entry-header:not(#dl-sq) { margin-bottom: 24px !important; }
body.dl-v2 #content .vc_row.about-features:not(#dl-sq) { margin-top: 0 !important; }
body.dl-v2.page:not(.home) #content .elementor > .elementor-element:first-child:not(#dl-sq) { padding-top: 0 !important; margin-top: 0 !important; }

/* Contact: map within the content width */
body.dl-v2 #content .vc_row[data-vc-full-width]:not(#dl-sq):not(#dl-sq) {
  left: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.dl-v2 #content :is(.elementor-widget-google_maps, .wp-block-embed, iframe[src*="google.com/maps"]):not(#dl-sq) { max-width: 100% !important; }
body.dl-v2 #content iframe[src*="google.com/maps"]:not(#dl-sq):not(#dl-sq) {
  display: block;
  width: 100% !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
}

/* Phone tap targets */
@media (max-width: 767px) {
  body.dl-v2.woocommerce-cart #content a.remove:not(#dl-sq):not(#dl-sq) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }
  body.dl-v2 #content :is(.shipping-calculator-button, .woocommerce-message .wc-forward, .entry-meta a, .post-meta a, .posted-on a, .cat-links a, .comments-link a):not(#dl-sq) {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }
  body.dl-v2 #content .show-password-input:not(#dl-sq) { min-width: 44px !important; min-height: 44px !important; }
  body.dl-v2 .flex-control-paging li a:not(#dl-sq) { position: relative; }
  body.dl-v2 .flex-control-paging li a::after { content: ""; position: absolute; inset: -16px; }
}

/* cart: offer bar + notices share row 1 (full width), totals start at row 2
   (the engraving offer bar used to push the notices below the totals) */
@media (min-width: 992px) {
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce > .woocommerce-notices-wrapper,
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce > .dl-offerbar { grid-column: 1 / -1; grid-row: 1; }
  body.dl-v2.woocommerce-cart #content .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
}

/* dl-v2-pay.css */
/* DL v2 — Pay later + payment trust (preview only: everything sits under body.dl-v2).
   Tabby brand green #6CFF93 with black text, as in Tabby's merchant guidelines.
   Tamara marks only render while a Tamara gateway is live. */

body.dl-v2 {
  --tabby: #6cff93;
  --tamara: linear-gradient(90deg, #fcc96d 0%, #f7bc83 45%, #e17e79 100%);
}

/* ---- Payment marks (shared) -------------------------------------------- */

body.dl-v2 .dl-pm:not(#dl-sq):not(#dl-sq) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  min-width: 54px;
  padding: 0 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px !important;
  corner-shape: squircle;
  vertical-align: middle;
}

body.dl-v2 .dl-pm--tabby:not(#dl-sq):not(#dl-sq) {
  padding: 0;
  border: 0;
  background: transparent;
}

body.dl-v2 .dl-pm--tabby img {
  height: 34px;
  width: auto;
  display: block;
}

body.dl-v2 .dl-pm--tamara:not(#dl-sq):not(#dl-sq) {
  background: var(--tamara);
  border: 0;
  color: #1a1a1a;
  font: 800 15px/1 var(--text);
  letter-spacing: -.02em;
  padding: 0 12px;
}

body.dl-v2 .dl-pm--card svg {
  display: block;
}

body.dl-v2 .dl-pm--cod:not(#dl-sq):not(#dl-sq) {
  font: 600 12.5px/1 var(--text);
  color: var(--ink);
  padding: 0 12px;
}

/* ---- Top strip: rotating proof (centre) + pay-later marks (right) ------- */

body.dl-v2 .dl-tb-host {
  position: relative;
  display: flex !important;
  align-items: center;
  min-height: 40px;
}

body.dl-v2 .dl-tb-rot {
  position: relative;
  flex: 0 1 460px;
  height: 24px;
  min-width: 0;
}

/* The rotator replaces the static welcome line on the left. */
body.dl-v2 .dl-tb-host > :not(.dl-tb-rot):not(.dl-tb-bnpl):not(nav):not(#menu-top-bar-right):first-child,
body.dl-v2 .dl-tb-host #menu-top-bar-left,
body.dl-v2 .dl-tb-host .top-bar-left {
  display: none !important;
}

body.dl-v2 .dl-tb-rot__i {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .45s ease, transform .45s ease;
  color: #fff;
  font: 600 14px/1 var(--text);
  white-space: nowrap;
}

body.dl-v2 .dl-tb-rot__i.is-on {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

body.dl-v2 .dl-tb-rot__i > * {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
}

body.dl-v2 .dl-tb-rot .dl-pay-ico {
  width: 18px;
  height: 18px;
  color: var(--green);
}

body.dl-v2 .dl-tb-bnpl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  margin-right: 22px;
  padding-right: 22px;
  border-right: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  font: 600 13px/1 var(--text);
  white-space: nowrap;
}

body.dl-v2 .dl-tb-bnpl img {
  height: 22px;
  width: auto;
  display: block;
}

body.dl-v2 .dl-tb-bnpl .dl-pm--tamara:not(#dl-sq):not(#dl-sq) {
  height: 22px;
  font-size: 12px;
  padding: 0 8px;
}

@media (max-width: 991px) {
  body.dl-v2 .dl-tb-rot { display: none; }
}

/* ---- BNPL strip under the header (Tabby "Pay it in 4" banner) ---------- */

body.dl-v2 .dl-bnpl {
  background: var(--tabby);
  color: #000;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

body.dl-v2 .dl-bnpl__in {
  position: relative;
  max-width: var(--dl-max);
  margin: 0 auto;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.dl-v2 .dl-bnpl__slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  opacity: 0;
  transition: opacity .5s ease;
}

body.dl-v2 .dl-bnpl__slide.is-on {
  opacity: 1;
}

body.dl-v2 .dl-bnpl__slide img {
  height: 26px;
  width: auto;
  display: block;
}

body.dl-v2 .dl-bnpl__slide b {
  font: 800 20px/1 var(--text);
  letter-spacing: -.02em;
}

body.dl-v2 .dl-bnpl__sub {
  font: 500 14.5px/1 var(--text);
}

body.dl-v2 .dl-bnpl__fine {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font: 500 11px/1.2 var(--text);
  color: rgba(0,0,0,.62);
}

@media (max-width: 991px) {
  body.dl-v2 .dl-bnpl__fine { display: none; }
}

@media (max-width: 767px) {
  body.dl-v2 .dl-bnpl__in { height: 40px; }
  body.dl-v2 .dl-bnpl__slide { gap: 10px; }
  body.dl-v2 .dl-bnpl__slide img { height: 22px; }
  body.dl-v2 .dl-bnpl__slide b { font-size: 17px; }
  body.dl-v2 .dl-bnpl__sub { font-size: 13px; }
}

/* ---- Homepage "Pay it in 4" band --------------------------------------- */

body.dl-v2 .dl-p4:not(#dl-sq):not(#dl-sq) {
  max-width: var(--dl-max);
  margin: 8px auto 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px;
  padding: 36px 40px;
  background: var(--tabby);
  color: #000;
  border-radius: var(--sq-lg) !important;
  corner-shape: squircle;
}

body.dl-v2 .dl-p4__h {
  margin: 0 0 8px !important;
  font: 800 clamp(34px, 4.4vw, 56px)/1 var(--text) !important;
  letter-spacing: -.035em;
  color: #000 !important;
  text-transform: none !important;
}

body.dl-v2 .dl-p4__sub {
  margin: 0;
  font: 500 17px/1.45 var(--text);
  max-width: 560px;
}

body.dl-v2 .dl-p4__side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

body.dl-v2 .dl-p4__side img {
  height: 48px;
  width: auto;
}

body.dl-v2 .dl-p4__fine {
  margin: 0;
  font: 500 11.5px/1.3 var(--text);
  color: rgba(0,0,0,.66);
}

@media (max-width: 767px) {
  body.dl-v2 .dl-p4:not(#dl-sq):not(#dl-sq) {
    grid-template-columns: 1fr;
    padding: 26px 22px;
    margin: 4px auto 24px;
  }
  body.dl-v2 .dl-p4__side { align-items: flex-start; }
  body.dl-v2 .dl-p4__side img { height: 36px; }
  body.dl-v2 .dl-p4__sub { font-size: 15px; }
}

/* ---- Product cards: the official Tabby mark instead of a text chip ------ */

body.dl-v2 .dl-split__mark:not(#dl-sq):not(#dl-sq) {
  width: 52px;
  height: 21px;
  padding: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  background: url("https://discountlane.ae/wp-content/uploads/dl-speed/tabby-logo-96.webp") center / contain no-repeat !important;
  border-radius: 0 !important;
}

/* ---- Cart: ways to pay for this order ---------------------------------- */

body.dl-v2 .dl-cartpay:not(#dl-sq):not(#dl-sq) {
  margin: 20px 0 0;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
}

body.dl-v2 .dl-cartpay__h {
  margin: 0 0 14px !important;
  font: 700 17px/1.3 var(--text) !important;
  color: var(--ink) !important;
  text-transform: none !important;
}

body.dl-v2 .dl-cartpay__opt:not(#dl-sq):not(#dl-sq) {
  padding: 16px;
  margin-bottom: 12px;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}

body.dl-v2 .dl-cartpay__opt--tabby { background: #effff3; border: 1px solid #bdf5cb; }
body.dl-v2 .dl-cartpay__opt--tamara { background: #fff6ee; border: 1px solid #f6d6bd; }

body.dl-v2 .dl-cartpay__top {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 600 14.5px/1.3 var(--text);
  color: var(--ink);
}

body.dl-v2 .dl-cartpay__top img { height: 26px; width: auto; }

body.dl-v2 .dl-cartpay__plan {
  list-style: none;
  margin: 16px 0 14px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  text-align: center;
}

body.dl-v2 .dl-cartpay__plan li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

body.dl-v2 .dl-cartpay__dot:not(#dl-sq):not(#dl-sq) {
  width: 30px;
  height: 30px;
  border-radius: 50% !important;
  background: conic-gradient(#000 calc(var(--q) * 1%), #cfe9d6 0);
  -webkit-mask: radial-gradient(circle 9px, transparent 98%, #000);
          mask: radial-gradient(circle 9px, transparent 98%, #000);
  margin-bottom: 4px;
}

body.dl-v2 .dl-cartpay__plan b {
  font: 700 14px/1.2 var(--text);
  color: var(--ink);
}

body.dl-v2 .dl-cartpay__plan small {
  font: 500 12px/1.2 var(--text);
  color: #5b6b7c;
}

body.dl-v2 .dl-cartpay__btn:not(#dl-sq):not(#dl-sq) {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 100%;
  font: 700 15px/1 var(--text);
  text-decoration: none !important;
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}

body.dl-v2 .dl-cartpay__btn--tabby { background: #000; color: #fff !important; }
body.dl-v2 .dl-cartpay__btn--tabby:hover { background: #222; }
body.dl-v2 .dl-cartpay__btn--tamara { background: var(--tamara); color: #1a1a1a !important; }

body.dl-v2 .dl-cartpay__line { margin: 10px 0; font: 600 15px var(--text); }
body.dl-v2 .dl-cartpay__fine,
body.dl-v2 .dl-cartpay__note { margin: 8px 0 0; font: 500 12px/1.4 var(--text); color: #5b6b7c; }

body.dl-v2 .dl-cartpay__also {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  font: 600 12.5px var(--text);
  color: #5b6b7c;
}

body.dl-v2 .dl-cartpay__also > span:first-child { margin-right: 4px; }

/* ---- Checkout: marks + secure line above "Place order" ----------------- */

body.dl-v2 .dl-cosecure:not(#dl-sq):not(#dl-sq) {
  margin: 4px 0 16px;
  padding: 14px;
  border: 1px solid var(--line);
  background: #fafbfc;
  border-radius: var(--sq-md) !important;
  corner-shape: squircle;
}

body.dl-v2 .dl-cosecure__marks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

body.dl-v2 .dl-cosecure__line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font: 500 13px/1.4 var(--text);
  color: var(--ink);
}

body.dl-v2 .dl-cosecure__line .dl-pay-ico { color: #17713a; flex: 0 0 20px; width: 20px; height: 20px; }

/* ---- Footer: ways to pay + shop with confidence ------------------------ */

body.dl-v2 .dl-ftrust {
  max-width: var(--dl-max);
  margin: 0 auto;
  padding: 28px 0;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px;
  border-top: 1px solid var(--line);
}

body.dl-v2 .dl-ftrust__h {
  margin: 0 0 14px !important;
  font: 700 13px/1 var(--text) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink) !important;
}

body.dl-v2 .dl-ftrust__marks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.dl-v2 .dl-ftrust__sub {
  margin: 10px 0 0;
  font: 500 13px var(--text);
  color: #5b6b7c;
}

body.dl-v2 .dl-ftrust__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.dl-v2 .dl-ftrust__list li:not(#dl-sq):not(#dl-sq) {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--sq-sm) !important;
  corner-shape: squircle;
}

body.dl-v2 .dl-ftrust__list .dl-pay-ico {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  color: #17713a;
}

body.dl-v2 .dl-ftrust__ni {
  width: 56px;
  height: auto;
  object-fit: contain;
  flex: 0 0 56px;
}

body.dl-v2 .dl-ftrust__list span {
  display: flex;
  flex-direction: column;
  font: 500 12.5px/1.35 var(--text);
  color: #5b6b7c;
}

body.dl-v2 .dl-ftrust__list b {
  font: 700 14px/1.3 var(--text);
  color: var(--ink);
}

@media (max-width: 991px) {
  body.dl-v2 .dl-ftrust { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 767px) {
  body.dl-v2 .dl-ftrust { padding: 24px 0; }
  body.dl-v2 .dl-ftrust__list { grid-template-columns: 1fr 1fr; gap: 8px; }
  body.dl-v2 .dl-ftrust__list li:not(#dl-sq):not(#dl-sq) { padding: 10px; gap: 8px; }
  body.dl-v2 .dl-cartpay__plan b { font-size: 13px; }
}

/* The main stylesheet swaps EVERY footer <img> to the logo
   (.site-footer img { content:url(https://discountlane.ae/wp-content/mu-plugins/...) }) — exempt the payment and trust marks. */
body.dl-v2 .site-footer .dl-ftrust img:not(#dl-sq):not(#dl-sq) {
  content: normal !important;
  max-height: none !important;
}
body.dl-v2 .site-footer .dl-pm--tabby img:not(#dl-sq):not(#dl-sq) { height: 34px !important; width: auto !important; }


/* Cart plan: keep each amount on one line on phones. */
body.dl-v2 .dl-cartpay__plan b { white-space: nowrap; }
@media (max-width: 767px) {
  body.dl-v2 .dl-cartpay__plan b { font-size: 12.5px; }
  body.dl-v2 .dl-cartpay__plan small { font-size: 11.5px; }
  body.dl-v2 .dl-cartpay:not(#dl-sq):not(#dl-sq) { padding: 16px; }
  body.dl-v2 .dl-cartpay__opt:not(#dl-sq):not(#dl-sq) { padding: 14px 10px; }
}

/* ---- Strip takes the brand of the provider on show ---------------------- */

body.dl-v2 .dl-bnpl {
  transition: background-color .6s ease;
}

body.dl-v2 .dl-bnpl[data-brand="tamara"] {
  background: linear-gradient(90deg, #fcc96d 0%, #f7bc83 45%, #e17e79 100%);
}

body.dl-v2 .dl-bnpl__tamara {
  font: 800 24px/1 var(--text);
  letter-spacing: -.035em;
  color: #000;
}

@media (max-width: 767px) {
  body.dl-v2 .dl-bnpl__tamara { font-size: 20px; }
}

/* ---- Card marks: every brand in the same 54x34 tile --------------------- */

body.dl-v2 .dl-pm--card svg { width: 30px; height: 22px; }
body.dl-v2 .dl-pm--visa svg,
body.dl-v2 .dl-pm--card[aria-label="Visa"] svg { width: 38px; height: 24px; }
body.dl-v2 .dl-pm--card[aria-label="Mastercard"] svg { width: 38px; height: 24px; }
body.dl-v2 .dl-pm--amex:not(#dl-sq):not(#dl-sq) { background: #2e77bc; border-color: #2e77bc; }
body.dl-v2 .dl-pm--amex svg path { fill: #fff; }
body.dl-v2 .dl-pm--unionpay img { width: 40px; height: 25px; object-fit: contain; display: block; }
body.dl-v2 .site-footer .dl-pm--unionpay img:not(#dl-sq):not(#dl-sq) { content: normal !important; width: 40px !important; height: 25px !important; }

/* Tamara plan dots in Tamara's colours. */
body.dl-v2 .dl-cartpay__dot--tamara:not(#dl-sq):not(#dl-sq) {
  background: conic-gradient(#e17e79 calc(var(--q) * 1%), #f6dccb 0);
}

/* The marks wrap in a tidy grid wherever many appear. */
body.dl-v2 .dl-ftrust__marks,
body.dl-v2 .dl-cosecure__marks,
body.dl-v2 .dl-cartpay__also { gap: 8px; }

/* Fill the tiles: the single-colour brand marks read too small at 30px. */
body.dl-v2 .dl-pm--card:not(#dl-sq):not(#dl-sq) { min-width: 60px; height: 38px; padding: 0 6px; }
body.dl-v2 .dl-pm--card svg { width: auto !important; height: auto !important; max-width: 50px; }
body.dl-v2 .dl-pm--applepay svg { height: 30px !important; }
body.dl-v2 .dl-pm--googlepay svg { height: 20px !important; }
body.dl-v2 .dl-pm--jcb svg { height: 14px !important; }
body.dl-v2 .dl-pm--discover svg { height: 9px !important; }
body.dl-v2 .dl-pm--card[aria-label="Visa"] svg, body.dl-v2 .dl-pm--card[aria-label="Mastercard"] svg { width: 40px !important; height: 26px !important; }
body.dl-v2 .dl-pm--amex svg { width: 40px !important; height: 30px !important; }
body.dl-v2 .dl-pm--tabby img { height: 38px !important; }
body.dl-v2 .dl-pm--tamara:not(#dl-sq):not(#dl-sq) { height: 38px; font-size: 16px; }
body.dl-v2 .dl-pm--cod:not(#dl-sq):not(#dl-sq) { height: 38px; }

/* Top strip: Tamara's wordmark stays black on its gradient (the strip's
   white link colour was bleeding in). */
body.dl-v2 .top-bar .dl-pm--tamara:not(#dl-sq):not(#dl-sq) {
  color: #111 !important;
  font-weight: 800 !important;
  height: 22px;
  font-size: 12.5px;
}
body.dl-v2 .top-bar .dl-tb-bnpl img { height: 22px !important; }

/* ==========================================================================
   Strip v2: two full-width brand layers that crossfade (background and all)
   ========================================================================== */

body.dl-v2 .dl-bnpl:not(#dl-sq) {
  position: relative;
  height: 46px;
  overflow: hidden;
  background: #6cff93 !important;
  border-bottom: 0;
}

body.dl-v2 .dl-bnpl .dl-bnpl__slide:not(#dl-sq) {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transition: opacity 1s ease;
}

body.dl-v2 .dl-bnpl .dl-bnpl__slide.is-on:not(#dl-sq) {
  opacity: 1;
}

body.dl-v2 .dl-bnpl__slide--tabby { background: #6cff93; }

body.dl-v2 .dl-bnpl__slide--tamara {
  background:
    radial-gradient(90% 160% at 0% 100%, rgba(172,201,238,.9) 0%, rgba(172,201,238,0) 55%),
    linear-gradient(90deg, #fea27c 0%, #f9e4b8 36%, #f4cdb4 58%, #e58fb9 82%, #d66abd 100%);
}

body.dl-v2 .dl-bnpl .dl-bnpl__in:not(#dl-sq) {
  position: relative;
  height: 100%;
  max-width: var(--dl-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

body.dl-v2 .dl-bnpl__logo {
  height: 30px !important;
  width: auto !important;
  display: block;
}

body.dl-v2 .dl-bnpl__slide b {
  font: 800 20px/1 var(--text);
  letter-spacing: -.02em;
  color: #000;
}

body.dl-v2 .dl-bnpl__slide .dl-bnpl__sub {
  font: 500 14.5px/1 var(--text);
  color: #000;
}

body.dl-v2 .dl-bnpl[data-brand="tamara"] { background: transparent; }

@media (max-width: 767px) {
  body.dl-v2 .dl-bnpl:not(#dl-sq) { height: 42px; }
  body.dl-v2 .dl-bnpl .dl-bnpl__in:not(#dl-sq) { gap: 10px; }
  body.dl-v2 .dl-bnpl__logo { height: 24px !important; }
  body.dl-v2 .dl-bnpl__slide b { font-size: 17px; }
  body.dl-v2 .dl-bnpl__slide .dl-bnpl__sub { font-size: 13px; }
}

@media (max-width: 380px) {
  body.dl-v2 .dl-bnpl__slide .dl-bnpl__sub { display: none; }
}

/* ---- Tamara mark = Tamara's official badge everywhere -------------------- */

body.dl-v2 .dl-pm--tamara:not(#dl-sq):not(#dl-sq) {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-width: 0;
}

body.dl-v2 .dl-pm--tamara img {
  height: 38px;
  width: auto;
  display: block;
}

body.dl-v2 .site-footer .dl-pm--tamara img:not(#dl-sq):not(#dl-sq),
body.dl-v2 .site-footer .dl-bnpl__logo:not(#dl-sq):not(#dl-sq) {
  content: normal !important;
  height: 38px !important;
  width: auto !important;
}

body.dl-v2 .top-bar .dl-pm--tamara img { height: 22px; }
body.dl-v2 .dl-p4__side .dl-pm--tamara img { height: 48px; }
body.dl-v2 .dl-cartpay__top .dl-pm--tamara img { height: 26px; }

@media (max-width: 767px) {
  body.dl-v2 .dl-p4__side .dl-pm--tamara img { height: 36px; }
}

/* ---- Card chip: Tabby + Tamara badges side by side ----------------------- */

body.dl-v2 .dl-split__marks {
  grid-area: mark;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

body.dl-v2 .dl-split__mark--tamara:not(#dl-sq):not(#dl-sq) {
  width: 48px;
  height: 16px;
  background: url("https://cdn.tamara.co/assets/svg/tamara-logo-badge-en.svg") center / contain no-repeat !important;
}

body.dl-v2 .dl-split:not(#dl-sq) {
  grid-template-areas: "mark mark" "amt amt" !important;
}

body.dl-v2 .dl-split__note:not(#dl-sq) { display: none !important; }

@media (max-width: 767px) {
  body.dl-v2 .dl-split__mark:not(#dl-sq):not(#dl-sq) { width: 42px; height: 17px; }
  body.dl-v2 .dl-split__mark--tamara:not(#dl-sq):not(#dl-sq) { width: 42px; height: 14px; }
}

/* ==========================================================================
   Footer v2 (owner, 25 Oct): payments + trust inside the navy footer, clean
   link columns, phone footer navy too.
   ========================================================================== */

/* ---- Trust block, dark ---------------------------------------------------- */

body.dl-v2 .dl-ftrust.dl-ftrust--dark:not(#dl-sq) {
  max-width: none;
  margin: 0 0 36px;
  padding: 0 0 36px;
  border-top: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

body.dl-v2 .dl-ftrust--dark .dl-ftrust__h:not(#dl-sq) { color: #fff !important; }
body.dl-v2 .dl-ftrust--dark .dl-ftrust__sub { color: rgba(255,255,255,.72); }

body.dl-v2 .dl-ftrust--dark .dl-ftrust__list li:not(#dl-sq):not(#dl-sq) {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}

body.dl-v2 .dl-ftrust--dark .dl-ftrust__list b { color: #fff; }
body.dl-v2 .dl-ftrust--dark .dl-ftrust__list span { color: rgba(255,255,255,.72); }
body.dl-v2 .dl-ftrust--dark .dl-ftrust__list .dl-pay-ico { color: var(--green); }

/* Network International's logo is dark ink — give it a white plate. */
body.dl-v2 .dl-ftrust--dark .dl-ftrust__ni:not(#dl-sq):not(#dl-sq) {
  background: #fff;
  padding: 6px 7px;
  width: 66px !important;
  flex: 0 0 66px;
  border-radius: 8px !important;
  corner-shape: squircle;
}

/* ---- Desktop link columns ------------------------------------------------- */

body.dl-v2 .dl-fnav-host > :not(.dl-fnav) { display: none !important; }

body.dl-v2 .dl-fnav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}

body.dl-v2 .dl-fnav__h:not(#dl-sq) {
  margin: 0 0 16px !important;
  font: 700 13px/1 var(--text) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff !important;
}

body.dl-v2 .dl-fnav ul,
body.dl-v2 .dl-facc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.dl-v2 .dl-fnav li { margin: 0 0 11px; }

body.dl-v2 .dl-fnav a:not(#dl-sq),
body.dl-v2 .dl-facc a:not(#dl-sq) {
  font: 500 14.5px/1.4 var(--text) !important;
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
  transition: color .15s ease;
}

body.dl-v2 .dl-fnav a:hover,
body.dl-v2 .dl-facc a:hover { color: var(--green) !important; }

/* Social: one WhatsApp, no RSS / theme-demo links. */
body.dl-v2 #colophon .footer-social-icons li:has(a[href*="feed"]),
body.dl-v2 #colophon .footer-social-icons li:has(.fa-rss),
body.dl-v2 #colophon .footer-social-icons li:has(a[href*="themeforest"]) {
  display: none !important;
}
body.dl-v2 #colophon .desktop-footer .footer-social-icons li:has(.fa-whatsapp.mobile),
body.dl-v2 #colophon .desktop-footer .footer-social-icons li:has(.mobile) {
  display: none !important;
}

/* ---- Phone footer: navy, trust first, clean accordions -------------------- */

body.dl-v2 #colophon .handheld-footer:not(#dl-sq) {
  background: #1f3044 !important;
  padding: 28px 16px 8px !important;
}

body.dl-v2 .dl-facc-host > .handheld-widget-menu { display: none !important; }

body.dl-v2 .dl-facc { margin: 0 0 16px; }

body.dl-v2 .dl-facc details:not(#dl-sq):not(#dl-sq) {
  border-bottom: 1px solid rgba(255,255,255,.12);
}

body.dl-v2 .dl-facc summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  font: 700 16px/1.2 var(--text);
  color: #fff;
}

body.dl-v2 .dl-facc summary::-webkit-details-marker { display: none; }

body.dl-v2 .dl-facc summary::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(255,255,255,.7);
  border-bottom: 2px solid rgba(255,255,255,.7);
  transform: rotate(45deg) translateY(-3px);
  transition: transform .2s ease;
}

body.dl-v2 .dl-facc details[open] summary::after { transform: rotate(225deg) translateY(-3px); }

body.dl-v2 .dl-facc ul { padding: 0 0 14px; }
body.dl-v2 .dl-facc li { padding: 8px 0; }

body.dl-v2 #colophon .handheld-footer .footer-social-icons .fa-whatsapp:not(#dl-sq) { color: var(--green) !important; }

@media (max-width: 767px) {
  body.dl-v2 .dl-ftrust.dl-ftrust--dark:not(#dl-sq) { margin: 0 0 8px; padding: 0 0 24px; }
}

/* Dark footer: the white logo tiles keep dark ink. */
body.dl-v2 .dl-ftrust--dark .dl-pm--cod:not(#dl-sq):not(#dl-sq) { color: var(--ink) !important; }

/* Phone: the logo/phone block runs full width in the footer's darkest navy. */
body.dl-v2 #colophon .handheld-footer .handheld-footer-bar:not(#dl-sq) {
  background: #14212f !important;
  margin: 8px -16px 0 !important;
  width: auto !important;
}

/* Homepage band: Tabby + Tamara side by side at one height, fine print under. */
body.dl-v2 .dl-p4__side:not(#dl-sq) {
  display: grid !important;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: end;
  gap: 10px 12px;
}
body.dl-v2 .dl-p4__side > img,
body.dl-v2 .dl-p4__side .dl-pm--tamara img { height: 44px !important; width: auto !important; }
body.dl-v2 .dl-p4__side .dl-p4__fine { grid-column: 1 / -1; text-align: right; }
@media (max-width: 767px) {
  body.dl-v2 .dl-p4__side:not(#dl-sq) { justify-content: start; }
  body.dl-v2 .dl-p4__side > img,
  body.dl-v2 .dl-p4__side .dl-pm--tamara img { height: 36px !important; }
  body.dl-v2 .dl-p4__side .dl-p4__fine { text-align: left; }
}

/* Plan labels: one line at phone widths. */
body.dl-v2 .dl-cartpay__plan small { font-size: 12px !important; white-space: nowrap; }
@media (max-width: 380px) {
  body.dl-v2 .dl-cartpay__plan { gap: 4px; }
  body.dl-v2 .dl-cartpay__plan b { font-size: 12px !important; letter-spacing: -.01em; }
  body.dl-v2 .dl-cartpay__plan small { font-size: 11.5px !important; }
}

/* ==========================================================================
   Footer v3 (owner, 25 Oct): three equal columns — Ways to pay · Shop with
   confidence (one-line ticks) · Offers (engraving + corporate). Leaner, so a
   reviews row (video reviews, Trustpilot) can sit beneath later.
   ========================================================================== */
body.dl-v2 .dl-ftrust.dl-ftrust--3:not(#dl-sq) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm:not(#dl-sq):not(#dl-sq) { height: 32px; min-width: 48px; }
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm--tabby img,
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm--tamara img { height: 32px !important; }
body.dl-v2 .dl-ftrust__ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
body.dl-v2 .dl-ftrust__ticks li { display: flex; align-items: center; gap: 10px; font: 500 14.5px/1.35 var(--text); color: rgba(255,255,255,.85); }
body.dl-v2 .dl-ftrust__ticks .dl-pay-ico { width: 20px; height: 20px; flex: 0 0 20px; color: var(--green); }
body.dl-v2 .dl-foffer:not(#dl-sq):not(#dl-sq) {
  display: grid; gap: 3px; margin: 0 0 10px; padding: 13px 16px;
  text-decoration: none !important; border-radius: var(--sq-md) !important; corner-shape: squircle;
  transition: transform .2s ease, box-shadow .2s ease;
}
body.dl-v2 .dl-foffer:hover { transform: translateY(-2px); }
body.dl-v2 .dl-foffer b { font: 800 16px/1.2 var(--text); }
body.dl-v2 .dl-foffer span:not(.dl-foffer__tag) { font: 500 13px/1.4 var(--text); opacity: .85; }
body.dl-v2 .dl-foffer__tag { font: 700 11px/1 var(--text); letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
body.dl-v2 .dl-foffer--gold { background: linear-gradient(120deg, #fff6db, #f6df9a); color: #3d2a00 !important; box-shadow: 0 0 0 1px rgba(234,179,8,.5), 0 8px 24px -8px rgba(234,179,8,.6); }
body.dl-v2 .dl-foffer--gold s { color: #8f7a44; }
body.dl-v2 .dl-foffer--indigo { background: linear-gradient(120deg, #eef0ff, #cfd5ff); color: #1e1b4b !important; box-shadow: 0 0 0 1px rgba(99,102,241,.5), 0 8px 24px -8px rgba(99,102,241,.6); }
@media (max-width: 991px) {
  body.dl-v2 .dl-ftrust.dl-ftrust--3:not(#dl-sq) { grid-template-columns: 1fr; gap: 26px; }
}
body.dl-v2 #colophon a.dl-foffer--gold:not(#dl-sq):not(#dl-sq), body.dl-v2 #colophon a.dl-foffer--gold:not(#dl-sq):not(#dl-sq) * { color: #3d2a00 !important; }
body.dl-v2 #colophon a.dl-foffer--gold:not(#dl-sq):not(#dl-sq) s { color: #8f7a44 !important; }
body.dl-v2 #colophon a.dl-foffer--indigo:not(#dl-sq):not(#dl-sq), body.dl-v2 #colophon a.dl-foffer--indigo:not(#dl-sq):not(#dl-sq) * { color: #1e1b4b !important; }

/* ==========================================================================
   Footer v4 (owner, 25 Oct)
   ========================================================================== */

/* --- Ways to pay: an even 4-column grid of identical tiles ---------------- */
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks:not(#dl-sq) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  max-width: 360px;
}
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm:not(#dl-sq):not(#dl-sq) {
  width: 100% !important; min-width: 0 !important; height: 40px !important;
  padding: 0 6px !important; background: #fff !important; border: 0 !important;
  display: flex; align-items: center; justify-content: center;
  border-radius: 10px !important; corner-shape: squircle;
}
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm img,
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm svg { max-width: 100% !important; max-height: 24px !important; height: auto !important; width: auto !important; }
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm--tabby img,
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm--tamara img { max-height: 26px !important; }
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm--amex:not(#dl-sq):not(#dl-sq) { background: #2e77bc !important; }
body.dl-v2 .dl-ftrust--3 .dl-ftrust__marks .dl-pm--cod:not(#dl-sq):not(#dl-sq) { grid-column: span 2; font-size: 13px; color: var(--ink) !important; }

/* --- Reviews column -------------------------------------------------------- */
body.dl-v2 #colophon a.dl-frev:not(#dl-sq):not(#dl-sq) {
  display: flex; align-items: center; gap: 14px; margin: 0 0 10px; padding: 12px 16px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16);
  color: #fff !important; text-decoration: none !important;
  border-radius: var(--sq-md) !important; corner-shape: squircle;
  transition: background-color .2s ease, transform .2s ease;
}
body.dl-v2 #colophon a.dl-frev:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); }
body.dl-v2 #colophon a.dl-frev svg { flex: 0 0 30px; background: #fff; border-radius: 8px; padding: 4px; box-sizing: content-box; }
body.dl-v2 #colophon a.dl-frev span { display: grid; gap: 2px; font: 500 13px/1.3 var(--text); color: rgba(255,255,255,.72) !important; }
body.dl-v2 #colophon a.dl-frev b { font: 700 15px/1.2 var(--text); color: #fff !important; }

/* --- Newsletter bar: offers as pop-out cards + compact sign-up ------------ */
body.dl-v2 #colophon .footer-newsletter:not(#dl-sq) { padding: 46px 0 28px !important; overflow: visible; }
body.dl-v2 #colophon .footer-newsletter-inner.dl-nlgrid:not(#dl-sq) {
  display: grid !important; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 28px; align-items: center; margin: 0 !important;
}
body.dl-v2 .dl-nloffers { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.dl-v2 #colophon a.dl-nloffer:not(#dl-sq):not(#dl-sq) {
  position: relative; display: flex; align-items: flex-end; min-height: 112px; padding: 16px 18px 16px 44%;
  text-decoration: none !important; overflow: visible; isolation: isolate;
  border-radius: var(--sq-lg) !important; corner-shape: squircle;
  transition: transform .25s ease, box-shadow .25s ease;
}
body.dl-v2 #colophon a.dl-nloffer--gold { background: linear-gradient(120deg, #fff7dd 0%, #f6df9a 100%); box-shadow: 0 14px 34px -10px rgba(234,179,8,.7), 0 0 0 1px rgba(234,179,8,.5); }
body.dl-v2 #colophon a.dl-nloffer--indigo { background: linear-gradient(120deg, #eff1ff 0%, #cdd3ff 100%); box-shadow: 0 14px 34px -10px rgba(99,102,241,.75), 0 0 0 1px rgba(99,102,241,.5); }
body.dl-v2 #colophon a.dl-nloffer:hover { transform: translateY(-4px); }
/* the product pops OUT of the top edge of the card */
body.dl-v2 .dl-nloffer__pop:not(#dl-sq):not(#dl-sq) {
  position: absolute; left: 4%; bottom: 10px; width: 38%; height: auto; max-height: 150%;
  object-fit: contain; z-index: 2; filter: drop-shadow(0 12px 14px rgba(0,0,0,.28));
  transition: transform .35s ease; border-radius: 0 !important; mix-blend-mode: normal;
}
body.dl-v2 .dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { left: 14%; bottom: 26px; width: 30%; z-index: 1; opacity: .9; transform: rotate(-6deg); }
body.dl-v2 #colophon a.dl-nloffer:hover .dl-nloffer__pop:not(.dl-nloffer__pop--back) { transform: translateY(-6px) scale(1.04); }
body.dl-v2 .dl-nloffer__lid {
  position: absolute; left: 9%; bottom: 44px; z-index: 3; width: 26%; text-align: center;
  font: italic 600 12px/1 Georgia, serif; color: rgba(255,255,255,.95); text-shadow: 0 1px 2px rgba(0,0,0,.5);
  transform: perspective(200px) rotateX(8deg);
}
body.dl-v2 .dl-nloffer__txt { display: grid; gap: 3px; position: relative; z-index: 3; }
body.dl-v2 #colophon .dl-nloffer__txt small { font: 700 11px/1 var(--text); letter-spacing: .08em; text-transform: uppercase; }
body.dl-v2 #colophon .dl-nloffer__txt b { font: 800 17px/1.2 var(--text); }
body.dl-v2 #colophon .dl-nloffer__txt em { font: 500 13px/1.35 var(--text); font-style: normal; }
body.dl-v2 #colophon a.dl-nloffer--gold, body.dl-v2 #colophon a.dl-nloffer--gold * { color: #3d2a00 !important; }
body.dl-v2 #colophon a.dl-nloffer--gold s { color: #8f7a44 !important; }
body.dl-v2 #colophon a.dl-nloffer--indigo, body.dl-v2 #colophon a.dl-nloffer--indigo * { color: #1e1b4b !important; }
/* sign-up side: stacked, compact */
body.dl-v2 .dl-nlsub { display: grid; gap: 12px; }
body.dl-v2 .dl-nlsub > * { width: 100% !important; max-width: none !important; flex: none !important; padding: 0 !important; }
body.dl-v2 .dl-nlsub .newsletter-title:not(#dl-sq) { font-size: 20px !important; margin: 0 !important; }
body.dl-v2 .dl-nlsub .newsletter-marketing-text, body.dl-v2 .dl-nlsub .newsletter-content p { font-size: 13.5px !important; opacity: .85; margin: 4px 0 0 !important; }

@media (max-width: 1199px) {
  body.dl-v2 #colophon .footer-newsletter-inner.dl-nlgrid:not(#dl-sq) { grid-template-columns: 1fr; }
}
/* phone: offers at the top of the navy footer */
@media (max-width: 991px) {
  body.dl-v2 #colophon .handheld-footer .dl-nloffers { grid-template-columns: 1fr; gap: 26px; margin: 26px 0 28px; }
  body.dl-v2 #colophon .handheld-footer a.dl-nloffer:not(#dl-sq):not(#dl-sq) { min-height: 104px; padding-left: 42%; }
}
body.dl-v2 .site-footer img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { content: normal !important; max-height: none !important; height: auto !important; }
body.dl-v2 #colophon a.dl-nloffer:not(#dl-sq):not(#dl-sq) { min-height: 118px; padding-left: 46%; }
body.dl-v2 .site-footer img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { width: 44% !important; left: 2%; bottom: 18px; }
body.dl-v2 .site-footer img.dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { width: 34% !important; left: 12%; bottom: 46px; }
body.dl-v2 .dl-nloffer__lid { left: 8%; bottom: 62px; width: 32%; font-size: 13px; }
/* cut-outs: real transparency now; size by width, cap height, pop above the top edge */
body.dl-v2 .site-footer img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { width: 40% !important; max-height: 128px !important; left: 3%; bottom: 22px; filter: drop-shadow(0 14px 12px rgba(0,0,0,.3)); }
body.dl-v2 .site-footer img.dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { width: 30% !important; max-height: 100px !important; left: 16%; bottom: 56px; }
body.dl-v2 .dl-nloffer__lid { left: 13%; bottom: 66px; width: 22%; font-size: 11.5px; }
@media (max-width: 991px) {
  body.dl-v2 .site-footer img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { width: 38% !important; max-height: 112px !important; }
  body.dl-v2 .site-footer img.dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { width: 28% !important; max-height: 90px !important; }
  body.dl-v2 .dl-nloffer__lid { bottom: 60px; }
}
body.dl-v2 .dl-nloffer__lid { display: none !important; }
body.dl-v2 .site-footer img.dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { left: 10%; width: 26% !important; }
@media (max-width: 991px) { body.dl-v2 .site-footer img.dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { left: 8%; width: 24% !important; } }

/* Reviews column v2: two white review badges side by side (no rating is
   claimed — the stars are outlines until real reviews exist). */
body.dl-v2 .dl-rb { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body.dl-v2 #colophon a.dl-rb__card:not(#dl-sq):not(#dl-sq) {
  display: grid; gap: 10px; padding: 16px; background: #fff; text-decoration: none !important;
  border-radius: var(--sq-md) !important; corner-shape: squircle;
  box-shadow: 0 10px 26px -10px rgba(0,0,0,.5); transition: transform .2s ease, box-shadow .2s ease;
}
body.dl-v2 #colophon a.dl-rb__card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -10px rgba(0,0,0,.6); }
body.dl-v2 #colophon .dl-rb__brand { display: flex; align-items: center; gap: 7px; }
body.dl-v2 #colophon .dl-rb__brand svg { flex: 0 0 22px; background: none !important; padding: 0 !important; }
body.dl-v2 #colophon .dl-rb__brand b { font: 700 17px/1 var(--text); color: #202124 !important; letter-spacing: -.01em; }
body.dl-v2 #colophon .dl-rb__brand i { font: 500 15px/1 var(--text); font-style: normal; color: #5f6368 !important; }
body.dl-v2 #colophon .dl-rb__stars { display: flex; gap: 3px; }
body.dl-v2 #colophon .dl-rb__card--g .dl-rb__stars { color: #fbbc04 !important; }
body.dl-v2 #colophon .dl-rb__card--tp .dl-rb__stars { color: #00b67a !important; }
body.dl-v2 #colophon .dl-rb__cta { font: 600 13px/1.3 var(--text); color: #1a56db !important; }
body.dl-v2 #colophon .dl-rb__card--tp .dl-rb__cta { color: #00875a !important; }
@media (max-width: 380px) { body.dl-v2 .dl-rb { grid-template-columns: 1fr; } }

/* Newsletter bar → three offer cards, full width (owner: drop the sign-up). */
body.dl-v2 #colophon .dl-nlsub { display: none !important; }
body.dl-v2 #colophon .footer-newsletter-inner.dl-nlgrid:not(#dl-sq) { grid-template-columns: 1fr; }
body.dl-v2 .dl-nloffers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.dl-v2 #colophon a.dl-nloffer--teal { background: linear-gradient(120deg, #ecfdf8 0%, #bdf0df 100%); box-shadow: 0 14px 34px -10px rgba(20,184,166,.7), 0 0 0 1px rgba(20,184,166,.5); }
body.dl-v2 #colophon a.dl-nloffer--teal, body.dl-v2 #colophon a.dl-nloffer--teal * { color: #053b33 !important; }
body.dl-v2 .site-footer a.dl-nloffer--teal img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { width: 22% !important; max-height: 132px !important; left: 14%; }
body.dl-v2 .site-footer a.dl-nloffer--teal img.dl-nloffer__pop--back:not(#dl-sq):not(#dl-sq) { width: 24% !important; max-height: 112px !important; left: 4%; bottom: 30px; transform: rotate(-8deg); }
@media (max-width: 1199px) { body.dl-v2 .dl-nloffers { grid-template-columns: 1fr; } }

/* Footer Launch Offer card: real gold, with a shine sweep */
body.dl-v2 #colophon a.dl-nloffer--gold:not(#dl-sq):not(#dl-sq) {
  background: linear-gradient(120deg, #fff4cf 0%, #f3cf6b 26%, #fff1c2 44%, #dcab3c 68%, #f8de8e 100%);
  box-shadow: 0 16px 36px -10px rgba(184,134,11,.8), 0 0 0 1.5px #c99a2e, inset 0 1px 0 rgba(255,255,255,.75);
  overflow: hidden;
}
body.dl-v2 #colophon a.dl-nloffer--gold::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.7) 50%, transparent 65%);
  transform: translateX(-120%); animation: dl-gold 4.5s ease-in-out infinite; }
@keyframes dl-gold { 0%,60% { transform: translateX(-120%); } 85%,100% { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { body.dl-v2 #colophon a.dl-nloffer--gold::after { display: none; } }

/* Offers bar in the brand green instead of navy (owner, 25 Oct). */
body.dl-v2 #colophon .footer-newsletter:not(#dl-sq):not(#dl-sq) {
  background: linear-gradient(110deg, #1f8f19 0%, #2fae26 45%, #37c12d 100%) !important;
  border: 0 !important;
}
/* Offers bar back to dark navy (owner, 25 Oct — the green read too loud). */
body.dl-v2 #colophon .footer-newsletter:not(#dl-sq):not(#dl-sq) { background: #14212f !important; }
/* Launch Offer card: laptop sits clearly ABOVE the card (fully visible), with
   a sample name on the lid; extra room in the bar so nothing is clipped. */
body.dl-v2 #colophon .footer-newsletter:not(#dl-sq):not(#dl-sq) { padding-top: 78px !important; }
body.dl-v2 .site-footer a.dl-nloffer--gold img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { width: 40% !important; max-height: 140px !important; bottom: 38px; left: 3%; transform: rotate(-5deg); }
body.dl-v2 #colophon a.dl-nloffer--gold .dl-nloffer__lid { display: block !important; position: absolute; left: 7%; width: 30%; bottom: 82px; z-index: 3; text-align: center; transform: rotate(-5deg);
  font: italic 700 13px/1 Georgia, serif; color: #fff !important; text-shadow: 0 1px 3px rgba(0,0,0,.6); white-space: nowrap; }
@media (max-width: 991px) { body.dl-v2 #colophon a.dl-nloffer--gold .dl-nloffer__lid { bottom: 72px; } }
body.dl-v2 .site-footer a.dl-nloffer--gold img.dl-nloffer__pop:not(#dl-sq):not(#dl-sq) { bottom: 64px !important; width: 38% !important; }
body.dl-v2 #colophon a.dl-nloffer--gold .dl-nloffer__lid { bottom: 106px; }
@media (max-width: 991px) { body.dl-v2 #colophon a.dl-nloffer--gold .dl-nloffer__lid { bottom: 98px; } }
/* the shine needed overflow:hidden, which clipped the laptop — clip only the shine */
body.dl-v2 #colophon a.dl-nloffer--gold:not(#dl-sq):not(#dl-sq) { overflow: visible !important; }
body.dl-v2 #colophon a.dl-nloffer--gold::after { clip-path: inset(0 round 22px); }

/* dl-currency.css */
/* DiscountLane — local-currency display + header switcher (pairs with dl-currency.php / .js).
   The AED text stays in the page; in another currency it is hidden and the converted figure
   is painted from data-dl-show. Delete this file with the other two to remove the feature. */

/* ---- converted prices ---- */
html.dl-cur-on [data-dl-show] > * { display: none !important; }
html.dl-cur-on [data-dl-show]::after {
  content: attr(data-dl-show);
  white-space: nowrap;
}
html.dl-cur-pending .woocommerce-Price-amount { visibility: hidden; }

/* ---- what the customer actually pays ---- */
.dl-cur-charged {
  display: block;
  margin-top: 2px;
  font: 500 12px/1.4 var(--text, Inter, system-ui, sans-serif);
  color: var(--slate, #5b6b7d);
  white-space: nowrap;
}
.dl-cur-note {
  margin: 12px 0 16px !important;
  padding: 10px 12px;
  font: 400 12.5px/1.5 var(--text, Inter, system-ui, sans-serif) !important;
  color: var(--slate, #5b6b7d) !important;
  background: var(--mist, #f5f7fa);
  border: 1px solid var(--line, #e4e8ee);
}
body.dl-v2 .dl-cur-note:not(#dl-sq):not(#dl-sq) { border-radius: var(--sq-sm, 10px) !important; }
.dl-cur-pdp {
  margin: 4px 0 10px !important;
  font: 400 12.5px/1.4 var(--text, Inter, system-ui, sans-serif) !important;
  color: var(--slate, #5b6b7d) !important;
}

/* ---- header switcher ---- */
.dl-cur-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px;
  min-height: 44px !important;
  min-width: 44px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--navy, #1f3044) !important;
  font: 700 13px/1 var(--text, Inter, system-ui, sans-serif) !important;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background-color .16s ease, color .16s ease;
}
body.dl-v2 .dl-cur-btn:not(#dl-sq):not(#dl-sq) { border-radius: 8px !important; }
.dl-cur-btn:hover, .dl-cur-btn[aria-expanded="true"] { background: var(--mist, #f5f7fa) !important; color: var(--ink, #14212f) !important; }
.dl-cur-btn:focus-visible { outline: 2px solid var(--green, #37c12d) !important; outline-offset: 2px; }
.dl-cur-btn__sym { font-weight: 500; color: var(--slate, #5b6b7d); font-size: 12px; }
.dl-cur-btn svg { flex: 0 0 auto; opacity: .7; transition: transform .16s ease; }
.dl-cur-btn[aria-expanded="true"] svg { transform: rotate(180deg); }

body.dl-v2 #masthead .header-icons > .dl-cur-sw { min-width: 0 !important; }

/* phone header: the code and chevron only, sized like its neighbours. The theme spaces the
   icons 20px apart, which pushed the bag off a 390px screen once a third item joined: close
   the gaps only when the switcher is there. */
.handheld-header-links:has(.dl-cur-sw) { min-width: 0 !important; display: flex !important; justify-content: flex-end !important; }
.handheld-header-links > ul:has(> li.dl-cur-sw) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
}
.handheld-header-links > ul:has(> li.dl-cur-sw) > li { margin: 0 !important; padding: 0 !important; }
/* phone header: the code and chevron only, sized like its neighbours */
.handheld-header-links li.dl-cur-sw {
  display: flex !important;
  align-items: center;
  list-style: none;
  width: auto !important;
  flex: 0 0 auto !important;
}
.dl-cur-btn--phone { padding: 0 4px !important; min-width: 40px !important; font-size: 13px !important; }
.dl-cur-btn--phone .dl-cur-btn__sym { display: none; }

/* ---- the menu (fixed, so the header never clips it) ---- */
.dl-cur-menu {
  position: fixed;
  z-index: 100050;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line, #e4e8ee);
  box-shadow: 0 18px 40px -12px rgba(20, 33, 47, .28), 0 2px 6px rgba(20, 33, 47, .06);
  font-family: var(--text, Inter, system-ui, sans-serif);
  color: var(--ink, #14212f);
  text-align: left;
}
.dl-cur-menu[hidden] { display: none !important; }
body.dl-v2 .dl-cur-menu:not(#dl-sq):not(#dl-sq) { border-radius: var(--sq-md, 16px) !important; }
.dl-cur-menu__h {
  margin: 4px 8px 6px !important;
  font: 700 11px/1.2 var(--text, Inter, system-ui, sans-serif) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--slate, #5b6b7d) !important;
}
.dl-cur-menu__list { display: flex; flex-direction: column; }
.dl-cur-menu [data-cur] {
  display: grid !important;
  grid-template-columns: 44px 1fr auto 18px;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--ink, #14212f) !important;
  text-align: left;
  font: 400 14px/1.2 var(--text, Inter, system-ui, sans-serif) !important;
  text-transform: none !important;
  cursor: pointer;
}
body.dl-v2 .dl-cur-menu [data-cur]:not(#dl-sq):not(#dl-sq) { border-radius: var(--sq-sm, 10px) !important; }
.dl-cur-menu [data-cur]:hover, .dl-cur-menu [data-cur]:focus-visible { background: var(--mist, #f5f7fa) !important; outline: none; }
.dl-cur-menu [data-cur]:focus-visible { box-shadow: inset 0 0 0 2px var(--green, #37c12d) !important; }
.dl-cur-menu__code { font-weight: 700; color: var(--navy, #1f3044); letter-spacing: .02em; }
.dl-cur-menu__name { color: var(--ink, #14212f); }
.dl-cur-menu__here[hidden] { display: none !important; }
.dl-cur-menu__here { display: block; margin-top: 2px; font-weight: 400; font-style: normal; color: var(--slate, #5b6b7d); font-size: 12px; }
.dl-cur-menu__sym { color: var(--slate, #5b6b7d); font-size: 13px; unicode-bidi: isolate; }
.dl-cur-menu__tick { display: flex; color: var(--green-dark, #2fae26); visibility: hidden; }
.dl-cur-menu [aria-checked="true"] { background: rgba(55, 193, 45, .08) !important; }
.dl-cur-menu [aria-checked="true"] .dl-cur-menu__tick { visibility: visible; }
.dl-cur-menu [aria-checked="true"] .dl-cur-menu__name { font-weight: 600; }
.dl-cur-menu__foot {
  margin: 6px 8px 4px !important;
  padding-top: 8px;
  border-top: 1px solid var(--line, #e4e8ee);
  font: 400 12px/1.45 var(--text, Inter, system-ui, sans-serif) !important;
  color: var(--slate, #5b6b7d) !important;
}
.dl-cur-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .dl-cur-btn, .dl-cur-btn svg { transition: none; }
}

/* Longer converted totals ("KWD 8.869") ran under the cart count bubble, which is pinned to the
   cart cell's right edge (right:2px, 18px wide). Reserve that strip inside the link itself so the
   figure always ends 4px left of the bubble, whatever its length. */
html.dl-cur-on body.dl-v2 #masthead .header-icons > .header-icon__cart > a { padding-right: 24px !important; }
html.dl-cur-on body.dl-v2 #masthead .header-icon__cart .cart-items-total-price { padding-right: 0 !important; }

/* ---- the row inside the phone slide-out menu ---- */
.dl-cur-oc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 16px 8px;
  padding: 2px 0 8px;
  border-bottom: 1px solid var(--line, #e4e8ee);
}
.dl-cur-oc__lbl { font: 500 13px/1.3 var(--text, Inter, system-ui, sans-serif); color: var(--slate, #5b6b7d); }
.dl-cur-btn--oc { padding: 0 10px !important; border: 1px solid var(--line, #e4e8ee) !important; }

/* dl-recent-purchases.css */
/* DL recent-purchase toasts — bottom-right, stacked above the WhatsApp button.
   bottom is set by the script from the real position of the WhatsApp button / sticky bar;
   the values here are the fallback. */
.dl-rp {
  position: fixed;
  right: 20px;
  bottom: 92px;
  z-index: 9989; /* just under the WhatsApp button (9990) */
  width: 320px;
  max-width: calc(100vw - 28px);
  display: flex;
  align-items: stretch;
  background: #fff;
  color: var(--ink, #14212f);
  border: 1px solid var(--line, #e4e8ee);
  box-shadow: 0 12px 30px rgba(20, 33, 47, .16), 0 2px 8px rgba(20, 33, 47, .08);
  font: 400 13px/1.35 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none;
}
.dl-rp,
body.dl-v2 .dl-rp:not(#dl-sq):not(#dl-sq) {
  border-radius: var(--sq-md, 16px) !important;
  corner-shape: squircle;
}
.dl-rp[hidden] { display: none !important; }
.dl-rp.is-on { opacity: 1; transform: none; pointer-events: auto; }

.dl-rp__link {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 6px 10px 10px;
  color: inherit !important;
  text-decoration: none !important;
}
.dl-rp__img {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  object-fit: contain;
  background: #f5f7fa;
}
.dl-rp__img,
body.dl-v2 .dl-rp__img:not(#dl-sq):not(#dl-sq) {
  border-radius: var(--sq-sm, 10px) !important;
  corner-shape: squircle;
}
.dl-rp__txt { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.dl-rp__who { color: #5b6b7d; font-size: 12px; }
.dl-rp__name {
  color: var(--navy, #1f3044);
  font-weight: 700;
  font-size: 13.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dl-rp__link:hover .dl-rp__name,
.dl-rp__link:focus-visible .dl-rp__name { text-decoration: underline; }
.dl-rp__when { color: #6b7a8b; font-size: 11.5px; }
.dl-rp__when::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px 1px 0;
  background: var(--green, #37c12d);
  vertical-align: middle;
}
.dl-rp__when::before,
body.dl-v2 .dl-rp__when:not(#dl-sq):not(#dl-sq)::before { border-radius: 50% !important; }

.dl-rp__x {
  flex: 0 0 auto;
  align-self: flex-start;
  width: 32px;
  height: 32px;
  margin: 4px 4px 0 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: 0 !important;
  color: #7c8a99 !important;
  cursor: pointer;
  box-shadow: none !important;
  min-height: 0 !important;
}
.dl-rp__x:hover, .dl-rp__x:focus-visible { color: var(--ink, #14212f) !important; background: #f1f4f7 !important; }
.dl-rp__x,
body.dl-v2 .dl-rp__x:not(#dl-sq):not(#dl-sq) { border-radius: 50% !important; }

/* never over an open menu / drawer */
body.off-canvas-active .dl-rp, html.dl-cro-lock .dl-rp, .dl-cro-lock .dl-rp, .dl-f-lock .dl-rp, body.dl-f-open .dl-rp { display: none !important; }

@media (max-width: 767px) {
  .dl-rp { right: 14px; left: 14px; width: auto; max-width: none; bottom: 82px; }
  .dl-rp__img { flex-basis: 44px; width: 44px; height: 44px; }
  .dl-rp__link { padding: 8px 4px 8px 8px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .dl-rp { transition: none; transform: none; }
}
@media print { .dl-rp { display: none !important; } }

