/* Deals Direct Online Core — storefront helpers, v1.0.2 */

.ddo-core-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100%, 1280px);
  min-height: 92px;
  margin: auto;
  border-bottom: 1px solid #dfe4dc;
  padding: 0 clamp(12px, 2vw, 22px);
}

.ddo-core-trust > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-width: 0;
  border-right: 1px solid #dfe4dc;
  padding: 16px;
}

.ddo-core-trust > div:last-child {
  border-right: 0;
}

.ddo-core-trust svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  fill: none;
  stroke: #a8221f;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ddo-core-trust > div > span {
  min-width: 0;
}

.ddo-core-trust b,
.ddo-core-trust small {
  display: block;
}

.ddo-core-trust b {
  color: #151d28;
  font-size: 13px;
  line-height: 1.3;
}

.ddo-core-trust small {
  margin-top: 2px;
  color: #68736b;
  font-size: 11px;
  line-height: 1.35;
}

.ddo-core-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.ddo-core-categories > a {
  position: relative;
  height: 420px;
  min-width: 0;
  overflow: hidden;
  background: #f3f5f1;
}

.ddo-core-categories img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

@media (hover: hover) {
  .ddo-core-categories > a:hover img {
    transform: scale(1.025);
  }
}

.ddo-core-categories > a::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(10, 9, 9, 0.78));
}

.ddo-core-categories span {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 22px;
  left: 24px;
  color: #fff;
}

.ddo-core-categories b,
.ddo-core-categories small,
.ddo-core-categories em {
  display: block;
}

.ddo-core-categories b {
  font: 500 27px / 1.2 'Oswald', 'Arial Narrow', sans-serif;
}

.ddo-core-categories small {
  margin: 4px 0 12px;
  opacity: 0.82;
}

.ddo-core-categories em {
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.ddo-saved-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.ddo-saved-card {
  min-width: 0;
  background: #f3f5f1;
}

.ddo-saved-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.ddo-saved-card > div {
  padding: 15px;
}

.ddo-saved-card h3 {
  margin: 0 0 6px;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.ddo-saved-card .price {
  font-weight: 800;
}

.ddo-saved-empty {
  background: #f3f5f1;
  padding: 70px 20px;
  text-align: center;
}

@media (max-width: 1000px) {
  .ddo-core-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ddo-saved-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ddo-core-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
    padding: 8px;
  }

  .ddo-core-trust > div {
    justify-content: flex-start;
    gap: 10px;
    border: 0;
    padding: 12px 8px;
  }

  .ddo-core-trust svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }

  .ddo-core-trust b {
    font-size: 12px;
  }

  .ddo-core-trust small {
    font-size: 10px;
  }

  .ddo-core-categories {
    display: flex;
    gap: 12px;
    margin-right: -16px;
    margin-left: -2px;
    padding: 0 16px 8px 2px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .ddo-core-categories > a {
    flex: 0 0 min(82vw, 350px);
    height: min(105vw, 420px);
    scroll-snap-align: start;
  }

  .ddo-saved-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

@media (max-width: 420px) {
  .ddo-core-trust {
    grid-template-columns: 1fr;
  }

  .ddo-core-trust > div {
    border-bottom: 1px solid #e7ebe5;
  }

  .ddo-core-trust > div:last-child {
    border-bottom: 0;
  }
}

/* --------------------------------------------------------------------------
   1.0.3 premium sync with theme 1.3.0
   -------------------------------------------------------------------------- */
.ddo-core-trust {
  margin-top: 22px;
  border: 1px solid #e2e7e0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16, 17, 20, 0.05);
  padding-top: 6px;
  padding-bottom: 6px;
}

.ddo-core-trust svg {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  box-sizing: border-box;
  border-radius: 50%;
  background: #f3f5f1;
  padding: 8px;
}

.ddo-core-categories > a {
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(16, 17, 20, 0.1);
  transition: box-shadow 0.28s ease, transform 0.28s ease;
}

@media (hover: hover) {
  .ddo-core-categories > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(16, 17, 20, 0.16);
  }
}

.ddo-core-categories em {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.04em;
}

.ddo-saved-grid {
  gap: 22px;
}

.ddo-saved-card {
  overflow: hidden;
  border: 1px solid #e6eae4;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(16, 17, 20, 0.06);
  transition: transform 0.2s ease, box-shadow 0.25s ease;
}

@media (hover: hover) {
  .ddo-saved-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(16, 17, 20, 0.12);
  }
}

