/* Bevande a Domicilio brand layer - migrated from the historic PrestaShop 1.6 look. */
:root {
  --dmb-raspberry: #d71d4c;
  --dmb-raspberry-dark: #b8173f;
  --dmb-teal: #0fb3b2;
  --dmb-graphite: #414143;
  --dmb-soft: #f7f4f2;
  --dmb-border: #e6dedb;

  --bs-primary: var(--dmb-raspberry);
  --bs-link-color: var(--dmb-graphite);
  --bs-link-hover-color: var(--dmb-raspberry);
  --bs-body-color: var(--dmb-graphite);
}

body {
  background:
    radial-gradient(circle at 8% 0, rgba(215, 29, 76, .08), transparent 26rem),
    radial-gradient(circle at 92% 8%, rgba(15, 179, 178, .08), transparent 24rem),
    #fff;
  color: var(--dmb-graphite);
}

#header.header {
  background: #fff;
  box-shadow: 0 12px 28px rgba(65, 65, 67, .08);
}

.header-top {
  background: var(--dmb-graphite);
  color: #fff;
  font-size: .92rem;
}

.header-top a,
.header-top .material-icons,
.header-top .material-icons-outlined {
  color: #fff !important;
}

.header-top a:hover {
  color: #ffd7e1 !important;
}

.header-bottom {
  border-top: 4px solid var(--dmb-raspberry);
  background: #fff;
}

.header-bottom .container,
.header-top .container {
  max-width: 1180px;
}

