:root {
  --dp-blue: #2d477c;
  --dp-blue-dark: #20345f;
  --dp-blue-soft: #eef2f8;
  --dp-yellow: #fbbb16;
  --dp-yellow-dark: #e2a500;
  --dp-ink: #1d2635;
  --dp-muted: #6f7887;
  --dp-border: #e3e7ed;
  --dp-surface: #f7f8fa;
  --dp-radius: 1rem;
  --dp-shadow: 0 12px 38px rgba(32, 52, 95, 0.08);
}

html { scroll-behavior: smooth; }
body {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--dp-ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.woocommerce-loop-product__title,
.widget-title,
.dp-heading {
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-weight: 650;
  letter-spacing: -0.02em;
}

a { color: var(--dp-blue); }
a:hover { color: var(--dp-blue-dark); }
img { max-width: 100%; height: auto; }

.btn,
.button,
button,
input,
select,
textarea { border-radius: .65rem; }

.dp-btn-primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.checkout-button {
  background: var(--dp-yellow) !important;
  border: 1px solid var(--dp-yellow) !important;
  color: var(--dp-blue-dark) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.dp-btn-primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.checkout-button:hover {
  background: var(--dp-yellow-dark) !important;
  border-color: var(--dp-yellow-dark) !important;
  color: #142343 !important;
}

.dp-skip-link {
  position: fixed;
  z-index: 99999;
  left: 1rem;
  top: 1rem;
  background: #fff;
  color: var(--dp-blue-dark);
  padding: .75rem 1rem;
  border-radius: .5rem;
  box-shadow: var(--dp-shadow);
}

/* Header */
.dp-site-header { position: relative; z-index: 1020; }
.dp-topbar {
  background: var(--dp-blue-dark);
  color: #fff;
}
.dp-topbar a { color: var(--dp-yellow); text-decoration: none; }
.dp-main-header {
  border-bottom: 1px solid var(--dp-border);
}
.dp-brand { text-decoration: none; }
.dp-brand-wrap .custom-logo-link { display: inline-flex; }
.dp-brand-wrap .custom-logo,
.dp-brand-logo {
  display: block;
  width: auto;
  max-width: min(260px, 100%);
  max-height: 70px;
}
.dp-product-search .form-control {
  min-height: 48px;
  border-color: #d7dde7;
  padding-left: 1rem;
}
.dp-product-search .form-control:focus {
  border-color: var(--dp-blue);
  box-shadow: 0 0 0 .2rem rgba(45, 71, 124, .12);
}
.dp-search-btn {
  min-width: 52px;
  background: var(--dp-blue);
  color: #fff;
  border-color: var(--dp-blue);
}
.dp-search-btn:hover { background: var(--dp-blue-dark); color: #fff; }
.dp-icon-btn { color: var(--dp-blue-dark); padding: .25rem .4rem; border: 0; }
.dp-header-action {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--dp-blue-dark);
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
.dp-header-action:hover { color: var(--dp-blue); }
.dp-cart-link { padding-right: .5rem; }
.dp-cart-count {
  min-width: 1.35rem;
  height: 1.35rem;
  padding: .2rem .35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--dp-yellow);
  color: var(--dp-blue-dark);
  font-size: .68rem;
  line-height: 1;
}
.dp-cart-link .dp-cart-count {
  position: absolute;
  right: -.15rem;
  top: -.4rem;
}

/* Desktop mega menu */
.dp-menu-bar {
  background: var(--dp-blue);
  color: #fff;
  box-shadow: 0 4px 18px rgba(32, 52, 95, .12);
}
.dp-main-menu > li { position: static; }
.dp-main-menu > li > .dp-nav-link {
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 0 1rem;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: .9rem;
}
.dp-main-menu > li > .dp-nav-link:hover,
.dp-main-menu > li.current-menu-item > .dp-nav-link,
.dp-main-menu > li.current-menu-ancestor > .dp-nav-link {
  background: rgba(255,255,255,.08);
  color: var(--dp-yellow);
}
.dp-main-menu > li.menu-item-has-children > .dp-nav-link::after {
  content: "\F282";
  font-family: bootstrap-icons;
  font-size: .7rem;
  margin-left: .45rem;
}
.dp-main-menu .dp-sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dp-main-menu > li > .dp-sub-menu {
  position: absolute;
  top: 100%;
  left: 12px;
  right: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem 2rem;
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  background: #fff;
  color: var(--dp-ink);
  border: 1px solid var(--dp-border);
  border-radius: 0 0 1rem 1rem;
  box-shadow: var(--dp-shadow);
  padding: 1.5rem;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  max-height: min(70vh, 650px);
  overflow-y: auto;
}
.dp-main-menu > li:hover > .dp-sub-menu,
.dp-main-menu > li:focus-within > .dp-sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.dp-main-menu > li > .dp-sub-menu > li > .dp-nav-link {
  display: block;
  color: var(--dp-blue-dark);
  text-decoration: none;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  margin-bottom: .55rem;
}
.dp-main-menu .dp-sub-menu .dp-sub-menu .dp-nav-link {
  display: block;
  color: #536078;
  text-decoration: none;
  padding: .22rem 0;
  font-size: .86rem;
}
.dp-main-menu .dp-sub-menu .dp-sub-menu .dp-nav-link:hover { color: var(--dp-blue); }

/* Mobile nav / accordion */
.dp-mobile-nav { --bs-offcanvas-width: min(92vw, 420px); }
.dp-mobile-menu,
.dp-mobile-menu ul { list-style: none; margin: 0; padding: 0; }
.dp-mobile-menu > li { border-bottom: 1px solid var(--dp-border); }
.dp-mobile-menu a {
  display: block;
  color: var(--dp-ink);
  text-decoration: none;
}
.dp-mobile-menu-row {
  display: flex;
  align-items: stretch;
  min-height: 52px;
}
.dp-mobile-menu-row > a,
.dp-mobile-menu > li:not(.menu-item-has-children) > a {
  flex: 1 1 auto;
  padding: .9rem .35rem .9rem 0;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
}
.dp-mobile-menu > li.current-menu-item > .dp-mobile-menu-row > a,
.dp-mobile-menu > li.current-menu-ancestor > .dp-mobile-menu-row > a,
.dp-mobile-menu > li.current-menu-item > a {
  color: var(--dp-blue);
}
.dp-mobile-submenu-toggle {
  flex: 0 0 48px;
  width: 48px;
  border: 0;
  border-left: 1px solid var(--dp-border);
  background: transparent;
  color: var(--dp-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .18s ease, color .18s ease;
}
.dp-mobile-submenu-toggle:hover,
.dp-mobile-submenu-toggle:focus-visible {
  background: rgba(255, 190, 22, .14);
  color: var(--dp-blue-dark);
}
.dp-mobile-submenu-toggle i {
  transition: transform .2s ease;
}
.dp-mobile-submenu-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}
.dp-mobile-menu .dp-mobile-collapse,
.dp-mobile-menu .sub-menu {
  padding: 0 0 .65rem .9rem;
  margin: 0 0 .25rem .2rem;
  border-left: 2px solid rgba(37, 76, 137, .14);
}
.dp-mobile-menu .dp-mobile-collapse .dp-mobile-menu-row,
.dp-mobile-menu .sub-menu .dp-mobile-menu-row {
  min-height: 44px;
}
.dp-mobile-menu .dp-mobile-collapse a,
.dp-mobile-menu .sub-menu a {
  padding: .6rem .35rem .6rem .75rem;
  font-weight: 600;
  font-size: .92rem;
  color: var(--dp-muted);
}
.dp-mobile-menu .dp-mobile-collapse .dp-mobile-collapse a,
.dp-mobile-menu .sub-menu .sub-menu a {
  font-size: .87rem;
}
.dp-mobile-menu .dp-mobile-collapse a:hover,
.dp-mobile-menu .sub-menu a:hover {
  color: var(--dp-blue);
}
.dp-mobile-menu .dp-mobile-collapse .dp-mobile-submenu-toggle,
.dp-mobile-menu .sub-menu .dp-mobile-submenu-toggle {
  flex-basis: 42px;
  width: 42px;
}

/* Shop */
.dp-shop-header .page-title { font-size: clamp(2rem, 4vw, 3rem); }
.dp-shop-sidebar-inner {
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  padding: 1.1rem;
  background: #fff;
}
.dp-filter-widget + .dp-filter-widget { border-top: 1px solid var(--dp-border); margin-top: 1.25rem; padding-top: 1.25rem; }
.dp-filter-widget .widget-title { margin-bottom: .85rem; color: var(--dp-blue-dark); }
.dp-filter-widget ul { list-style: none; padding: 0; margin: 0; }
.dp-filter-widget li + li { margin-top: .45rem; }
.dp-filter-widget a { text-decoration: none; }
.dp-filter-widget select,
.dp-filter-widget input[type="search"],
.dp-filter-widget input[type="text"] { width: 100%; }

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--dp-border);
  padding: .55rem 2.2rem .55rem .8rem;
  background-color: #fff;
}
.dp-shop-toolbar .woocommerce-result-count { color: var(--dp-muted); font-size: .9rem; }
.dp-shop-toolbar:has(.woocommerce-result-count) > div {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (min-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
}
@media (min-width: 992px) {
  .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dp-shop-sidebar-inner { position: sticky; top: 1.25rem; }
}

.dp-product-card {
  overflow: hidden;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dp-product-card:hover {
  transform: translateY(-3px);
  border-color: #d3dae6 !important;
  box-shadow: var(--dp-shadow);
}
.dp-product-media {
  aspect-ratio: 1 / 1;
  background: var(--dp-surface);
  overflow: hidden;
}
.dp-product-image-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1rem;
}
.dp-product-image,
.dp-product-card .attachment-woocommerce_thumbnail {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform .25s ease;
}
.dp-product-card:hover .dp-product-image { transform: scale(1.025); }
.dp-sale-badge {
  position: absolute;
  z-index: 2;
  left: .75rem;
  top: .75rem;
  background: var(--dp-yellow);
  color: var(--dp-blue-dark);
}
.dp-product-category {
  color: var(--dp-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.dp-product-card .woocommerce-loop-product__title { font-size: .96rem !important; line-height: 1.35; padding: 0 !important; }
.dp-product-card .woocommerce-loop-product__title a { color: var(--dp-ink); text-decoration: none; }
.dp-product-sku { color: var(--dp-muted); font-size: .78rem; }
.dp-product-price { color: var(--dp-blue-dark); font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.08rem; }
.dp-product-price del { color: #98a0ad; font-size: .83rem; margin-right: .25rem; }
.dp-product-price ins { text-decoration: none; color: var(--dp-blue-dark); }
.dp-btn-cart,
.dp-product-actions .button,
.woocommerce ul.products li.product .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0 !important;
  background: var(--dp-blue) !important;
  color: #fff !important;
  border: 1px solid var(--dp-blue) !important;
  border-radius: .65rem !important;
  font-size: .85rem !important;
  font-weight: 800 !important;
  text-align: center;
}
.dp-btn-cart:hover,
.dp-product-actions .button:hover,
.woocommerce ul.products li.product .button:hover { background: var(--dp-blue-dark) !important; }
.woocommerce ul.products li.product a.added_to_cart { display: block; margin-top: .5rem; text-align: center; font-size: .8rem; }

/* Product page */
.single-product .woocommerce-breadcrumb { margin-bottom: 1.5rem; color: var(--dp-muted); font-size: .83rem; }
.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem 3rem;
}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.single-product div.product .summary { align-self: start; }
.single-product div.product .product_title {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.08;
  margin-bottom: .8rem;
}
.single-product div.product p.price,
.single-product div.product span.price {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.65rem;
  font-weight: 700;
}
.single-product div.product p.price del { color: #97a0ad; font-size: 1rem; }
.single-product div.product p.price ins { text-decoration: none; }
.single-product .woocommerce-product-details__short-description { color: #4f5969; line-height: 1.7; }
.single-product .stock { font-weight: 700; }
.single-product .stock.in-stock { color: #2b7a52; }
.single-product .product_meta { border-top: 1px solid var(--dp-border); margin-top: 1.4rem; padding-top: 1rem; color: var(--dp-muted); font-size: .85rem; }
.single-product .product_meta > span { display: block; margin-top: .25rem; }
.single-product form.cart { display: flex; align-items: stretch; gap: .65rem; margin-top: 1.4rem !important; }
.single-product form.cart .quantity { float: none !important; margin: 0 !important; }
.single-product form.cart .qty {
  min-height: 48px;
  width: 76px;
  border: 1px solid var(--dp-border);
  padding: .5rem;
}
.single-product form.cart .single_add_to_cart_button { min-height: 48px; padding-inline: 1.3rem !important; }
.single-product table.variations { margin-bottom: 1rem !important; }
.single-product table.variations th,
.single-product table.variations td { display: block; width: 100%; padding: 0 0 .45rem !important; }
.single-product table.variations label { font-weight: 800; }
.single-product table.variations select { width: 100%; min-height: 46px; border: 1px solid var(--dp-border); padding: .5rem .75rem; }
.single-product .woocommerce-tabs,
.single-product .related,
.single-product .upsells { grid-column: 1 / -1; }
.single-product .woocommerce-tabs { margin-top: 1.5rem; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: .4rem; flex-wrap: wrap; padding: 0 !important; margin: 0 0 1.5rem !important; border-bottom: 1px solid var(--dp-border); }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
  border: 0 !important;
  background: transparent !important;
  border-radius: .6rem .6rem 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: .75rem 1rem !important; color: var(--dp-muted) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--dp-blue-dark) !important; border-bottom: 3px solid var(--dp-yellow); }

.dp-product-gallery {
  position: relative;
  min-width: 0;
}
.dp-single-product-image,
.dp-gallery-main-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
  border-radius: var(--dp-radius) !important;
  background: var(--dp-surface) !important;
  overflow: hidden;
}
.dp-single-product-image img,
.dp-gallery-main-image img {
  max-width: min(90%, 620px);
  max-height: 560px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.dp-zoom-hint {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--dp-blue-dark);
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.dp-gallery-layout {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
}
.dp-product-gallery-thumbs { width: 82px; height: 460px; }
.dp-product-gallery-thumbs .swiper-slide { height: auto; opacity: .62; cursor: pointer; }
.dp-product-gallery-thumbs .swiper-slide-thumb-active { opacity: 1; }
.dp-gallery-thumb {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--dp-border) !important;
  border-radius: .7rem !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff !important;
}
.dp-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.dp-product-gallery-thumbs .swiper-slide-thumb-active .dp-gallery-thumb { border-color: var(--dp-blue) !important; }
.dp-product-gallery-main { width: 100%; min-width: 0; }
.dp-swiper-nav {
  position: absolute;
  z-index: 4;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--dp-blue-dark);
  box-shadow: 0 4px 18px rgba(0,0,0,.1);
}
.dp-swiper-prev { left: .8rem; }
.dp-swiper-next { right: .8rem; }
.dp-image-modal-img { max-height: 80vh; object-fit: contain; }

.dp-related-products { margin-top: 1.5rem; }
.dp-related-products > .d-flex > h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.dp-related-products .swiper-slide { height: auto; }
.dp-related-products .dp-product-card { height: 100%; }

/* Cart modal */
#dpCartModal .modal-header { background: var(--dp-blue); color: #fff; border: 0; }
#dpCartModal .modal-header .btn-close { filter: invert(1) grayscale(1) brightness(2); }
#dpCartModal .modal-title .bi { color: var(--dp-yellow); }
.dp-cart-modal-image {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .8rem;
  background: var(--dp-surface);
  padding: .6rem;
}
.dp-cart-modal-image img { width: 100%; height: 100%; object-fit: contain; }
.dp-cart-modal-kicker { color: #2b7a52; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.dp-cart-modal-price { color: var(--dp-blue-dark); font-family: "Space Grotesk", sans-serif; font-weight: 700; }

/* Woo notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border: 1px solid var(--dp-border) !important;
  border-top: 0 !important;
  border-radius: .8rem;
  background: #fff !important;
  box-shadow: 0 6px 20px rgba(32,52,95,.06);
}
.woocommerce-message { border-left: 4px solid #2b7a52 !important; }
.woocommerce-info { border-left: 4px solid var(--dp-blue) !important; }
.woocommerce-error { border-left: 4px solid #b73838 !important; }
.woocommerce-message::before { color: #2b7a52 !important; }
.woocommerce-info::before { color: var(--dp-blue) !important; }

/* Generic content */
.dp-content-card,
.dp-page-content { max-width: 960px; }
.dp-content-card a { text-decoration-thickness: 1px; text-underline-offset: .15em; }

/* Footer */
.dp-site-footer { background: var(--dp-blue-dark); color: rgba(255,255,255,.76); }
.dp-site-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.dp-site-footer a:hover { color: var(--dp-yellow); }
.dp-footer-logo { width: 220px; max-height: 66px; object-fit: contain; object-position: left center; }
.dp-footer-menu li + li { margin-top: .55rem; }
.dp-footer-bottom { color: rgba(255,255,255,.6); }

/* Responsive */
@media (max-width: 1199.98px) {
  .dp-brand-wrap .custom-logo,
  .dp-brand-logo { max-width: 220px; }
}
@media (max-width: 991.98px) {
  .dp-main-header .container { padding-top: .75rem !important; padding-bottom: .75rem !important; }
  .dp-brand-wrap .custom-logo,
  .dp-brand-logo { max-height: 52px; max-width: 190px; }
  .dp-shop-sidebar { --bs-offcanvas-width: min(90vw, 360px); padding: 0; }
  .dp-shop-sidebar .offcanvas-body { padding: 1rem; }
  .dp-shop-sidebar-inner { border: 0; padding: 0; }
  .single-product div.product { grid-template-columns: 1fr; gap: 1.75rem; }
  .single-product .woocommerce-tabs,
  .single-product .related,
  .single-product .upsells { grid-column: auto; }
  .dp-gallery-layout { grid-template-columns: 1fr; }
  .dp-product-gallery-main { grid-row: 1; }
  .dp-product-gallery-thumbs { grid-row: 2; width: 100%; height: auto; }
  .dp-single-product-image,
  .dp-gallery-main-image { min-height: 380px; }
}
@media (max-width: 575.98px) {
  .dp-brand-wrap .custom-logo,
  .dp-brand-logo { max-width: 160px; }
  .dp-header-action { gap: .25rem; }
  .dp-product-card .card-body { padding: .85rem !important; }
  .dp-product-card .woocommerce-loop-product__title { font-size: .86rem !important; }
  .dp-product-category { font-size: .65rem; }
  .dp-product-price { font-size: .98rem; }
  .dp-btn-cart,
  .woocommerce ul.products li.product .button { min-height: 38px; font-size: .76rem !important; padding: .5rem .45rem !important; }
  .single-product div.product .product_title { font-size: 1.8rem; }
  .dp-single-product-image,
  .dp-gallery-main-image { min-height: 300px; }
  .single-product form.cart { flex-wrap: wrap; }
  .single-product form.cart .single_add_to_cart_button { flex: 1 1 auto; }
}

.dp-woocommerce-main > .container > .woocommerce-breadcrumb { margin-top: 0; }

.dp-product-actions .button { width: 100%; }

/* --------------------------------------------------------------------------
   v1.1.0 — Price clarity HT / TTC
   -------------------------------------------------------------------------- */
.dp-price-pair {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .12rem;
  line-height: 1.25;
}
.dp-price-prefix {
  margin-bottom: .08rem;
  color: var(--dp-muted);
  font-family: "Manrope", sans-serif;
  font-size: .72rem;
  font-weight: 700;
}
.dp-price-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .35rem;
}
.dp-price-line--ht {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
}
.dp-price-line--ttc {
  color: var(--dp-muted);
  font-size: .78em;
  font-weight: 650;
}
.dp-price-tax-label {
  font-family: "Manrope", sans-serif;
  font-size: .63em;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.dp-price-pair del {
  color: #929aaa;
  font-size: .82em;
  font-weight: 600;
  text-decoration-thickness: 1px;
}
.dp-price-pair ins {
  color: inherit;
  text-decoration: none;
}
.dp-price-unavailable {
  color: var(--dp-muted);
  font-size: .88rem;
  font-weight: 700;
}

.dp-product-price .dp-price-pair--loop { font-size: 1.08rem; }
.dp-product-price .dp-price-pair--loop .dp-price-line--ttc { font-size: .76rem; }

.dp-single-product-price {
  margin: .35rem 0 0;
}
.dp-single-product-price .dp-price-pair--single,
.dp-single-product-price .dp-price-pair--variation {
  font-size: 1.72rem;
  gap: .2rem;
}
.dp-single-product-price .dp-price-line--ttc {
  font-size: .95rem;
}
.dp-price-note {
  max-width: 560px;
  margin-top: .35rem;
  color: var(--dp-muted);
  font-size: .76rem;
  line-height: 1.45;
}
.single-product .woocommerce-variation-price { display: none !important; }

.dp-price-pair--cart-unit,
.dp-price-pair--cart-subtotal,
.dp-price-pair--checkout-line,
.dp-price-pair--modal {
  font-size: .95rem;
}
.dp-price-pair--cart-unit .dp-price-line--ttc,
.dp-price-pair--cart-subtotal .dp-price-line--ttc,
.dp-price-pair--checkout-line .dp-price-line--ttc,
.dp-price-pair--modal .dp-price-line--ttc {
  font-size: .76rem;
}
.dp-cart-modal-total {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.08rem;
}

/* Shipping prices explicitly HT/TTC. */
.dp-shipping-price {
  display: inline-flex;
  flex-direction: column;
  margin-left: .35rem;
  vertical-align: middle;
  color: var(--dp-blue-dark);
}
.dp-shipping-price small {
  color: var(--dp-muted);
  font-size: .72rem;
}
.dp-shipping-price--free {
  color: #2b7a52;
  font-weight: 800;
}

/* --------------------------------------------------------------------------
   Cart / checkout
   -------------------------------------------------------------------------- */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout form.checkout {
  font-size: .92rem;
}
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  border-collapse: separate !important;
  overflow: hidden;
  background: #fff;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  padding: .9rem 1rem !important;
  border-color: var(--dp-border) !important;
}
.woocommerce-cart table.shop_table thead th,
.woocommerce-checkout table.shop_table thead th {
  background: var(--dp-blue-soft);
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
}
.woocommerce-cart .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain;
  border-radius: .65rem;
  background: var(--dp-surface);
}
.woocommerce-cart .product-name a {
  color: var(--dp-ink);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.woocommerce-checkout .product-total {
  min-width: 135px;
}
.woocommerce-cart .quantity .qty {
  min-height: 42px;
  border: 1px solid var(--dp-border);
  padding: .45rem;
}
.woocommerce-cart .coupon {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
}
.woocommerce-cart .coupon .input-text {
  min-width: 190px;
  min-height: 42px;
  border: 1px solid var(--dp-border) !important;
  padding: .55rem .75rem !important;
}
.woocommerce-cart .actions .button,
.woocommerce-checkout button.button {
  min-height: 42px;
  border-radius: .65rem !important;
  font-weight: 750 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  float: right;
  width: min(100%, 560px);
}
.dp-cart-totals {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  background: #fff;
  box-shadow: 0 8px 28px rgba(32,52,95,.05);
}
.dp-cart-totals > h2 {
  margin-bottom: 1rem;
  color: var(--dp-blue-dark);
  font-size: 1.35rem;
}
.dp-cart-totals table.shop_table {
  margin-bottom: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.dp-cart-totals table.shop_table th,
.dp-cart-totals table.shop_table td {
  padding: .7rem 0 !important;
  border-top: 1px solid var(--dp-border) !important;
}
.dp-cart-totals table.shop_table tr:first-child th,
.dp-cart-totals table.shop_table tr:first-child td {
  border-top: 0 !important;
}
.dp-cart-totals table.shop_table td {
  text-align: right;
}
.dp-cart-totals .woocommerce-remove-coupon {
  display: block;
  margin-top: .2rem;
  font-size: .72rem;
  font-weight: 700;
}
.dp-discount-amount { color: #2b7a52; font-weight: 750; }
.dp-total-ht th,
.dp-total-ht td {
  color: var(--dp-blue-dark);
  font-weight: 750;
}
.dp-order-total-ttc th,
.dp-order-total-ttc td {
  padding-top: .95rem !important;
  color: var(--dp-blue-dark) !important;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.18rem;
  font-weight: 800 !important;
  border-top: 2px solid var(--dp-blue) !important;
}
.dp-tax-clarity-note {
  line-height: 1.45;
}
.dp-cart-totals .wc-proceed-to-checkout {
  padding: 1rem 0 0 !important;
}
.dp-cart-totals .checkout-button {
  width: 100%;
  margin-bottom: 0 !important;
  min-height: 50px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* Checkout structure: readable B2B summary while keeping WooCommerce hooks. */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  margin-bottom: 1.5rem;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
}
.woocommerce-checkout #customer_details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.woocommerce-checkout #customer_details > div,
.woocommerce-checkout #order_review {
  padding: 1.25rem;
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  background: #fff;
}
.woocommerce-checkout #order_review_heading {
  margin-top: 1.5rem;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 44px;
  border-color: var(--dp-border) !important;
}
.dp-checkout-review-table .product-name { width: 60%; }
.dp-checkout-review-table .product-total { text-align: right; }
.dp-checkout-review-table tfoot td { text-align: right; }
.dp-checkout-review-table .dp-order-total-ttc th,
.dp-checkout-review-table .dp-order-total-ttc td {
  background: #fffaf0;
}
.woocommerce-checkout #payment {
  margin-top: 1.25rem;
  border-radius: var(--dp-radius) !important;
  background: var(--dp-surface) !important;
}

