/* ==========================================================================
   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; }
}