.header__logo img,
.header-logo img,
.logo.img-fluid {
  width: clamp(230px, 38vw, 520px);
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

.header__logo,
.header-logo {
  min-width: min(520px, 48vw);
}

.top-menu a,
.main-menu a,
.header-bottom a {
  color: var(--dmb-graphite);
  font-weight: 700;
  letter-spacing: .01em;
}

.top-menu a:hover,
.main-menu a:hover,
.header-bottom a:hover {
  color: var(--dmb-raspberry);
}

.search-widgets form input[type="text"],
.search-widgets form input[type="search"],
.search-widget form input[type="text"],
.search-widget form input[type="search"] {
  border: 2px solid var(--dmb-border);
  border-radius: 999px;
  box-shadow: none;
}

.search-widgets form button,
.search-widget form button {
  color: var(--dmb-raspberry);
}

.btn-primary,
.btn-primary:disabled,
.btn-primary.disabled,
.product-add-to-cart .btn-primary,
.add-to-cart.btn-primary {
  background: var(--dmb-raspberry);
  border-color: var(--dmb-raspberry);
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.product-add-to-cart .btn-primary:hover,
.add-to-cart.btn-primary:hover {
  background: var(--dmb-raspberry-dark);
  border-color: var(--dmb-raspberry-dark);
  color: #fff;
}

.btn-outline-primary {
  border-color: var(--dmb-raspberry);
  color: var(--dmb-raspberry);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--dmb-raspberry);
  border-color: var(--dmb-raspberry);
  color: #fff;
}

.product-miniature {
  transition: transform .18s ease, box-shadow .18s ease;
}

.product-miniature:hover {
  transform: translateY(-3px);
}

.product-miniature__thumbnail,
.product-miniature .thumbnail-container,
.card,
.page-content,
.block-category {
  border-color: var(--dmb-border) !important;
  border-radius: 14px;
}

.product-miniature__title a,
.product-title a,
.h1, .h2, .h3,
h1, h2, h3 {
  color: var(--dmb-graphite);
}

.product-price,
.current-price,
.price,
.discount-percentage,
.product-flag.discount,
.product-flag.on-sale {
  color: var(--dmb-raspberry) !important;
}

.product-flags .product-flag,
.product-flag.new {
  background: var(--dmb-teal);
  color: #fff;
}

.carousel .carousel-control-prev-icon,
.carousel .carousel-control-next-icon {
  filter: none;
}

#footer,
.footer {
  background: linear-gradient(135deg, var(--dmb-graphite), #2f2f31);
  color: #fff;
  margin-top: 3rem;
}

#footer a,
.footer a,
.footer .h3,
.footer .h4,
.footer-block__title {
  color: #fff;
}

#footer a:hover,
.footer a:hover {
  color: #ffd7e1;
}

.footer-before,
.footer-after {
  background: var(--dmb-soft);
}

.breadcrumb a,
.pagination a,
.facet a {
  color: var(--dmb-graphite);
}

.breadcrumb a:hover,
.pagination a:hover,
.facet a:hover {
  color: var(--dmb-raspberry);
}

@media (max-width: 767.98px) {
  .header-top {
    display: block !important;
    padding: .4rem 0;
  }

  .header__logo img,
  .header-logo img,
  .logo.img-fluid {
    width: min(78vw, 360px);
    max-height: 46px;
  }

  .header__logo,
  .header-logo {
    min-width: 0;
  }
}

/* Hummingbird keeps logo containers compact by default; the historic horizontal logo needs room. */
.header-bottom__logo {
  flex: 0 0 auto;
  width: clamp(260px, 42vw, 560px);
  max-width: 560px !important;
}

.header-bottom__logo .navbar-brand,
.header-bottom__logo .header-bottom__h1 {
  width: 100%;
  max-width: 560px !important;
}

.header-bottom__logo .logo.img-fluid {
  display: block;
  width: 100% !important;
  max-width: 560px !important;
  height: auto !important;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 991.98px) {
  .header-bottom__logo {
    width: min(68vw, 380px);
    max-width: 380px !important;
  }

  .header-bottom__logo .navbar-brand,
  .header-bottom__logo .header-bottom__h1,
  .header-bottom__logo .logo.img-fluid {
    max-width: 380px !important;
  }
}

@media (max-width: 575.98px) {
  .header-bottom__logo {
    width: min(72vw, 300px);
    max-width: 300px !important;
  }

  .header-bottom__logo .navbar-brand,
  .header-bottom__logo .header-bottom__h1,
  .header-bottom__logo .logo.img-fluid {
    max-width: 300px !important;
  }
}

/* Dark header requested for the migrated storefront. */
#header.header,
.header-bottom,
.header-bottom .container-md,
.header-bottom__row {
  background: var(--dmb-graphite) !important;
}

.header-bottom {
  border-top-color: var(--dmb-raspberry) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.header-bottom a,
.header-bottom .material-icons,
.header-bottom .material-icons-outlined,
.header-bottom .ps-shoppingcart,
.header-bottom .header-block__action-btn,
.header-bottom .dropdown-toggle,
.header-bottom .menu__link,
.header-bottom .ps-mainmenu__tree-link {
  color: #fff !important;
}

.header-bottom a:hover,
.header-bottom .menu__link:hover,
.header-bottom .ps-mainmenu__tree-link:hover {
  color: #ffd7e1 !important;
}

.header-bottom .search-widgets form input[type="text"],
.header-bottom .search-widgets form input[type="search"],
.header-bottom .search-widget form input[type="text"],
.header-bottom .search-widget form input[type="search"] {
  background: #fff;
  border-color: rgba(255, 255, 255, .75);
}

.header-bottom__logo .logo.img-fluid {
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .18));
}

/* Homepage rebuilt from safe static assets of the historic theme. */
.dmb-home-hero {
  position: relative;
  min-height: clamp(380px, 48vw, 560px);
  display: flex;
  align-items: center;
  margin: 0 0 3rem;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(20, 20, 22, .92) 0%, rgba(20, 20, 22, .72) 42%, rgba(20, 20, 22, .2) 100%),
    url('../img/dmb/homepage/bannerBackground.jpg') center / cover no-repeat;
}