.ddo-saved-card > div {
  padding: 17px;
}

.ddo-saved-card h3 a {
  color: inherit;
  text-decoration: none;
}

.ddo-saved-empty {
  border: 1px dashed #d4dbd2;
  border-radius: 12px;
  background: #f7f8f5;
}

@media (max-width: 760px) {
  .ddo-core-trust {
    border-radius: 12px;
    padding: 6px;
  }

  .ddo-core-trust svg {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    padding: 7px;
  }

  .ddo-core-categories > a {
    border-radius: 10px;
  }
}

/* --------------------------------------------------------------------------
   1.0.6 — trust cards behave like the product-page confidence cards
   -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .ddo-core-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    margin-top: 14px;
    padding: 0;
  }

  .ddo-core-trust > div,
  .ddo-core-trust > div:last-child {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-height: 92px;
    border: 1px solid #e2e7e0;
    border-radius: 10px;
    background: #fff;
    padding: 12px 10px;
    text-align: center;
  }

  .ddo-core-trust svg {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    padding: 6px;
  }

  .ddo-core-trust > div > span,
  .ddo-core-trust b,
  .ddo-core-trust small {
    text-align: center;
  }
}

@media (max-width: 420px) {
  .ddo-core-trust,
  .ddo-core-trust > div,
  .ddo-core-trust > div:last-child {
    /* keep the 2-column card layout all the way down — matches the store */
    border: 1px solid #e2e7e0;
  }

  .ddo-core-trust {
    border: 0;
  }
}

/* --------------------------------------------------------------------------
   1.0.8 — categories: bulletproof 2x2 compact grid on tablets and phones
   (Scroll mechanics kept failing on real devices; a compact grid is always
   fully visible and never depends on overflow behaviour.)
   -------------------------------------------------------------------------- */