@media (max-width: 991.98px) {
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
  .woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
}

@media (max-width: 767.98px) {
  .woocommerce-cart table.shop_table_responsive tr td::before,
  .woocommerce-checkout table.shop_table_responsive tr td::before {
    color: var(--dp-muted);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
  }
  .woocommerce-cart table.shop_table_responsive tr td.product-price,
  .woocommerce-cart table.shop_table_responsive tr td.product-subtotal {
    min-height: 64px;
  }
  .woocommerce-cart table.shop_table_responsive tr td.product-price .dp-price-pair,
  .woocommerce-cart table.shop_table_responsive tr td.product-subtotal .dp-price-pair {
    align-items: flex-end;
  }
  .dp-cart-totals { padding: 1rem; }
}

@media (max-width: 575.98px) {
  .dp-product-price .dp-price-pair--loop { font-size: .95rem; }
  .dp-product-price .dp-price-pair--loop .dp-price-line--ttc { font-size: .69rem; }
  .dp-single-product-price .dp-price-pair--single,
  .dp-single-product-price .dp-price-pair--variation { font-size: 1.45rem; }
}

.woocommerce-cart .dp-page-content,
.woocommerce-checkout .dp-page-content {
  max-width: none;
}

/* --------------------------------------------------------------------------
   v1.2.0 — Cart removal feedback + checkout redesign
   -------------------------------------------------------------------------- */

