/* zs-commerce-visual-system-v1 — values are taken from the live AirPods category and homepage. */
:root {
  --zs-commerce-title-size: 32px;
  --zs-commerce-title-line: 1.05;
  --zs-commerce-title-weight: 750;
  --zs-commerce-title-spacing: -.8px;
  --zs-commerce-flow-gap: 8px;
}

/* Product page: the breadcrumb-to-card flow and H1 follow the category heading. */
body.single-product .elementor-163 > .elementor-element-5dc5126 {
  gap: var(--zs-commerce-flow-gap) !important;
}
body.single-product .elementor-163 > .elementor-element-5dc5126 > .e-con-inner {
  padding-top: 0 !important;
}
body.single-product .elementor-element-a329abd,
body.single-product .elementor-element-a329abd .woocommerce-breadcrumb {
  margin: 0 !important;
}
body.single-product .elementor-element-a329abd .woocommerce-breadcrumb,
body.single-product .elementor-element-a329abd .woocommerce-breadcrumb a {
  font-size: 12px !important;
  line-height: 1.25 !important;
}
body.single-product .elementor-element-1eceac3 .elementor-heading-title {
  margin: 0 !important;
  font-size: var(--zs-commerce-title-size) !important;
  line-height: var(--zs-commerce-title-line) !important;
  font-weight: var(--zs-commerce-title-weight) !important;
  letter-spacing: var(--zs-commerce-title-spacing) !important;
}

@media (min-width: 1025px) {
  /* Keep the product hero compact: less card padding, a smaller image stage and tighter thumbnails. */
  body.single-product .elementor-element-c8b478b {
    padding: 36px 40px 32px !important;
  }
  body.single-product .custom-product-gallery {
    gap: 10px !important;
  }
  body.single-product .custom-main-container,
  body.single-product .custom-main-slider {
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
  }
  body.single-product .custom-main-slide {
    padding: 12px !important;
  }
  body.single-product .custom-main-slide img {
    width: 72% !important;
    height: 72% !important;
    max-width: 72% !important;
    max-height: 72% !important;
  }
  body.single-product .custom-gallery-thumbnails {
    min-height: 80px !important;
  }
  body.single-product .custom-thumbnails-track {
    gap: 10px !important;
  }
  body.single-product .custom-thumb-item {
    flex-basis: 76px !important;
    width: 76px !important;
    height: 76px !important;
    border-radius: 12px !important;
  }
}

/* Cart, checkout and order-received share Elementor template 178. */
body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 > .elementor-element-9cb5c9f {
  padding: 0 24px 56px !important;
  --gap: 0px;
}
body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 > .elementor-element-9cb5c9f > .e-con-inner {
  padding: 0 !important;
  gap: 0 !important;
}
body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 .elementor-page-title {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
}
body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 .elementor-page-title h1 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: var(--zs-commerce-title-size) !important;
  line-height: var(--zs-commerce-title-line) !important;
  font-weight: var(--zs-commerce-title-weight) !important;
  letter-spacing: var(--zs-commerce-title-spacing) !important;
}
body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 .elementor-widget-divider {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Shared storefront contact component, copied from the current homepage. */
.zs-mstore {
  display: block;
  min-height: 0;
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid #edf0f4;
  border-radius: 17px;
  background: #fff;
}
.zs-mstore__map {
  display: block;
  height: 155px;
  background: #eef4ff;
}
.zs-mstore__map iframe {
  display: block;
  width: 100%;
  height: 155px;
  border: 0;
}
.zs-mstore__info {
  padding: 15px 14px 17px;
}
.zs-mstore h2 {
  margin: 0;
  font-size: 18px;
}
.zs-mstore p {
  margin: 7px 0;
  color: #4e5663;
  font-size: 12px;
  line-height: 1.35;
}
.zs-mstore a {
  color: #0767e8;
  font-size: 12px;
  font-weight: 650;
}
.zs-mstore__details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 15px;
}
.zs-mstore__details p,
.zs-mstore__details > a {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 10px 11px;
  border-radius: 12px;
  background: #f5f7fa;
  flex-direction: column;
  color: #4e5663 !important;
}
.zs-mstore__details b {
  color: #16191e;
  font-size: 11px;
}
.zs-mstore__details span {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.25;
}
.zs-mstore__actions {
  display: flex;
  margin-top: 12px;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.zs-mstore__route {
  display: inline-flex;
  min-height: 38px;
  padding: 0 13px;
  border-radius: 19px;
  align-items: center;
  justify-content: center;
  background: #0767e8;
  color: #fff !important;
}
.zs-mstore__route span {
  margin-left: 5px;
  font-size: 18px;
}
.zs-mstore__social {
  display: flex;
  gap: 6px;
}
.zs-mstore__social a {
  display: inline-flex;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #dce3ec;
  border-radius: 19px;
  align-items: center;
  justify-content: center;
  color: #20252c !important;
  background: #fff;
}

@media (min-width: 768px) {
  .zs-mstore {
    display: grid;
    grid-template-columns: 58% 42%;
    margin-top: 14px;
    border-radius: 22px;
  }
  .zs-mstore__map,
  .zs-mstore__map iframe {
    height: 300px;
  }
  .zs-mstore__info {
    display: flex;
    padding: 36px;
    justify-content: center;
    flex-direction: column;
  }
  .zs-mstore h2 { font-size: 30px; }
  .zs-mstore p { font-size: 16px; }
  .zs-mstore a { font-size: 14px; }
  .zs-mstore__details { margin-top: 18px; gap: 10px; }
  .zs-mstore__details p,
  .zs-mstore__details > a { padding: 12px 13px; }
  .zs-mstore__details b,
  .zs-mstore__details span { font-size: 12px; }
  .zs-mstore__actions { margin-top: 15px; gap: 9px; flex-wrap: nowrap; }
  .zs-mstore__route,
  .zs-mstore__social a { min-height: 42px; }
  .zs-mstore__route { padding: 0 16px; }
  .zs-mstore__social a { padding: 0 13px; }
}

@media (max-width: 1024px) {
  body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 > .elementor-element-9cb5c9f {
    padding-top: 0 !important;
  }
}

@media (max-width: 767px) {
  body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 > .elementor-element-9cb5c9f {
    padding: 0 15px 32px !important;
  }
  body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 .elementor-page-title {
    margin-bottom: 12px !important;
  }
  body.single-product .elementor-element-1eceac3 .elementor-heading-title,
  body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 .elementor-page-title h1 {
    font-size: var(--zs-commerce-title-size) !important;
    line-height: var(--zs-commerce-title-line) !important;
    font-weight: var(--zs-commerce-title-weight) !important;
    letter-spacing: var(--zs-commerce-title-spacing) !important;
  }
}

@media (max-width: 359px) {
  body:is(.woocommerce-cart,.woocommerce-checkout) .elementor-178 > .elementor-element-9cb5c9f {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