@media (max-width: 860px) {
  .ddo-core-categories {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .ddo-core-categories > a {
    flex: none;
    width: auto !important;
    max-width: none;
    height: min(48vw, 230px) !important;
    border-radius: 12px;
  }

  .ddo-core-categories > a::after {
    inset: 35% 0 0;
  }

  .ddo-core-categories > a span {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .ddo-core-categories b {
    font-size: 19px;
  }

  .ddo-core-categories small {
    margin: 2px 0 8px;
    font-size: 11px;
  }

  .ddo-core-categories em {
    font-size: 11px;
  }
}

/* --------------------------------------------------------------------------
   Elementor homepage schema 3: identical premium styling in editor and on
   the published page, independent of Elementor's generated CSS cache.
   -------------------------------------------------------------------------- */
.ddo-elementor-page { overflow: hidden; background: #f7f9fb; color: #151d28; }
.ddo-elementor-page .elementor-widget:not(:last-child) { margin-block-end: 0; }
.ddo-el-section { position: relative; gap: 12px; background: #f7f9fb; }
.ddo-el-section:nth-of-type(even):not(.ddo-el-dark) { background: #edf2f6; }
.ddo-el-section > .elementor-element { width: min(100%,1280px); margin-inline: auto; }
.ddo-el-section > .elementor-widget-heading:first-child .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #20507d !important;
  font: 700 13px/1.2 Oswald,sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}
.ddo-el-section > .elementor-widget-heading:first-child .elementor-heading-title::before { width: 34px; height: 3px; background: #ffa01f; content: ""; }
.ddo-el-section > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
  max-width: 880px;
  margin: 2px 0 8px;
  color: #151d28 !important;
  font: 600 clamp(34px,4vw,54px)/1 Oswald,sans-serif !important;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.ddo-el-section > .elementor-widget-text-editor { max-width: 720px; }
.ddo-el-section > .elementor-widget-text-editor p { margin: 0; color: #5d6b7a; font: 500 17px/1.65 Barlow,sans-serif; }
.ddo-el-dark {
  isolation: isolate;
  background:
    radial-gradient(circle at 88% 15%,rgba(32,80,125,.55),transparent 36%),
    linear-gradient(135deg,#091827,#102c47 62%,#0d2135) !important;
}
.ddo-el-dark::after { position: absolute; inset: 0; z-index: -1; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size: 44px 44px; content: ""; }
.ddo-el-dark > .elementor-widget-heading:first-child .elementor-heading-title { color: #ffa01f !important; }
.ddo-el-dark > .elementor-widget-heading:nth-child(2) .elementor-heading-title { color: #fff !important; }
.ddo-el-dark > .elementor-widget-text-editor p { color: #c7d6e6; }
.ddo-el--hero001 { position: relative; isolation: isolate; align-items: center; overflow: hidden; }
.ddo-el--hero001::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(5,18,30,.94) 0%,rgba(5,18,30,.62) 57%,rgba(5,18,30,.18) 100%); content: ""; }
.ddo-el--hero002 {
  max-width: 760px;
  margin-right: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px;
  box-shadow: 0 34px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
}
.ddo-el-widget--hero003 .elementor-heading-title { font: 700 13px/1.2 Oswald,sans-serif !important; letter-spacing: .17em; }
.ddo-el-widget--hero004 .elementor-heading-title { max-width: 680px; margin: 8px 0 14px; font: 600 clamp(48px,6vw,78px)/.92 Oswald,sans-serif !important; letter-spacing: -.04em; text-transform: uppercase; text-wrap: balance; }
.ddo-el-widget--hero005 p { max-width: 620px; margin: 0 0 18px; font: 500 18px/1.6 Barlow,sans-serif; }
.ddo-elementor-page .elementor-button {
  min-height: 48px;
  padding: 15px 25px;
  border: 0;
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(8,30,49,.2);
  font: 700 14px/1 Oswald,sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.ddo-elementor-page .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(8,30,49,.28); filter: brightness(1.04); }
.ddo-el-widget--hero006 .ddo-vfinder {
  margin: 18px 0 10px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(255,255,255,.09);
  box-shadow: none;
}
.ddo-el-widget--hero006 .ddo-vfinder__title,.ddo-el-widget--hero006 .ddo-vfinder__alt { color: #fff; }
.ddo-el-widget--hero006 .ddo-vfinder__alt::before,.ddo-el-widget--hero006 .ddo-vfinder__alt::after { background: rgba(255,255,255,.25); }
.ddo-el--trust001 { padding-block: 28px !important; background: #fff; box-shadow: 0 14px 34px rgba(10,34,55,.08); }
.ddo-el--trust001 > .elementor-widget-heading { display: none; }
.ddo-el--promo0001 { background: #edf2f6; }
.ddo-el--promo0002,.ddo-el--promo0003,.ddo-el--promo0004 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 340px !important;
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(8,30,49,.18);
  transition: transform .25s ease,box-shadow .25s ease;
}
.ddo-el--promo0002::before,.ddo-el--promo0003::before,.ddo-el--promo0004::before { position: absolute; inset: 28% 0 0; z-index: -1; background: linear-gradient(transparent,rgba(6,21,34,.94)); content: ""; }
.ddo-el--promo0002:hover,.ddo-el--promo0003:hover,.ddo-el--promo0004:hover { transform: translateY(-6px); box-shadow: 0 26px 58px rgba(8,30,49,.28); }
.ddo-el--promo0002 .elementor-heading-title,.ddo-el--promo0003 .elementor-heading-title,.ddo-el--promo0004 .elementor-heading-title { font: 600 30px/1 Oswald,sans-serif !important; text-shadow: 0 2px 12px rgba(0,0,0,.55); text-transform: uppercase; }
.ddo-el-card-row { margin-top: 24px; }
.ddo-el-info-card,.ddo-el-review-card {
  min-width: 0;
  border: 1px solid #dbe3ea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(8,30,49,.09);
}
.ddo-el-dark .ddo-el-info-card { border-color: rgba(255,160,31,.25); background: rgba(255,255,255,.07); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.ddo-el-info-card .elementor-widget-heading:first-child .elementor-heading-title { color: #ffa01f !important; font: 700 14px/1 Oswald,sans-serif !important; letter-spacing: .16em; }
.ddo-el-info-card .elementor-widget-heading:nth-child(2) .elementor-heading-title { color: #151d28; font: 600 24px/1.1 Oswald,sans-serif !important; text-transform: uppercase; }
.ddo-el-dark .ddo-el-info-card .elementor-heading-title { color: #fff; }
.ddo-el-info-card p,.ddo-el-review-card p { margin: 0; color: #5d6b7a; font: 500 16px/1.6 Barlow,sans-serif; }
.ddo-el-dark .ddo-el-info-card p { color: #c7d6e6; }
.ddo-el-review-card .elementor-widget-heading:first-child .elementor-heading-title { color: #e98a0b !important; letter-spacing: .12em; }
.ddo-el-review-card .ddo-el-widget--review03q p,.ddo-el-review-card .ddo-el-widget--review04q p,.ddo-el-review-card .ddo-el-widget--review05q p { color: #263544; font-size: 17px; }
.ddo-el-chips p { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; }
.ddo-el-chips a { padding: 12px 18px; border: 1px solid #d3dde5; border-radius: 6px; background: #fff; color: #193954; font: 700 14px/1 Oswald,sans-serif; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; box-shadow: 0 6px 16px rgba(8,30,49,.06); }
.ddo-el-chips a:hover { border-color: #ffa01f; color: #9c5600; transform: translateY(-1px); }
.ddo-el-section .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 26px 0 0 !important; }
.ddo-el-section .woocommerce ul.products::before,.ddo-el-section .woocommerce ul.products::after { display: none; }
.ddo-el-section .woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; overflow: hidden; border: 1px solid #dce4eb; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px rgba(8,30,49,.08); transition: transform .22s ease,box-shadow .22s ease; }
.ddo-el-section .woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(8,30,49,.15); }
.ddo-el-section .woocommerce ul.products li.product img { margin: 0 !important; padding: 20px; aspect-ratio: 1/1; object-fit: contain; background: linear-gradient(180deg,#fff,#f2f5f7); }
.ddo-el-section .woocommerce ul.products li.product .woocommerce-loop-product__title,.ddo-el-section .woocommerce ul.products li.product .price,.ddo-el-section .woocommerce ul.products li.product .button { margin-inline: 18px !important; }
.ddo-el-section .woocommerce ul.products li.product .button { margin-bottom: 18px !important; }

@media (max-width: 980px) {
  .ddo-el--hero002 { width: min(100%,760px) !important; }
  .ddo-el-card-row,.ddo-el--promo0001 { flex-wrap: wrap !important; }
  .ddo-el-info-card,.ddo-el-review-card,.ddo-el--promo0002,.ddo-el--promo0003,.ddo-el--promo0004 { width: calc(50% - 9px) !important; }
  .ddo-el-section .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .ddo-el-section { padding: 56px 18px !important; }
  .ddo-el--hero001 { min-height: auto !important; padding: 50px 14px !important; }
  .ddo-el--hero002 { padding: 30px 22px !important; border-radius: 16px; }
  .ddo-el-widget--hero004 .elementor-heading-title { font-size: clamp(44px,13vw,60px) !important; }
  .ddo-el-widget--hero006 .ddo-vfinder__row,.ddo-el-widget--hero006 .ddo-vfinder__row--manual { grid-template-columns: 1fr; }
  .ddo-el-widget--hero006 .ddo-vfinder__go { width: 100%; }
  .ddo-el-info-card,.ddo-el-review-card,.ddo-el--promo0002,.ddo-el--promo0003,.ddo-el--promo0004 { width: 100% !important; }
  .ddo-el-section .woocommerce ul.products { gap: 12px; }
  .ddo-el-section .woocommerce ul.products li.product .woocommerce-loop-product__title,.ddo-el-section .woocommerce ul.products li.product .price,.ddo-el-section .woocommerce ul.products li.product .button { margin-inline: 12px !important; }
}

/* Complete supplied category image library + supplied vehicle marque logos. */
.ddo-core-categories--complete {
  display: grid !important;
  grid-template-columns: repeat(6,minmax(0,1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}
.ddo-core-categories--complete > a {
  display: flex;
  flex-direction: column;
  height: auto !important;
  min-height: 244px;
  border: 1px solid #dce4eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(8,30,49,.07);
  text-decoration: none;
  transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ddo-core-categories--complete > a:hover { transform: translateY(-4px); border-color: #ffa01f; box-shadow: 0 18px 38px rgba(8,30,49,.14); }
.ddo-core-categories--complete > a::after { display: none; }
.ddo-core-categories--complete img {
  position: static;
  display: block;
  width: 100%;
  height: 164px;
  padding: 18px;
  border-bottom: 1px solid #edf1f4;
  background: linear-gradient(180deg,#fff,#f3f6f8);
  object-fit: contain;
}
.ddo-core-categories--complete > a:hover img { transform: none; }
.ddo-core-categories--complete span {
  position: static;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 14px 15px 16px;
  color: #151d28;
}
.ddo-core-categories--complete b { min-height: 2.35em; font: 700 15px/1.18 Oswald,sans-serif; text-transform: uppercase; }
.ddo-core-categories--complete small { margin: 4px 0 10px; color: #687583; font: 500 12px/1.2 Barlow,sans-serif; }
.ddo-core-categories--complete em { margin-top: auto; color: #a95300; font: 700 11px/1 Oswald,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.ddo-core-brands {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 14px;
  margin-top: 26px;
}
.ddo-core-brands a {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 138px;
  padding: 20px 14px 16px;
  border: 1px solid #dce4eb;
  border-radius: 14px;
  background: #fff;
  color: #203449;
  box-shadow: 0 9px 24px rgba(8,30,49,.06);
  font: 700 13px/1.1 Barlow,sans-serif;
  text-align: center;
  text-decoration: none;
  transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ddo-core-brands a:hover { transform: translateY(-4px); border-color: #ffa01f; box-shadow: 0 18px 36px rgba(8,30,49,.13); }
.ddo-core-brands img { display: block; width: 62px; height: 62px; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .2s ease,opacity .2s ease,transform .2s ease; }
.ddo-core-brands a:hover img { filter: none; opacity: 1; transform: scale(1.06); }
@media (max-width: 1050px) {
  .ddo-core-categories--complete,.ddo-core-brands { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
}
@media (max-width: 700px) {
  .ddo-core-categories--complete,.ddo-core-brands { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .ddo-core-categories--complete > a { min-height: 220px; }
  .ddo-core-categories--complete img { height: 142px; padding: 13px; }
  .ddo-core-brands a { min-height: 118px; padding: 15px 10px 13px; }
  .ddo-core-brands img { width: 52px; height: 52px; }
}

/* Schema 5 polish: native premium hero, scroll-snap categories and reviews. */
.ddo-el-native-hero,.ddo-el-native-hero > .elementor-element,.ddo-el-native-hero .elementor-widget-container { width: 100%; max-width: none; margin: 0; padding: 0; }
.ddo-core-premium-hero,.ddo-core-premium-hero .ddo-hh-slide { min-height: 650px; }
.ddo-core-categories--complete {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 14px !important;
  padding: 4px 4px 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: #b62724 #dfe6eb;
  scrollbar-width: thin;
}
.ddo-core-categories--complete > a {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  flex: 0 0 calc((100% - 42px)/4);
  scroll-snap-align: start;
}
.ddo-el-review-card {
  position: relative;
  min-height: 278px;
  justify-content: flex-start;
  overflow: hidden;
  border-top: 4px solid #b62724;
}
.ddo-el-review-card::before {
  position: absolute;
  top: -18px;
  right: 18px;
  color: rgba(182,39,36,.08);
  font: 700 116px/1 Georgia,serif;
  content: "“";
}
.ddo-el-review-card .elementor-widget-heading:first-child { position: relative; z-index: 1; }
.ddo-el-review-card .elementor-widget-heading:first-child .elementor-heading-title { font-size: 15px !important; }
.ddo-el-review-card .elementor-widget-text-editor { position: relative; z-index: 1; flex: 1; padding-top: 14px; }
.ddo-el-review-card .elementor-widget-text-editor p { font-size: 18px !important; line-height: 1.55 !important; }
.ddo-el-review-card .elementor-widget-heading:last-child { padding-top: 18px; border-top: 1px solid #e5eaee; }
.ddo-el-review-card .elementor-widget-heading:last-child .elementor-heading-title { color: #506172; font: 700 12px/1.3 Barlow,sans-serif !important; letter-spacing: .04em; text-transform: uppercase; }
.ddo-el--spot0001 .woocommerce ul.products { margin-top: 30px !important; }
.ddo-core-empty { margin: 28px 0 0; padding: 30px; border: 1px dashed rgba(255,160,31,.38); border-radius: 12px; color: #c7d6e6; text-align: center; }
@media (max-width: 920px) {
  .ddo-core-premium-hero,.ddo-core-premium-hero .ddo-hh-slide { min-height: 620px; }
  .ddo-core-categories--complete > a { flex-basis: calc((100% - 28px)/3); }
}
@media (max-width: 700px) {
  .ddo-core-premium-hero,.ddo-core-premium-hero .ddo-hh-slide { min-height: auto; }
  .ddo-core-categories--complete > a { flex-basis: 72%; }
  .ddo-el-review-card { min-height: 250px; }
}