/* Cart remove action: Bootstrap Icon, no WooCommerce red circle. */
.woocommerce-cart .product-remove {
  width: 58px;
  text-align: center;
}
.woocommerce-cart a.remove.dp-cart-remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.15rem !important;
  height: 2.15rem !important;
  margin-inline: auto;
  border: 1px solid rgba(45, 71, 124, .18);
  border-radius: 50%;
  background: var(--dp-blue-soft) !important;
  color: var(--dp-blue) !important;
  font-size: .92rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.woocommerce-cart a.remove.dp-cart-remove:hover,
.woocommerce-cart a.remove.dp-cart-remove:focus-visible {
  border-color: var(--dp-yellow-dark);
  background: var(--dp-yellow) !important;
  color: var(--dp-blue-dark) !important;
  transform: scale(1.04);
}
.woocommerce-cart a.remove.dp-cart-remove:focus-visible {
  outline: 3px solid rgba(45, 71, 124, .18);
  outline-offset: 2px;
}

/* Removal feedback reuses the add-to-cart modal visual language. */
.dp-cart-feedback-icon {
  display: inline-flex;
  flex: 0 0 3rem;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: .9rem;
  background: var(--dp-blue-soft);
  color: var(--dp-blue);
  font-size: 1.35rem;
}
.dp-cart-feedback--removed .dp-cart-modal-kicker {
  color: var(--dp-blue);
}
.dp-cart-feedback--removed h3,
.dp-cart-feedback--quantity h3 {
  color: var(--dp-blue-dark);
}
.dp-cart-feedback--quantity .dp-cart-modal-kicker {
  color: var(--dp-blue);
}