.dmb-home-hero__inner {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.dmb-home-hero__eyebrow,
.dmb-section-heading p,
.dmb-section-kicker {
  margin: 0 0 .6rem;
  color: var(--dmb-raspberry);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dmb-home-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 4.8rem);
  line-height: .98;
  font-weight: 900;
  letter-spacing: -.05em;
}

.dmb-home-hero__text {
  max-width: 620px;
  margin: 1.4rem 0 1.8rem;
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  color: rgba(255, 255, 255, .88);
}

.dmb-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.dmb-home-steps,
.dmb-home-categories,
.dmb-home-feature,
.dmb-home-paths {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.dmb-home-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.dmb-home-step {
  padding: 1.4rem;
  text-align: center;
  background: #fff;
  border: 1px solid var(--dmb-border);
  border-radius: 20px;
  box-shadow: 0 16px 38px rgba(65, 65, 67, .08);
}

.dmb-home-step img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  margin-bottom: 1rem;
}

.dmb-home-step h2 {
  margin-bottom: .45rem;
  color: var(--dmb-raspberry);
  font-size: 1.35rem;
  text-transform: uppercase;
}

.dmb-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
  border-bottom: 2px solid var(--dmb-border);
}

.dmb-section-heading h2 {
  margin: 0 0 .8rem;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 900;
  letter-spacing: -.04em;
}

.dmb-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.dmb-category-card {
  display: flex;
  min-height: 154px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  padding: 1.1rem;
  color: var(--dmb-graphite);
  text-align: center;
  background: #fff;
  border: 1px solid var(--dmb-border);
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(65, 65, 67, .06);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dmb-category-card:hover {
  transform: translateY(-4px);
  border-color: var(--dmb-raspberry);
  box-shadow: 0 20px 44px rgba(215, 29, 76, .13);
}

.dmb-category-card img {
  width: 76px;
  height: 76px;
  object-fit: contain;
}

.dmb-category-card span {
  font-weight: 800;
  text-transform: uppercase;
}

.dmb-home-feature {
  display: grid;
  grid-template-columns: minmax(220px, 360px) 1fr;
  gap: clamp(1.4rem, 4vw, 4rem);
  align-items: center;
  padding: clamp(1.2rem, 3vw, 2.4rem);
  background: linear-gradient(135deg, #fff, var(--dmb-soft));
  border: 1px solid var(--dmb-border);
  border-radius: 26px;
}

.dmb-home-feature__media img {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
}

.dmb-home-feature__content h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.9rem, 3.4vw, 3.2rem);
  font-weight: 900;
  letter-spacing: -.045em;
}

.dmb-home-feature__links,
.dmb-path-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.dmb-home-feature__links a {
  padding: .65rem 1rem;
  color: #fff;
  background: var(--dmb-graphite);
  border-radius: 999px;
  font-weight: 800;
}

.dmb-home-feature__links a:hover {
  background: var(--dmb-raspberry);
  color: #fff;
}

