/* Dazzle Mark v1.4.4 — visual/layout-only refinements.
   Scope: independent product + collection pages, and the homepage hero.
   No selectors are used to hide checkout controls, change click actions,
   interfere with promotions, or alter catalogue / inventory / login state. */

/* Product/collection pages: occupy the available screen, rather than
   creating large side gutters at 1440–2048px. Keep a modest breathing edge. */
body.single-dm_product .dmsp-main,
body.post-type-archive-dm_product .dmsp-main,
body.tax-dm_collection .dmsp-main {
  box-sizing: border-box;
  width: 100%;
  max-width: 2048px;
  min-height: 0;
  margin-inline: auto;
  padding-inline: clamp(18px, 2.4vw, 50px);
}
body.single-dm_product .dmsp-main {
  padding-block: clamp(14px, 1.6vw, 28px) clamp(28px, 3vw, 56px);
}
body.single-dm_product .dmsp-product {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(22px, 2.8vw, 60px);
  align-items: start;
}
body.single-dm_product .dmsp-product-content,
body.single-dm_product .dmsp-gallery,
body.single-dm_product .dmsp-form {
  min-width: 0;
}
body.single-dm_product .dmsp-form {
  width: 100%;
  max-width: none;
}
body.single-dm_product .dmsp-copy {
  max-width: 72ch;
}
body.single-dm_product .dmsp-main-photo {
  max-height: min(82vh, 850px);
}
body.single-dm_product .dmsp-main-photo img,
body.single-dm_product .dmsp-gallery-video {
  max-height: inherit;
}
body.single-dm_product .dmsp-related {
  margin-top: clamp(26px, 3vw, 48px);
}

/* Full-width, balanced footer content (previous inner width was 1280px,
   leaving very wide empty brown columns on large displays). */
body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-full-footer {
  box-sizing: border-box;
  width: 100%;
  padding-inline: clamp(18px, 2.4vw, 50px);
}
body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-footer-layout,
body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-footer-bottom {
  box-sizing: border-box;
  width: 100%;
  max-width: 2048px;
}
body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-footer-layout {
  grid-template-columns: minmax(225px, 1.35fr) repeat(3, minmax(140px, 0.85fr));
  gap: clamp(22px, 3vw, 72px);
}
body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-footer-bottom {
  margin-top: clamp(26px, 3vw, 44px);
}
/* Keep the independent product navigation visually aligned with its page. */
body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dm-seo-sitehead-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 2048px;
  margin-inline: auto;
  padding-inline: clamp(18px, 2.4vw, 50px);
}

/* The product concierge is already the approved boutique support. Recolour
   its shortcuts to the established espresso/champagne palette. */
body.single-dm_product .dmsp-support-chat {
  background: #fff8ed;
  color: #342219;
  border: 1px solid #b38a50;
  box-shadow: 0 7px 22px rgb(41 26 15 / 19%);
}
body.single-dm_product .dmsp-support-chat:hover,
body.single-dm_product .dmsp-support-chat:focus-visible {
  background: #e9cf9e;
  color: #24160f;
}
body.single-dm_product .dmsp-support-whatsapp {
  background: #294936;
  color: #fff8ea;
  border: 1px solid #c5a16f !important;
}
body.single-dm_product .dmsp-support-whatsapp:hover,
body.single-dm_product .dmsp-support-whatsapp:focus-visible {
  background: #1c3728;
}

/* Homepage slide navigation: espresso + polished gold, not teal/blue.
   The arrows and dots retain their original buttons and JS listeners. */
.hero .hero-controls {
  border-top-color: rgb(226 182 112 / 42%);
}
.hero .hero-dots button {
  background: rgb(244 222 186 / 48%);
  border-radius: 999px;
  min-height: 6px;
}
.hero .hero-dots button.active {
  background: #e2b775;
  box-shadow: 0 0 0 1px rgb(35 21 13 / 25%);
}
.hero .hero-arrows button {
  background: rgb(40 24 15 / 75%);
  border: 1px solid #cba16e;
  color: #ffe5b7;
  box-shadow: 0 4px 15px rgb(0 0 0 / 18%);
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.hero .hero-arrows button:hover,
.hero .hero-arrows button:focus-visible {
  background: #c99b61;
  border-color: #f3dab2;
  color: #251711;
}
.hero .hero-arrows button:focus-visible,
.hero .hero-dots button:focus-visible {
  outline: 3px solid #f6d8a1;
  outline-offset: 3px;
}
.hero .hero-arrows > span {
  color: #f1ddc4;
}
.hero .hero-actions .button.primary,
.hero .hero-actions a.button.primary,
.hero .hero-actions button.primary {
  background: #ddb577;
  border-color: #ddb577;
  color: #2a1c14;
}
.hero .hero-actions .button.primary:hover,
.hero .hero-actions .button.primary:focus-visible {
  background: #f0d19b;
  border-color: #f0d19b;
  color: #21140e;
}
.hero .hero-actions .button.secondary,
.hero .hero-actions a.button.secondary {
  border-color: #d3a975;
  color: #fff6eb;
  background: rgb(40 23 15 / 52%);
}
.hero .hero-actions .button.secondary:hover,
.hero .hero-actions .button.secondary:focus-visible {
  border-color: #f0d19b;
  background: #49301e;
}
/* Leave a clear area next to fixed customer chat and WhatsApp buttons.
   Merely moves the visual slide controls, never their click targets. */
.hero .hero-arrows {
  margin-inline-end: clamp(102px, 9vw, 158px);
}
/* Align the floating assistant with the brand's gold/espresso buttons. */
.chat-launcher {
  background: #fff8ed;
  color: #35251b;
  border: 1px solid #bb945f;
  box-shadow: 0 8px 26px rgb(35 20 11 / 22%);
}
.chat-launcher:hover,
.chat-launcher.is-open,
.chat-launcher:focus-visible {
  background: #3a261a;
  border-color: #cba16e;
  color: #f9e5c3;
}
.chat-online-dot {
  border-color: #fff8ed;
  background: #be9252;
  box-shadow: 0 0 0 1px #956f3b;
}

/* Tablet: collapse product details before the 2-column layout becomes tight. */
@media (max-width: 980px) {
  body.single-dm_product .dmsp-product {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  body.single-dm_product .dmsp-main-photo {
    height: min(72vw, 700px);
    max-height: none;
    aspect-ratio: auto;
  }
  body.single-dm_product .dmsp-gallery-video,
  body.single-dm_product .dmsp-main-photo img {
    height: 100%;
    max-height: none;
  }
  body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-footer-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
  }
}
@media (max-width: 600px) {
  body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-main {
    padding-inline: 14px;
  }
  body.single-dm_product .dmsp-main-photo {
    height: min(112vw, 540px);
  }
  body.single-dm_product .dmsp-return-row a {
    min-height: 44px;
  }
  body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-full-footer {
    padding-inline: 18px;
  }
  body:is(.single-dm_product,.post-type-archive-dm_product,.tax-dm_collection) .dmsp-footer-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .hero .hero-arrows {
    margin-inline-end: 77px;
  }
  .hero .hero-arrows button {
    min-width: 42px;
    min-height: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero-arrows button { transition: none; }
}