/* Checkout: Shopify-inspired two-column B2B flow on desktop. */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
  grid-template-areas:
    "customer order-heading"
    "customer order-review";
  column-gap: 2rem;
  row-gap: .8rem;
  align-items: start;
}
.woocommerce-checkout #customer_details {
  grid-area: customer;
  display: block;
  min-width: 0;
  margin: 0;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  margin: 0 0 1.25rem;
  padding: 1.5rem;
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(32, 52, 95, .045);
}
.woocommerce-checkout #customer_details .col-2:empty {
  display: none;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
}
.woocommerce-checkout #customer_details h3 {
  margin: 0 0 1.15rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--dp-border);
  font-size: 1.35rem;
}
.woocommerce-checkout #order_review_heading {
  grid-area: order-heading;
  margin: 0;
  padding: .1rem .1rem .25rem;
  font-size: 1.55rem;
}
.woocommerce-checkout #order_review {
  grid-area: order-review;
  position: sticky;
  top: 1.25rem;
  min-width: 0;
  margin: 0;
  padding: 1.15rem;
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  background: #fff;
  box-shadow: var(--dp-shadow);
}

/* Fields: airier while keeping WooCommerce's native field classes. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: flow-root;
}
.woocommerce-checkout .form-row {
  margin-bottom: .9rem;
}
.woocommerce-checkout .form-row label {
  margin-bottom: .38rem;
  color: var(--dp-ink);
  font-size: .86rem;
  font-weight: 650;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 48px;
  border: 1px solid var(--dp-border) !important;
  border-radius: .55rem !important;
  background: #fff !important;
  box-shadow: none !important;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
  padding: .7rem .8rem;
}
.woocommerce-checkout .form-row textarea {
  min-height: 105px;
  resize: vertical;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: rgba(45, 71, 124, .6) !important;
  box-shadow: 0 0 0 .2rem rgba(45, 71, 124, .09) !important;
}

/* Coupon intro is kept visible but visually lighter. */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin-bottom: 1.25rem;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin-bottom: 0 !important;
  padding: 1rem 1.2rem !important;
  border-left-color: var(--dp-blue) !important;
  box-shadow: 0 8px 24px rgba(32, 52, 95, .04);
}
.woocommerce-checkout form.checkout_coupon {
  margin: -0.5rem 0 1.4rem !important;
  padding: 1rem !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: .8rem !important;
  background: var(--dp-surface);
}

/* Order summary: compact, legible, professional. */
.woocommerce-checkout #order_review table.shop_table {
  margin: 0 !important;
  border: 0 !important;
  border-radius: .8rem !important;
  box-shadow: none;
}
.woocommerce-checkout #order_review table.shop_table thead th {
  padding: .7rem .8rem !important;
  background: var(--dp-blue-soft);
  font-size: .82rem;
  letter-spacing: .015em;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: .72rem .8rem !important;
}
.dp-checkout-review-table .product-name {
  width: 62%;
  line-height: 1.38;
}
.dp-checkout-review-table .product-name .product-quantity {
  display: inline-block;
  color: var(--dp-blue);
  font-size: .78rem;
  white-space: nowrap;
}
.dp-checkout-review-table .product-total {
  width: 38%;
  min-width: 125px;
  text-align: right;
}
.dp-checkout-review-table tbody .product-name {
  color: var(--dp-ink);
  font-weight: 650;
}
.dp-checkout-review-table tfoot th {
  color: var(--dp-ink);
  font-size: .88rem;
  font-weight: 650;
}
.dp-checkout-review-table tfoot td {
  color: var(--dp-blue-dark);
  font-weight: 700;
  text-align: right;
}
.dp-checkout-review-table .dp-total-ht th,
.dp-checkout-review-table .dp-total-ht td {
  padding-top: .9rem !important;
  border-top: 1px solid var(--dp-blue) !important;
}
.dp-checkout-review-table .dp-order-total-ttc th,
.dp-checkout-review-table .dp-order-total-ttc td {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
  border-top: 0 !important;
  background: #fff7df;
  color: var(--dp-blue-dark) !important;
  font-size: 1.12rem;
}
.dp-checkout-review-table .dp-order-total-ttc th {
  border-radius: .65rem 0 0 .65rem;
}
.dp-checkout-review-table .dp-order-total-ttc td {
  border-radius: 0 .65rem .65rem 0;
  font-size: 1.28rem;
}
.dp-checkout-review-table .dp-checkout-tax-note td {
  padding: .8rem .15rem .2rem !important;
  border-top: 0 !important;
  background: transparent;
  color: var(--dp-muted);
  text-align: left;
  font-size: .73rem;
  font-weight: 500;
  line-height: 1.45;
}

/* Payment section visually belongs to the order card. */
.woocommerce-checkout #payment {
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid var(--dp-border);
  border-radius: .85rem !important;
  background: var(--dp-surface) !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  padding: 1rem !important;
  border-bottom-color: var(--dp-border) !important;
}
.woocommerce-checkout #payment .place-order {
  margin: 0 !important;
  padding: 1rem !important;
}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  color: var(--dp-muted);
  font-size: .76rem;
  line-height: 1.5;
}
.woocommerce-checkout #place_order {
  float: none !important;
  width: 100%;
  min-height: 52px;
  margin-top: .8rem !important;
  border: 0 !important;
  border-radius: .7rem !important;
  background: var(--dp-yellow) !important;
  color: var(--dp-blue-dark) !important;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus-visible {
  background: var(--dp-yellow-dark) !important;
  color: var(--dp-blue-dark) !important;
}

@media (max-width: 1199.98px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1fr) minmax(350px, .82fr);
    column-gap: 1.35rem;
  }
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout #order_review {
    padding: 1.1rem;
  }
}

@media (max-width: 991.98px) {
  .woocommerce-checkout form.checkout {
    display: block;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading {
    width: 100%;
  }
  .woocommerce-checkout #order_review_heading {
    margin: .4rem 0 .75rem;
  }
  .woocommerce-checkout #order_review {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .woocommerce-cart .product-remove {
    width: auto;
  }
  .woocommerce-cart table.shop_table_responsive tr td.product-remove {
    padding-top: .65rem !important;
    padding-bottom: .2rem !important;
    text-align: right !important;
  }
  .woocommerce-cart table.shop_table_responsive tr td.product-remove::before {
    display: none;
  }
  .woocommerce-cart a.remove.dp-cart-remove {
    margin-right: 0;
    margin-left: auto;
  }
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout #order_review {
    padding: 1rem;
  }
  .dp-checkout-review-table .product-name {
    width: 58%;
  }
  .dp-checkout-review-table .product-total {
    width: 42%;
    min-width: 110px;
  }
}

@media (max-width: 575.98px) {
  .woocommerce-checkout #customer_details h3,
  .woocommerce-checkout #order_review_heading {
    font-size: 1.25rem;
  }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    float: none !important;
    width: 100% !important;
  }
  .dp-checkout-review-table .product-name,
  .dp-checkout-review-table .product-total {
    width: auto;
  }
  .dp-checkout-review-table .product-total {
    min-width: 100px;
  }
}