.dmb-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dmb-path-grid a {
  display: block;
  min-height: 170px;
  padding: 1.25rem;
  color: #fff;
  background: linear-gradient(145deg, var(--dmb-graphite), #272729);
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}

.dmb-path-grid a::after {
  content: '';
  position: absolute;
  right: -32px;
  bottom: -32px;
  width: 94px;
  height: 94px;
  background: var(--dmb-raspberry);
  border-radius: 999px;
  opacity: .85;
}

.dmb-path-grid strong,
.dmb-path-grid span {
  position: relative;
  z-index: 1;
  display: block;
}

.dmb-path-grid strong {
  margin-bottom: .7rem;
  font-size: 1.2rem;
  text-transform: uppercase;
}

.dmb-path-grid span {
  color: rgba(255, 255, 255, .78);
}

@media (max-width: 991.98px) {
  .dmb-home-steps,
  .dmb-category-grid,
  .dmb-path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dmb-home-feature {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .dmb-home-hero {
    min-height: 460px;
  }

  .dmb-home-steps,
  .dmb-category-grid,
  .dmb-path-grid {
    grid-template-columns: 1fr;
  }

  .dmb-section-heading {
    display: block;
  }
}

/* Keep the long historic menu on its own row below logo/search/cart. */
.header-bottom__row {
  align-items: center !important;
  row-gap: 0;
}

.header-bottom__logo {
  align-self: center;
  min-height: 64px;
  height: auto !important;
}

.header-bottom .ps-mainmenu.ps-mainmenu--desktop {
  order: 20;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 0;
  margin-top: .25rem;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.header-bottom .ps-mainmenu__desktop,
.header-bottom .ps-mainmenu__tree {
  width: 100% !important;
  height: auto !important;
}

.header-bottom .ps-mainmenu__tree {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .2rem;
  overflow-x: auto;
  overflow-y: visible;
  margin: 0;
  padding: 0 .1rem;
  scrollbar-width: thin;
}

.header-bottom .ps-mainmenu__tree-item,
.header-bottom .ps-mainmenu__tree-item-wrapper,
.header-bottom .ps-mainmenu__tree-link,
.header-bottom .ps-mainmenu__tree-dropdown-toggle {
  height: 48px !important;
  min-height: 48px;
}

.header-bottom .ps-mainmenu__tree-item {
  flex: 0 0 auto;
}

.header-bottom .ps-mainmenu__tree-link {
  display: inline-flex;
  align-items: center;
  padding: 0 .75rem;
  white-space: nowrap;
  font-size: .92rem;
}

.header-bottom .ps-mainmenu__tree-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-bottom .js-sub-menu.submenu {
  color: var(--dmb-graphite);
}

.header-bottom .js-sub-menu.submenu a,
.header-bottom .js-sub-menu.submenu .menu-item,
.header-bottom .js-sub-menu.submenu .submenu__left-item {
  color: var(--dmb-graphite) !important;
}

.header-bottom .js-sub-menu.submenu a:hover,
.header-bottom .js-sub-menu.submenu .menu-item:hover,
.header-bottom .js-sub-menu.submenu .submenu__left-item:hover {
  color: var(--dmb-raspberry) !important;
}

@media (max-width: 1199.98px) {
  .header-bottom .ps-mainmenu.ps-mainmenu--desktop {
    display: none !important;
  }
}

/* Compact desktop menu enough to avoid a horizontal scrollbar at 1140px. */
@media (min-width: 1200px) {
  .header-bottom .ps-mainmenu__tree {
    gap: 0;
    overflow-x: visible;
  }

  .header-bottom .ps-mainmenu__tree-link {
    padding-left: .48rem;
    padding-right: .48rem;
    font-size: .86rem;
  }

  .header-bottom .ps-mainmenu__tree-dropdown-toggle {
    width: 1.25rem;
    padding-left: .1rem;
    padding-right: .1rem;
  }
}

/* CMS FAQ imported from the historic site. */
.page-content--cms {
  max-width: 980px;
  margin-inline: auto;
}

.page-content--cms ul li strong[style*="00afaa"],
.page-content--cms ul li span[style*="00afaa"] {
  color: var(--dmb-teal) !important;
}

.page-content--cms p strong[style*="e51d4b"],
.page-content--cms p span[style*="e51d4b"] {
  color: var(--dmb-raspberry) !important;
}

.page-content--cms ul {
  margin-top: 1.25rem;
  padding: 1rem 1.2rem;
  background: #fff;
  border: 1px solid var(--dmb-border);
  border-left: 5px solid var(--dmb-teal);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(65, 65, 67, .05);
}

.page-content--cms p[style*="padding-left"] {
  margin: .6rem 0 1.1rem !important;
  padding: 1rem 1.2rem !important;
  background: var(--dmb-soft);
  border-left: 5px solid var(--dmb-raspberry);
  border-radius: 14px;
}

/* Static blog archive migrated from the legacy SmartBlog module. */
.dmb-blog-index,
.dmb-blog-article {
  max-width: 1120px;
  margin-inline: auto;
}

.dmb-blog-intro {
  margin-bottom: 2rem;
  padding: clamp(1.4rem, 4vw, 2.8rem);
  color: #fff;
  background: linear-gradient(135deg, var(--dmb-graphite), #272729);
  border-radius: 24px;
}

.dmb-blog-intro p,
.dmb-blog-date {
  margin: 0 0 .55rem;
  color: var(--dmb-raspberry);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dmb-blog-intro h1 {
  max-width: 760px;
  margin: 0 0 .75rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 900;
  letter-spacing: -.045em;
}

.dmb-blog-intro span {
  color: rgba(255, 255, 255, .82);
  font-size: 1.08rem;
}

.dmb-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.dmb-blog-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--dmb-border);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(65, 65, 67, .07);
}

.dmb-blog-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--dmb-soft);
}

.dmb-blog-card > div {
  padding: 1.1rem;
}

.dmb-blog-card h2 {
  margin: 0 0 .75rem;
  font-size: 1.15rem;
  line-height: 1.25;
}

.dmb-blog-card h2 a {
  color: var(--dmb-graphite);
}

.dmb-blog-card h2 a:hover,
.dmb-blog-readmore:hover {
  color: var(--dmb-raspberry);
}

.dmb-blog-readmore {
  display: inline-flex;
  margin-top: .45rem;
  color: var(--dmb-raspberry);
  font-weight: 900;
  text-transform: uppercase;
}

.dmb-blog-hero {
  margin: 0 0 1.6rem;
  overflow: hidden;
  border-radius: 20px;
}

.dmb-blog-hero img {
  width: 100%;
  max-height: 460px;
  object-fit: cover;
}

.dmb-blog-article {
  font-size: 1.04rem;
  line-height: 1.7;
}

.dmb-blog-article h1,
.dmb-blog-article h2,
.dmb-blog-article h3 {
  margin-top: 1.6rem;
  font-weight: 900;
  letter-spacing: -.025em;
}

@media (max-width: 991.98px) {
  .dmb-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .dmb-blog-grid {
    grid-template-columns: 1fr;
  }
}

/* PrestaBlog archive cards imported as CMS links. */
.dmb-blog-index-hero {
  max-width: 760px;
  margin: 0 auto 2rem;
  text-align: left;
}

.dmb-blog-index-hero p {
  margin: 0 0 .45rem;
  color: var(--dmb-raspberry);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dmb-blog-index-hero h1 {
  margin: 0 0 .65rem;
  color: var(--dmb-graphite);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 900;
  letter-spacing: -.04em;
}

.dmb-blog-index-hero span {
  color: #666;
  font-size: 1.05rem;
}

.dmb-blog-grid .dmb-blog-card,
.dmb-blog-grid .dmb-blog-card:visited,
.dmb-blog-grid .dmb-blog-card:hover,
.dmb-blog-grid .dmb-blog-card:focus {
  display: flex;
  min-height: 100%;
  overflow: hidden;
  flex-direction: column;
  color: var(--dmb-graphite) !important;
  text-decoration: none !important;
  background: #fff;
  border: 1px solid var(--dmb-border);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(65, 65, 67, .07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dmb-blog-grid .dmb-blog-card:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 29, 75, .24);
  box-shadow: 0 18px 42px rgba(65, 65, 67, .12);
}

.dmb-blog-card-media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, var(--dmb-soft), #fff);
}

.dmb-blog-card-media img,
.dmb-blog-card .dmb-blog-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

.dmb-blog-card-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 1rem;
  color: var(--dmb-graphite);
  font-weight: 900;
  text-align: center;
}

.dmb-blog-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .45rem;
  padding: 1rem 1.05rem 1.15rem;
}

.dmb-blog-card-date {
  color: var(--dmb-raspberry);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dmb-blog-card-body strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--dmb-graphite);
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -.02em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.dmb-blog-card-body > span:last-child {
  display: -webkit-box;
  overflow: hidden;
  color: #666;
  font-size: .95rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.dmb-blog-card:hover .dmb-blog-card-body strong {
  color: var(--dmb-raspberry);
}

/* Hard fallbacks for CMS Blog cards, avoids browser default link blue if variables are not available. */
.page-cms .dmb-blog-grid a.dmb-blog-card,
.page-cms .dmb-blog-grid a.dmb-blog-card:visited,
.page-cms .dmb-blog-grid a.dmb-blog-card:hover,
.page-cms .dmb-blog-grid a.dmb-blog-card:focus {
  color: #414143 !important;
  text-decoration: none !important;
}

.page-cms .dmb-blog-card-body,
.page-cms .dmb-blog-card-body strong,
.page-cms .dmb-blog-card-placeholder {
  color: #414143 !important;
}

.page-cms .dmb-blog-card-date {
  color: #e51d4b !important;
}

.page-cms .dmb-blog-card-body > span:last-child {
  color: #666 !important;
}

.page-cms .dmb-blog-card:hover .dmb-blog-card-body strong {
  color: #e51d4b !important;
}

/* Home trust band, inspired by the legacy homepage service strip. */
.dmb-home-trust {
  margin: clamp(2.4rem, 5vw, 4.6rem) 0 0;
  padding: clamp(2rem, 4.5vw, 3.1rem) 0;
  color: #fff;
  background: #d91449;
}

.dmb-home-trust__inner {
  display: grid;
  grid-template-columns: 1.18fr 1fr 1.18fr;
  gap: clamp(1.6rem, 4vw, 3rem);
  align-items: start;
}

.dmb-home-trust__item {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 1.2rem;
  align-items: start;
}

.dmb-home-trust__icon {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  color: #fff;
}

.dmb-home-trust__icon svg {
  display: block;
  width: 76px;
  height: 76px;
  fill: currentColor;
}

.dmb-home-trust__icon--clock {
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border-radius: 999px;
}

.dmb-home-trust__content h2 {
  margin: .25rem 0 .55rem;
  color: #fff;
  font-size: clamp(1.15rem, 1.9vw, 1.45rem);
  font-weight: 900;
  line-height: 1.05;
  text-transform: uppercase;
}

.dmb-home-trust__content p {
  margin: 0;
  color: rgba(255, 255, 255, .95);
  font-size: clamp(1rem, 1.45vw, 1.22rem);
  line-height: 1.36;
}

.dmb-home-trust__payments {
  display: grid;
  grid-template-columns: repeat(4, minmax(72px, 1fr));
  gap: .8rem;
  margin-top: 1.35rem;
}

.dmb-home-trust__payments span {
  display: grid;
  min-height: 58px;
  place-items: center;
  padding: .45rem .55rem;
  color: #d91449;
  font-size: .88rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  background: #fff;
  border-radius: 7px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4);
}