/* Make WooCommerce notices independent from the legacy Woo icon font. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  top: .95rem !important;
  left: 1rem !important;
  border-radius: 50%;
  font-family: "Manrope", sans-serif !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.woocommerce-info::before {
  content: "i" !important;
  border: 1px solid var(--dp-blue);
  color: var(--dp-blue) !important;
}
.woocommerce-message::before {
  content: "✓" !important;
  background: #2b7a52;
  color: #fff !important;
}
.woocommerce-error::before {
  content: "!" !important;
  background: #b73838;
  color: #fff !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding-left: 3.2rem !important;
}

/* --------------------------------------------------------------------------
   My Account / B2B client area — v1.6.0
   -------------------------------------------------------------------------- */
.woocommerce-account .site-main,
.woocommerce-account main {
  overflow: visible;
}

.dp-account-shell {
  margin: 1.5rem 0 3.5rem;
}

.dp-account-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.dp-account-navigation {
  position: sticky;
  top: 1.25rem;
  float: none !important;
  width: 100% !important;
  padding: .8rem;
  border: 1px solid var(--dp-border, #dbe2ec);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 34px rgba(24, 48, 91, .07);
}

.admin-bar .dp-account-navigation {
  top: 3.25rem;
}

.dp-account-profile {
  display: flex;
  gap: .8rem;
  align-items: center;
  padding: .7rem .7rem 1rem;
  margin-bottom: .5rem;
  border-bottom: 1px solid #e7ebf2;
}

.dp-account-profile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: .8rem;
  background: rgba(36, 70, 132, .1);
  color: var(--dp-blue);
  font-size: 1.15rem;
}

.dp-account-profile small,
.dp-account-profile strong {
  display: block;
}

.dp-account-profile small {
  margin-bottom: .12rem;
  color: #7a8596;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
}

.dp-account-profile strong {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  line-height: 1.2;
}

.dp-account-menu li {
  margin: .15rem 0;
}

.dp-account-menu a {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 44px;
  padding: .65rem .7rem;
  border-radius: .7rem;
  color: #354157;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 650;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.dp-account-menu a > .bi:first-child {
  width: 1.2rem;
  text-align: center;
  color: #78869d;
}

.dp-account-menu-arrow {
  margin-left: auto;
  font-size: .72rem;
  opacity: .55;
}

.dp-account-menu a:hover,
.dp-account-menu a:focus-visible {
  background: #f3f6fb;
  color: var(--dp-blue-dark);
}

.dp-account-menu .is-active a,
.dp-account-menu a[aria-current="page"] {
  background: var(--dp-blue);
  color: #fff;
}

.dp-account-menu .is-active a > .bi,
.dp-account-menu a[aria-current="page"] > .bi {
  color: var(--dp-yellow);
}

.dp-account-menu .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: .7rem;
  padding-top: .7rem;
  border-top: 1px solid #e7ebf2;
}

.dp-account-nav-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem .9rem;
  border: 0;
  border-radius: .75rem;
  background: var(--dp-blue);
  color: #fff;
  font-weight: 700;
}

.dp-account-nav-toggle .bi-person-circle {
  margin-right: .4rem;
  color: var(--dp-yellow);
}

.dp-account-content,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  min-width: 0;
}

.dp-account-kicker {
  display: block;
  margin-bottom: .32rem;
  color: var(--dp-blue);
  font-size: .72rem;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .085em;
}

.dp-account-heading,
.dp-account-hero,
.dp-view-order-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.3rem;
}

.dp-account-heading h1,
.dp-account-heading h2,
.dp-account-hero h1,
.dp-view-order-header h1 {
  margin: 0 0 .35rem;
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
}

.dp-account-heading h1,
.dp-account-hero h1,
.dp-view-order-header h1 {
  font-size: clamp(1.65rem, 2vw, 2.25rem);
}

.dp-account-heading h2 {
  font-size: clamp(1.4rem, 1.8vw, 1.8rem);
}

.dp-account-heading p,
.dp-account-hero p,
.dp-view-order-header p {
  margin: 0;
  color: #6f7b8e;
  max-width: 720px;
}

.dp-account-hero {
  padding: 1.45rem 1.55rem;
  border-radius: 1rem;
  background: linear-gradient(120deg, #f7f9fd 0%, #fff 65%);
  border: 1px solid #e2e8f1;
}

.dp-account-hero-action {
  white-space: nowrap;
}

.dp-account-stats {
  margin-bottom: 1.4rem;
}

.dp-account-stat-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: .9rem;
  min-height: 102px;
  height: 100%;
  padding: 1rem;
  border-radius: .95rem;
  border: 1px solid #e0e6ef;
  background: #fff;
}

.dp-account-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  border-radius: .8rem;
  background: #f1f4fa;
  color: var(--dp-blue);
  font-size: 1.15rem;
}

.dp-account-stat-card strong,
.dp-account-stat-card span {
  display: block;
}

.dp-account-stat-card strong {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.35rem;
  line-height: 1.1;
}

.dp-account-stat-card div > span {
  margin-top: .25rem;
  color: #7a8596;
  font-size: .8rem;
}

.dp-account-stat-card--action > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--dp-yellow);
  color: var(--dp-blue-dark);
  text-decoration: none;
}

.dp-account-panel,
.dp-order-updates,
.dp-order-details,
.woocommerce-account .woocommerce-Address,
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-PaymentMethods,
.dp-company-form,
.dp-quick-search-card,
.dp-quick-list-card {
  padding: 1.25rem;
  border: 1px solid #dfe6ef;
  border-radius: 1rem;
  background: #fff;
}

.dp-account-panel-heading,
.dp-quick-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.dp-account-panel-heading h2,
.dp-quick-list-header h3,
.dp-order-updates h2,
.dp-order-details h2 {
  margin: 0;
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.3rem;
}

.dp-account-text-link,
.dp-account-back {
  color: var(--dp-blue);
  font-weight: 750;
  text-decoration: none;
}

.dp-account-text-link:hover,
.dp-account-back:hover {
  color: var(--dp-blue-dark);
}

.dp-account-order-list {
  border-top: 1px solid #edf0f5;
}

.dp-account-order-row {
  display: grid;
  grid-template-columns: minmax(105px, .8fr) minmax(120px, 1fr) minmax(150px, 1.1fr) minmax(130px, .8fr) 38px;
  gap: 1rem;
  align-items: center;
  padding: .9rem .2rem;
  border-bottom: 1px solid #edf0f5;
}

.dp-account-order-row small,
.dp-account-order-row span,
.dp-account-order-row strong,
.dp-account-order-row a {
  display: block;
}

.dp-account-order-row small {
  margin-bottom: .18rem;
  color: #8a94a5;
  font-size: .68rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.dp-account-order-number a {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  text-decoration: none;
}

.dp-account-order-total strong {
  color: var(--dp-blue-dark);
  font-size: .88rem;
}

.dp-account-order-total > span {
  color: #8590a1;
  font-size: .74rem;
}

.dp-status-badge {
  display: inline-flex !important;
  width: fit-content;
  align-items: center;
  gap: .35rem;
  padding: .35rem .58rem;
  border-radius: 999px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.dp-status-badge.is-success { background: #e8f6ef; color: #24784d; }
.dp-status-badge.is-info { background: #e9f0fb; color: #265697; }
.dp-status-badge.is-warning { background: #fff4d7; color: #8b6500; }
.dp-status-badge.is-danger { background: #fae8e8; color: #a22d2d; }
.dp-status-badge.is-muted { background: #eff1f4; color: #697384; }

.dp-orders-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.dp-order-card {
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 1rem;
  background: #fff;
}

.dp-order-card-header,
.dp-order-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
}

.dp-order-card-header {
  border-bottom: 1px solid #edf0f5;
}

.dp-order-card-header > div > span {
  display: block;
  color: #8994a5;
  font-size: .68rem;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .06em;
}

.dp-order-card-header > div > a {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  text-decoration: none;
}

.dp-order-card-body {
  padding: 1rem 1.1rem;
}

.dp-order-card-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem 1.2rem;
  margin: 0;
}

.dp-order-card-meta div {
  min-width: 0;
}

.dp-order-card-meta dt {
  margin-bottom: .18rem;
  color: #8994a5;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.dp-order-card-meta dd {
  margin: 0;
  color: #31405a;
  font-size: .86rem;
  font-weight: 650;
}

.dp-order-card-meta dd.is-total {
  color: var(--dp-blue-dark);
  font-size: 1rem;
  font-weight: 800;
}

.dp-order-card-footer {
  justify-content: flex-end;
  border-top: 1px solid #edf0f5;
  background: #fafbfd;
}

.dp-account-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
}

.dp-account-pagination > span {
  color: #778296;
  font-size: .82rem;
}

.dp-account-empty {
  padding: 2.5rem 1rem;
  text-align: center;
  border: 1px dashed #d3dae5;
  border-radius: 1rem;
  background: #fbfcfe;
}

.dp-account-empty > .bi {
  display: inline-flex;
  margin-bottom: .7rem;
  color: #a0aabd;
  font-size: 2rem;
}

.dp-account-empty h3,
.dp-account-empty p {
  margin-bottom: .5rem;
}

.dp-account-empty p {
  color: #7a8596;
}

.dp-view-order-header {
  padding-bottom: 1.2rem;
  border-bottom: 1px solid #e8ecf2;
}

.dp-account-back {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: .82rem;
}

.dp-view-order-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .2rem;
  min-width: 150px;
}

.dp-view-order-summary strong {
  margin-top: .35rem;
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.4rem;
}

.dp-view-order-summary > span:not(.dp-status-badge) {
  color: #7f8a9b;
  font-size: .8rem;
}

.dp-order-updates {
  margin: 1.2rem 0;
}

.dp-order-updates ol {
  margin-top: .9rem !important;
}

.dp-order-updates li {
  position: relative;
  display: flex;
  gap: .8rem;
  padding-bottom: .85rem;
}

.dp-order-update-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  margin-top: .36rem;
  border: 2px solid var(--dp-blue);
  border-radius: 50%;
  background: #fff;
}

.dp-order-updates time {
  display: block;
  margin-bottom: .15rem;
  color: #8792a3;
  font-size: .7rem;
}

.dp-order-updates p {
  margin: 0;
  color: #42506a;
  font-size: .86rem;
}

.dp-order-details {
  margin-top: 1.2rem;
}

.dp-order-details-table-wrap {
  border: 1px solid #e3e8f0;
  border-radius: .85rem;
}

.dp-order-details-table thead th {
  padding: .75rem;
  border: 0;
  background: #f2f5fa;
  color: var(--dp-blue-dark);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.dp-order-details-table td {
  padding: .8rem .75rem;
  border-color: #edf0f5;
  vertical-align: middle;
}

.dp-order-product {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 280px;
}

.dp-order-product-image {
  display: inline-flex;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  align-items: center;
  justify-content: center;
  padding: .2rem;
  border: 1px solid #e4e9f1;
  border-radius: .65rem;
  background: #fff;
}

.dp-order-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.dp-order-product strong,
.dp-order-product span {
  display: block;
}

.dp-order-product strong {
  color: var(--dp-blue-dark);
  font-size: .88rem;
}

.dp-order-product span,
.dp-order-product .wc-item-meta {
  color: #7d8899;
  font-size: .72rem;
}

.dp-price-pair--account .dp-price-line--ht .dp-price-amount {
  font-size: .86rem;
}

.dp-price-pair--account .dp-price-line--ttc .dp-price-amount {
  font-size: .74rem;
}

.dp-order-totals-card {
  width: min(100%, 470px);
  margin: 1rem 0 0 auto;
  overflow: hidden;
  border: 1px solid #dfe5ee;
  border-radius: .85rem;
}

.dp-order-totals-card > div:not(.dp-order-note) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem .85rem;
  border-bottom: 1px solid #edf0f5;
  font-size: .84rem;
}

.dp-order-totals-card > div:last-child {
  border-bottom: 0;
}

.dp-order-totals-card .is-subtotal {
  font-weight: 750;
}

.dp-order-totals-card .is-total {
  padding: .85rem;
  background: #fff8e7;
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
}

.dp-order-totals-card .is-total strong {
  font-size: 1.15rem;
}

.dp-order-note {
  padding: .8rem;
  color: #5e6a7c;
}

.dp-order-note > span {
  display: block;
  margin-bottom: .3rem;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.dp-order-note p {
  margin: 0;
}

.dp-order-actions {
  display: flex;
  justify-content: flex-end;
  gap: .6rem;
  margin-top: 1rem;
}

.dp-btn-primary,
.woocommerce-account .button {
  border: 1px solid var(--dp-blue) !important;
  border-radius: .65rem !important;
  background: var(--dp-blue) !important;
  color: #fff !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

.dp-btn-primary:hover,
.dp-btn-primary:focus-visible,
.woocommerce-account .button:hover,
.woocommerce-account .button:focus-visible {
  border-color: var(--dp-yellow) !important;
  background: var(--dp-yellow) !important;
  color: var(--dp-blue-dark) !important;
}

.dp-btn-outline {
  border: 1px solid #cbd5e3 !important;
  border-radius: .65rem !important;
  background: #fff !important;
  color: var(--dp-blue-dark) !important;
  font-weight: 750 !important;
}

.dp-btn-outline:hover,
.dp-btn-outline:focus-visible {
  border-color: var(--dp-blue) !important;
  background: #f3f6fb !important;
  color: var(--dp-blue) !important;
}

.dp-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #d5dce7;
  border-radius: .55rem;
  background: #fff;
  color: var(--dp-blue);
  text-decoration: none;
}

.dp-icon-button:hover,
.dp-icon-button:focus-visible {
  border-color: var(--dp-yellow);
  background: var(--dp-yellow);
  color: var(--dp-blue-dark);
}

/* Quick order */
.dp-quick-search-card {
  position: relative;
  margin-bottom: 1rem;
}

.dp-quick-search-wrap {
  position: relative;
}

.dp-quick-search-wrap > .bi-search {
  position: absolute;
  left: .9rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: #738096;
}

.dp-quick-search-wrap input {
  min-height: 50px;
  padding-left: 2.7rem;
  padding-right: 2.7rem;
}

.dp-quick-search-spinner {
  position: absolute;
  right: .9rem;
  top: calc(50% - .5rem);
  color: var(--dp-blue);
}

.dp-quick-results {
  position: absolute;
  z-index: 20;
  top: calc(100% - .55rem);
  left: 1.25rem;
  right: 1.25rem;
  overflow: hidden;
  max-height: 430px;
  overflow-y: auto;
  border: 1px solid #dce3ed;
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 16px 35px rgba(20, 42, 81, .15);
}

.dp-quick-result {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) minmax(110px, auto) auto;
  gap: .75rem;
  align-items: center;
  padding: .75rem;
  border-bottom: 1px solid #edf0f5;
}

.dp-quick-result:last-child {
  border-bottom: 0;
}

.dp-quick-result > img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  padding: .15rem;
  border: 1px solid #e4e9f1;
  border-radius: .55rem;
}

.dp-quick-result-main strong,
.dp-quick-result-main span,
.dp-quick-result-main small,
.dp-quick-result-price strong,
.dp-quick-result-price span {
  display: block;
}

.dp-quick-result-main strong {
  color: var(--dp-blue-dark);
  font-size: .85rem;
}

.dp-quick-result-main span,
.dp-quick-result-main small {
  color: #7e8999;
  font-size: .71rem;
}

.dp-quick-result-price {
  text-align: right;
}

.dp-quick-result-price strong {
  color: var(--dp-blue-dark);
  font-size: .82rem;
}

.dp-quick-result-price span {
  color: #8390a0;
  font-size: .7rem;
}

.dp-quick-empty {
  padding: 1rem;
  color: #758197;
  text-align: center;
}

.dp-quick-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 .5rem;
  border-radius: 999px;
  background: var(--dp-yellow);
  color: var(--dp-blue-dark);
  font-weight: 800;
  font-size: .8rem;
}

.dp-quick-table th {
  color: #748095;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-color: #e8ecf2;
}

.dp-quick-table td {
  border-color: #edf0f5;
}

.dp-quick-line-product {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-width: 260px;
}

.dp-quick-line-product img {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  object-fit: contain;
  border: 1px solid #e4e9f1;
  border-radius: .5rem;
}

.dp-quick-line-product strong,
.dp-quick-line-product span,
.dp-quick-line-price strong,
.dp-quick-line-price span {
  display: block;
}

.dp-quick-line-product strong {
  color: var(--dp-blue-dark);
  font-size: .82rem;
}

.dp-quick-line-product span,
.dp-quick-line-price span {
  color: #8490a0;
  font-size: .7rem;
}

.dp-quick-line-price strong {
  color: var(--dp-blue-dark);
  font-size: .82rem;
}

.dp-quick-qty-col {
  width: 90px;
}

.dp-quick-action-col {
  width: 48px;
}

.dp-quick-table input[type="number"] {
  width: 70px;
}

.dp-quick-list-footer,
.dp-company-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  margin-top: .5rem;
  border-top: 1px solid #edf0f5;
}