.dmb-home-trust__payments span:nth-child(1) {
  font-size: 1.15rem;
  font-style: italic;
}

.dmb-home-trust__payments span:nth-child(2) {
  color: #d7194b;
}

.dmb-home-trust__payments span:nth-child(3) {
  font-size: 1.35rem;
  letter-spacing: .02em;
}

.dmb-home-trust__payments span:nth-child(4) {
  font-size: .68rem;
  text-transform: uppercase;
}

@media (max-width: 1199.98px) {
  .dmb-home-trust__inner {
    grid-template-columns: 1fr;
  }

  .dmb-home-trust__item {
    max-width: 760px;
  }
}

@media (max-width: 575.98px) {
  .dmb-home-trust__item {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: .9rem;
  }

  .dmb-home-trust__icon,
  .dmb-home-trust__icon svg {
    width: 56px;
    height: 56px;
  }

  .dmb-home-trust__payments {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Card-style variant for the home trust band. */
.dmb-home-trust {
  padding: 0 clamp(.75rem, 3vw, 1.5rem);
  background: transparent;
}

.dmb-home-trust__inner {
  padding: clamp(2rem, 4.5vw, 3.1rem);
  color: #fff;
  background: #d91449;
  border-radius: 26px;
  box-shadow: 0 22px 46px rgba(65, 65, 67, .14);
}

@media (max-width: 575.98px) {
  .dmb-home-trust {
    padding-right: .75rem;
    padding-left: .75rem;
  }

  .dmb-home-trust__inner {
    padding: 1.6rem 1.1rem;
    border-radius: 20px;
  }
}

/* Three separate service cards, visually aligned with the quick path cards above. */
.dmb-home-trust {
  margin: 3rem auto;
  padding: 0;
  background: transparent;
}

.dmb-home-trust__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  padding: 0;
  color: inherit;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.dmb-home-trust__item {
  position: relative;
  display: block;
  min-height: 190px;
  overflow: hidden;
  padding: 1.25rem;
  color: #fff;
  background: #d91449;
  border-radius: 20px;
  box-shadow: none;
}

.dmb-home-trust__item::after {
  content: '';
  position: absolute;
  right: -32px;
  bottom: -32px;
  width: 94px;
  height: 94px;
  background: #272729;
  border-radius: 999px;
  opacity: .92;
}

.dmb-home-trust__icon,
.dmb-home-trust__content,
.dmb-home-trust__payments {
  position: relative;
  z-index: 1;
}

.dmb-home-trust__icon {
  width: 46px;
  height: 46px;
  margin-bottom: .85rem;
  color: #fff;
}

.dmb-home-trust__icon svg {
  width: 46px;
  height: 46px;
}

.dmb-home-trust__icon--clock {
  background: transparent;
  border-radius: 0;
}

.dmb-home-trust__content h2 {
  margin: 0 0 .45rem;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.dmb-home-trust__content p {
  max-width: 95%;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: .94rem;
  line-height: 1.38;
}

.dmb-home-trust__payments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  max-width: 210px;
  margin-top: .9rem;
}

.dmb-home-trust__payments span {
  min-height: 34px;
  padding: .35rem .45rem;
  color: #d91449;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  background: #fff;
  border-radius: 6px;
}

.dmb-home-trust__payments span:nth-child(1) {
  font-size: .82rem;
}

.dmb-home-trust__payments span:nth-child(3) {
  font-size: .9rem;
}

.dmb-home-trust__payments span:nth-child(4) {
  font-size: .52rem;
}

@media (max-width: 991.98px) {
  .dmb-home-trust__inner {
    grid-template-columns: 1fr;
  }

  .dmb-home-trust__item {
    min-height: 0;
  }
}

/* Delivery area card added before the three legacy home steps. */
.dmb-home-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dmb-home-step,
a.dmb-home-step,
a.dmb-home-step:visited,
a.dmb-home-step:hover,
a.dmb-home-step:focus {
  color: #414143;
  text-decoration: none;
}

.dmb-home-step--delivery {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.dmb-home-step--delivery:hover {
  transform: translateY(-4px);
  border-color: #d91449;
  box-shadow: 0 20px 44px rgba(215, 20, 73, .13);
}

.dmb-home-step__badge {
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  margin-bottom: 1rem;
}

.dmb-home-step__badge svg {
  width: 112px;
  height: 112px;
}

.dmb-home-step__dot {
  fill: none;
  stroke: #d91449;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 1 10;
}

.dmb-home-step__figure {
  fill: #d91449;
  stroke: #414143;
  stroke-width: 3;
  stroke-linejoin: round;
}

.dmb-home-step--delivery p {
  color: #707070;
}

@media (max-width: 991.98px) {
  .dmb-home-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .dmb-home-steps {
    grid-template-columns: 1fr;
  }
}

.dmb-home-step__delivery-img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  margin-bottom: 1rem;
}