.dp-quick-feedback {
  color: #6f7c90;
  font-size: .8rem;
}
.dp-quick-feedback.is-success { color: #24784d; }
.dp-quick-feedback.is-warning { color: #8b6500; }
.dp-quick-feedback.is-error { color: #a22d2d; }

/* Company and native Woo account forms */
.dp-company-form .form-label,
.woocommerce-account form .form-row label {
  color: var(--dp-blue-dark);
  font-size: .8rem;
  font-weight: 750;
}

.dp-company-form .form-control,
.woocommerce-account form input.input-text,
.woocommerce-account form select,
.woocommerce-account form textarea {
  min-height: 46px;
  border: 1px solid #d7dfe9;
  border-radius: .6rem;
  box-shadow: none;
}

.dp-company-form .form-control:focus,
.woocommerce-account form input.input-text:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {
  border-color: var(--dp-blue);
  box-shadow: 0 0 0 .2rem rgba(36, 70, 132, .1);
}

.dp-account-helper {
  color: #7b8798;
  font-size: .76rem;
}

.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.woocommerce-account .woocommerce-Address {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-EditAccountForm legend,
.woocommerce-account .woocommerce-address-fields h2 {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
}

.woocommerce-account address {
  color: #566277;
  line-height: 1.7;
}

.woocommerce-account .woocommerce-customer-details {
  margin-top: 1.2rem;
}

.woocommerce-account .woocommerce-customer-details h2 {
  color: var(--dp-blue-dark);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.25rem;
}

.woocommerce-account .woocommerce-customer-details address {
  border: 1px solid #dfe6ef;
  border-radius: .9rem;
  padding: 1rem;
  background: #fff;
}

@media (max-width: 1199.98px) {
  .dp-account-layout {
    grid-template-columns: 235px minmax(0, 1fr);
    gap: 1rem;
  }
  .dp-orders-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .dp-account-layout {
    display: block;
  }
  .dp-account-navigation {
    position: static;
    margin-bottom: 1rem;
    padding: .6rem;
  }
  .dp-account-navigation .collapse {
    padding-top: .5rem;
  }
  .dp-account-order-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  }
  .dp-account-order-total {
    grid-column: 1 / 2;
  }
  .dp-account-order-status {
    grid-column: 2 / 3;
  }
  .dp-account-order-row > .dp-icon-button {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }
}

@media (max-width: 767.98px) {
  .dp-account-shell {
    margin-top: 1rem;
  }
  .dp-account-heading,
  .dp-account-hero,
  .dp-view-order-header {
    display: block;
  }
  .dp-account-hero-action {
    margin-top: 1rem;
  }
  .dp-view-order-summary {
    align-items: flex-start;
    margin-top: .9rem;
  }
  .dp-account-order-row {
    grid-template-columns: 1fr auto;
    gap: .65rem;
  }
  .dp-account-order-number,
  .dp-account-order-date,
  .dp-account-order-total,
  .dp-account-order-status {
    grid-column: 1 / 2;
  }
  .dp-account-order-row > .dp-icon-button {
    grid-column: 2 / 3;
    grid-row: 1 / 5;
  }
  .dp-order-card-meta {
    grid-template-columns: 1fr 1fr;
  }
  .dp-account-pagination {
    flex-wrap: wrap;
  }
  .dp-account-pagination > span {
    order: -1;
    width: 100%;
    text-align: center;
  }
  .dp-quick-result {
    grid-template-columns: 46px minmax(0, 1fr) auto;
  }
  .dp-quick-result > img {
    width: 46px;
    height: 46px;
  }
  .dp-quick-result-price {
    grid-column: 2 / 3;
    text-align: left;
  }
  .dp-quick-result-action {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }
  .dp-quick-list-footer,
  .dp-company-form-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .dp-quick-list-footer .btn,
  .dp-company-form-footer .btn {
    width: 100%;
  }
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .dp-account-panel,
  .dp-order-updates,
  .dp-order-details,
  .dp-company-form,
  .dp-quick-search-card,
  .dp-quick-list-card {
    padding: 1rem;
  }
  .dp-order-card-header,
  .dp-order-card-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .dp-order-card-footer .btn {
    width: 100%;
  }
  .dp-order-card-meta {
    grid-template-columns: 1fr;
  }
  .dp-quick-results {
    left: .7rem;
    right: .7rem;
  }
  .dp-quick-result {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .dp-quick-result-action {
    grid-column: 1 / 3;
    grid-row: auto;
  }
  .dp-quick-result-action .btn {
    width: 100%;
  }
  .dp-quick-result-price {
    grid-column: 2 / 3;
  }
  .dp-order-totals-card {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   v1.6.1 — Mobile width hardening
   Fixes intrinsic-width overflow on WooCommerce product pages.
   -------------------------------------------------------------------------- */

/* Last-resort viewport guard. The layout fixes below remain the primary fix. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.dp-woocommerce-main,
.dp-woocommerce-main > .container,
.woocommerce,
.single-product div.product,
.single-product div.product > *,
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary,
.dp-product-gallery,
.dp-product-gallery-main,
.dp-product-gallery-thumbs,
.dp-single-product-image,
.dp-gallery-main-image {
  min-width: 0;
  max-width: 100%;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary,
.dp-product-gallery,
.dp-single-product-image,
.dp-gallery-main-image {
  width: 100% !important;
}

.single-product div.product .product_title,
.single-product .woocommerce-product-details__short-description,
.single-product .product_meta,
.single-product .product_meta a,
.single-product .stock,
.dp-price-note,
.dp-price-line,
.dp-price-amount {
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.single-product form.cart,
.single-product form.cart .single_variation_wrap,
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart .quantity,
.single-product form.cart .single_add_to_cart_button,
.single-product table.variations,
.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations th,
.single-product table.variations td,
.single-product table.variations select {
  min-width: 0;
  max-width: 100%;
}

.single-product form.cart {
  width: 100%;
}

.single-product table.variations {
  width: 100% !important;
  table-layout: fixed;
}

.single-product form.cart .single_add_to_cart_button {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  .dp-woocommerce-main > .container {
    --bs-gutter-x: 1.5rem;
  }

  .single-product div.product {
    width: 100%;
    max-width: 100%;
    gap: 1.25rem;
  }

  .single-product div.product .product_title {
    font-size: clamp(1.35rem, 7vw, 1.65rem);
    line-height: 1.13;
    margin-bottom: .7rem;
  }

  .dp-single-product-image,
  .dp-gallery-main-image {
    width: 100% !important;
    min-height: 260px;
  }

  .dp-single-product-image img,
  .dp-gallery-main-image img {
    width: auto;
    max-width: 92%;
    max-height: 340px;
  }

  .dp-single-product-price .dp-price-pair--single,
  .dp-single-product-price .dp-price-pair--variation {
    font-size: 1.5rem;
  }

  .dp-price-note {
    width: 100%;
    font-size: .74rem;
  }

  /* Simple products: fixed quantity column + fluid CTA column. */
  .single-product form.cart:not(.variations_form):not(.grouped_form) {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: stretch;
    gap: .65rem;
  }

  .single-product form.cart:not(.variations_form):not(.grouped_form) .quantity,
  .single-product form.cart:not(.variations_form):not(.grouped_form) .qty {
    width: 76px;
    max-width: 76px;
  }

  .single-product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button {
    width: 100%;
    min-width: 0;
    padding-inline: .85rem !important;
  }

  /* Variable products: keep the variations table full width, then align qty/CTA. */
  .single-product form.variations_form {
    display: block;
  }

  .single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: stretch;
    gap: .65rem;
    width: 100%;
  }

  .single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity,
  .single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button .qty {
    width: 76px;
    max-width: 76px;
  }

  .single-product form.variations_form .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
    width: 100%;
    min-width: 0;
    padding-inline: .85rem !important;
  }

  /* Grouped products can legitimately need horizontal table space; contain it locally. */
  .single-product form.grouped_form {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* --------------------------------------------------------------------------
   v1.7.0 — Front page, editorial content, footer and lightweight motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

.dp-section-kicker {
  display: inline-block;
  color: var(--dp-blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dp-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
}

.dp-section-heading h2 {
  color: var(--dp-blue-dark);
  font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.dp-section-link {
  flex: 0 0 auto;
  color: var(--dp-blue);
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
}

.dp-section-link:hover { color: var(--dp-blue-dark); }

/* Home hero */
.dp-front-page { overflow: hidden; }
.dp-home-hero {
  background:
    radial-gradient(circle at 88% 10%, rgba(251, 187, 22, .17), transparent 27%),
    linear-gradient(180deg, #f9fbfe 0%, #fff 100%);
}

.dp-home-hero-panel {
  position: relative;
  padding: clamp(1.45rem, 4vw, 3.3rem);
  border: 1px solid #dfe6f0;
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 18px 50px rgba(32, 52, 95, .07);
}

.dp-home-hero-title {
  max-width: 760px;
  color: var(--dp-blue-dark);
  font-size: clamp(2.2rem, 5vw, 4.45rem);
  line-height: .98;
}

.dp-home-hero-lead {
  max-width: 720px;
  color: #596579;
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  line-height: 1.65;
}

.dp-home-product-search .input-group {
  overflow: hidden;
  border: 1px solid #d7dfea;
  border-radius: .85rem;
  box-shadow: 0 8px 24px rgba(32, 52, 95, .06);
}

.dp-home-product-search .input-group-text,
.dp-home-product-search .form-control,
.dp-home-product-search .btn {
  min-height: 58px;
  border: 0;
  border-radius: 0;
}

.dp-home-product-search .input-group-text {
  padding-left: 1.15rem;
  background: #fff;
  color: var(--dp-blue);
}

.dp-home-product-search .form-control {
  padding-left: .25rem;
  box-shadow: none !important;
}

.dp-home-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1.25rem;
  color: #778297;
  font-size: .78rem;
  font-weight: 650;
}

.dp-home-hero-aside {
  padding: 1.25rem;
  border-radius: 1.05rem;
  background: var(--dp-blue-dark);
  color: #fff;
}

.dp-home-hero-aside-label {
  display: inline-flex;
  margin-bottom: 1rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: rgba(251, 187, 22, .14);
  color: var(--dp-yellow);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.dp-home-hero-feature {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  padding: .9rem 0;
  border-bottom: 1px solid rgba(255,255,255,.11);
}

.dp-home-hero-feature > .bi {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: .75rem;
  background: rgba(255,255,255,.08);
  color: var(--dp-yellow);
  font-size: 1.2rem;
}

.dp-home-hero-feature strong,
.dp-home-hero-feature span { display: block; }
.dp-home-hero-feature strong { font-family: "Space Grotesk", sans-serif; font-size: .98rem; }
.dp-home-hero-feature span { margin-top: .1rem; color: rgba(255,255,255,.66); font-size: .75rem; }

/* Home promo / products */
.dp-home-promotions {
  background: linear-gradient(180deg, #fff9e7 0%, #fff 100%);
}

.dp-home-promo-card {
  position: relative;
  padding: .35rem;
  border: 1px solid rgba(226, 165, 0, .25);
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 10px 28px rgba(94, 71, 9, .05);
}

.dp-home-promo-card .dp-product-card { border-radius: .9rem; overflow: hidden; }
.dp-home-promo-badge {
  position: absolute;
  z-index: 4;
  left: 1rem;
  top: 1rem;
  display: inline-flex;
  align-items: center;
  padding: .35rem .58rem;
  border-radius: 999px;
  background: var(--dp-yellow);
  color: var(--dp-blue-dark);
  font-size: .68rem;
  font-weight: 850;
}

.dp-home-promo-card .dp-sale-badge { display: none; }
.dp-home-featured { background: var(--dp-surface); }

/* Categories */
.dp-home-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}

.dp-home-category-card {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: .1rem .8rem;
  min-width: 0;
  padding: .9rem;
  border: 1px solid var(--dp-border);
  border-radius: .9rem;
  background: #fff;
  color: var(--dp-blue-dark);
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.dp-home-category-card:hover {
  border-color: rgba(45, 71, 124, .35);
  color: var(--dp-blue-dark);
  box-shadow: 0 10px 26px rgba(32, 52, 95, .07);
  transform: translateY(-2px);
}

.dp-home-category-media {
  grid-row: 1 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border-radius: .75rem;
  background: var(--dp-blue-soft);
  color: var(--dp-blue);
  font-size: 1.3rem;
}

.dp-home-category-image { width: 100%; height: 100%; object-fit: contain; }
.dp-home-category-name { min-width: 0; font-family: "Space Grotesk", sans-serif; font-size: .9rem; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.dp-home-category-count { color: #8792a2; font-size: .67rem; }
.dp-home-category-arrow { grid-column: 3; grid-row: 1 / 3; color: var(--dp-blue); font-size: 1.25rem; }

/* Reassurance */
.dp-home-reassurance { background: var(--dp-blue-dark); color: #fff; }
.dp-home-reassurance-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  height: 100%;
}
.dp-home-reassurance-item > .bi {
  flex: 0 0 auto;
  color: var(--dp-yellow);
  font-size: 1.45rem;
}
.dp-home-reassurance-item strong,
.dp-home-reassurance-item small { display: block; }
.dp-home-reassurance-item strong { font-family: "Space Grotesk", sans-serif; font-size: .87rem; }
.dp-home-reassurance-item small { margin-top: .08rem; color: rgba(255,255,255,.62); font-size: .67rem; }

/* News cards / index */
.dp-home-news,
.dp-related-news { background: #fff; }

.dp-news-card {
  overflow: hidden;
  border: 1px solid var(--dp-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(32, 52, 95, .045);
}

.dp-news-card-media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--dp-blue-soft);
}

.dp-news-card-image { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.dp-news-card:hover .dp-news-card-image { transform: scale(1.025); }
.dp-news-card-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--dp-blue); font-size: 2.2rem; }
.dp-news-card-body { padding: 1.1rem; }
.dp-news-card-date { margin-bottom: .45rem; color: #8a95a5; font-size: .69rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.dp-news-card-title { margin-bottom: .6rem; font-size: 1.05rem; line-height: 1.25; }
.dp-news-card-title a { color: var(--dp-blue-dark); text-decoration: none; }
.dp-news-card-title a:hover { color: var(--dp-blue); }
.dp-news-card-excerpt { color: #667286; font-size: .8rem; line-height: 1.6; }
.dp-news-card-link { color: var(--dp-blue); font-size: .76rem; font-weight: 800; text-decoration: none; }
.dp-news-index-header { max-width: 760px; }
.dp-news-index-header h1 { color: var(--dp-blue-dark); font-size: clamp(2rem, 4vw, 3.2rem); }
.dp-news-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.dp-news-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: .4rem .65rem; border: 1px solid var(--dp-border); border-radius: .55rem; text-decoration: none; }
.dp-news-pagination .page-numbers.current { background: var(--dp-blue); border-color: var(--dp-blue); color: #fff; }

/* Single post */
.dp-single-breadcrumb,
.dp-single-breadcrumb a { color: #7b8798; font-size: .75rem; }
.dp-single-post-header { max-width: 900px; padding-top: 1rem; text-align: center; }
.dp-single-post-header h1 { color: var(--dp-blue-dark); font-size: clamp(2rem, 5vw, 4.25rem); line-height: 1.03; }
.dp-single-post-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem 1.2rem; color: #7b8798; font-size: .75rem; }
.dp-single-post-lead { max-width: 780px; margin: 1.3rem auto 0; color: #596579; font-size: clamp(1rem, 1.8vw, 1.2rem); line-height: 1.65; }
.dp-single-post-featured { max-width: 1180px; margin: 2.25rem auto; overflow: hidden; border-radius: 1.15rem; background: var(--dp-surface); }
.dp-single-post-featured img { display: block; width: 100%; max-height: 680px; object-fit: cover; }
.dp-single-post-body { max-width: 860px; color: #3f4a5c; font-size: 1rem; line-height: 1.85; }
.dp-single-post-body > * + * { margin-top: 1.35rem; }
.dp-single-post-body h2,
.dp-single-post-body h3,
.dp-single-post-body h4 { margin-top: 2.2rem; color: var(--dp-blue-dark); }
.dp-single-post-body img { border-radius: .8rem; }
.dp-single-post-body blockquote { padding: 1rem 1.2rem; border-left: 4px solid var(--dp-yellow); border-radius: 0 .7rem .7rem 0; background: #fff9e8; color: var(--dp-blue-dark); }
.dp-related-news { border-top: 1px solid var(--dp-border); }

/* Related products: enforce a contained visual block even if Woo layout changes. */
.dp-related-products { width: 100%; }
.dp-related-products-container {
  width: 100%;
  max-width: 1140px;
  margin-inline: auto;
  padding: 1.35rem;
  border: 1px solid var(--dp-border);
  border-radius: 1rem;
  background: #fff;
}
.dp-related-products-container > .d-flex > h2 { font-size: clamp(1.4rem, 2.5vw, 1.9rem); }

/* Footer */
.dp-footer-logo {
  width: 230px;
  max-height: 76px;
  padding: .35rem .5rem;
  border-radius: .55rem;
  background: #fff;
  object-fit: contain;
  object-position: left center;
}

.dp-footer-bottom-layout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem 1.4rem;
}

.dp-footer-legal-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem 1rem;
}

.dp-footer-legal-menu a { color: rgba(255,255,255,.62); }
.dp-footer-credit { white-space: nowrap; }
.dp-footer-credit a { color: var(--dp-yellow); font-weight: 750; }

@media (max-width: 991.98px) {
  .dp-home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dp-home-hero-title { max-width: 660px; }
  .dp-footer-bottom-layout { grid-template-columns: 1fr; text-align: center; }
  .dp-footer-credit { white-space: normal; }
}

@media (max-width: 767.98px) {
  .dp-section-heading { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .dp-home-product-search .input-group { display: grid; grid-template-columns: 48px minmax(0, 1fr); }
  .dp-home-product-search .input-group-text { grid-column: 1; }
  .dp-home-product-search .form-control { grid-column: 2; }
  .dp-home-product-search .btn { grid-column: 1 / 3; width: 100%; }
  .dp-home-reassurance-item { align-items: flex-start; }
  .dp-related-products-container { padding: 1rem; }
}

@media (max-width: 575.98px) {
  .dp-home-hero-panel { padding: 1.15rem; border-radius: 1rem; }
  .dp-home-hero-title { font-size: clamp(2rem, 12vw, 3rem); }
  .dp-home-hero-meta { display: grid; gap: .5rem; }
  .dp-home-category-grid { grid-template-columns: 1fr; }
  .dp-home-category-card { grid-template-columns: 52px minmax(0, 1fr) auto; }
  .dp-home-category-media { width: 52px; height: 52px; }
  .dp-home-reassurance-item strong { font-size: .8rem; }
  .dp-news-card-body { padding: .95rem; }
  .dp-single-post-header { text-align: left; }
  .dp-single-post-meta { justify-content: flex-start; }
  .dp-single-post-lead { margin-left: 0; }
  .dp-footer-legal-menu { flex-direction: column; gap: .45rem; }
}
