/**
 * DSBM product-detail layout refinements.
 * Scope: WooCommerce single-product pages only.
 */

/* Compact the vertical rhythm and align the title with the gallery top. */
.dsbm-single-product .woocommerce-breadcrumb,
.dsbm-single-product .breadcrumbs {
  margin: 8px 0 10px;
  text-align: left !important;
}

.dsbm-single-product .product-main {
  padding: 0 0 12px;
}

.dsbm-single-product .product-main .row.content-row {
  align-items: flex-start;
}

.dsbm-single-product .product-gallery,
.dsbm-single-product .woocommerce-product-gallery {
  padding: 0 !important;
}

.dsbm-single-product .woocommerce-product-gallery .flickity-slider {
  margin-top: 0;
}

.dsbm-single-product .woocommerce-product-gallery__image,
.dsbm-single-product .product-gallery-slider .slide {
  min-height: 0;
}

.dsbm-single-product .woocommerce-product-gallery__image img,
.dsbm-single-product .product-gallery img {
  display: block;
  margin: 0 auto;
}

.dsbm-single-product .product-info,
.dsbm-single-product .summary.entry-summary {
  padding: 0 22px 12px;
}

.dsbm-single-product .product-title,
.dsbm-single-product .product_title.entry-title {
  margin-bottom: 6px;
}

.dsbm-single-product .price {
  margin: 6px 0 10px;
}

.dsbm-single-product .dsbm-product-info-list {
  gap: 4px;
  margin-bottom: 12px;
}

/* Quantity, add-to-cart and buy-now stay on one row. */
.dsbm-single-product form.cart {
  grid-template-columns: 92px minmax(190px, 1.35fr) minmax(130px, .9fr);
  gap: 8px;
  margin-bottom: 10px;
}

.dsbm-single-product .dsbm-buy-now-button {
  grid-column: auto;
  min-height: 46px;
  padding: 0 12px;
  white-space: nowrap;
}

.dsbm-single-product .dsbm-product-commitments {
  gap: 8px;
  margin: 10px 0 8px;
}

.dsbm-single-product .dsbm-commitment-item {
  padding: 8px;
}

/* Compact tabs, description and related-product blocks. */
.dsbm-single-product .product-footer {
  padding-top: 4px;
  padding-bottom: 16px;
}

.dsbm-single-product .product-tabs li a,
.dsbm-single-product .woocommerce-tabs ul.tabs li a {
  min-height: 46px;
}

.dsbm-single-product .woocommerce-Tabs-panel,
.dsbm-single-product .tabbed-content .tab-panels {
  padding: 18px 22px 22px;
}

.dsbm-single-product .dsbm-desc-wrap {
  padding: 18px 22px 22px;
}

.dsbm-single-product .dsbm-desc-content {
  margin-bottom: 16px;
}

.dsbm-single-product .dsbm-desc-wrap .dsbm-benefit-badges {
  margin: 14px 0 18px;
  padding: 12px 0;
}

.dsbm-single-product .related,
.dsbm-single-product .related-products-wrapper {
  margin-top: 10px;
  padding: 18px;
}

.dsbm-single-product .related h2,
.dsbm-single-product .related-products-wrapper h2,
.dsbm-single-product .related > h3 {
  margin-bottom: 12px;
}

@media (max-width: 849px) {
  /* Product-page mobile header: menu left, logo centered, cart right. */
  .dsbm-single-product .header-main .header-inner {
    min-height: 68px;
    padding: 0 15px !important;
    justify-content: space-between;
  }

  .dsbm-single-product .header-main .logo {
    position: absolute;
    top: 0;
    left: 50% !important;
    width: 78px;
    height: 68px;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  .dsbm-single-product .header-main .show-for-medium.flex-left,
  .dsbm-single-product .header-main .show-for-medium.flex-right {
    position: relative;
    z-index: 22;
    display: flex !important;
    flex: 0 0 44px;
    width: 44px;
    height: 68px;
    align-items: center;
  }

  .dsbm-single-product .header-main .show-for-medium.flex-left {
    justify-content: flex-start;
    margin-right: auto;
  }

  .dsbm-single-product .header-main .show-for-medium.flex-right {
    justify-content: flex-end;
    margin-left: auto;
  }

  .dsbm-single-product .header-main .show-for-medium.flex-left > ul,
  .dsbm-single-product .header-main .show-for-medium.flex-right > ul {
    display: flex !important;
    width: auto;
    height: auto;
    margin: 0;
    align-items: center;
  }

  .dsbm-single-product .header-main .show-for-medium.flex-right > ul > li.cart-item {
    display: flex !important;
  }

  .dsbm-single-product .mobile-nav > li > a,
  .dsbm-single-product .header-cart-link {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    align-items: center;
    justify-content: center;
  }

  .dsbm-single-product .mobile-nav .icon-menu,
  .dsbm-single-product .mobile-nav .icon-shopping-cart {
    width: 24px;
    height: 24px;
    color: #2f2a25;
    font-size: 24px;
    line-height: 24px;
  }

  .dsbm-single-product .woocommerce-breadcrumb,
  .dsbm-single-product .breadcrumbs {
    width: 100%;
    margin: 7px 0 8px;
    padding: 0 15px;
    text-align: left !important;
  }

  .dsbm-single-product .product-main {
    padding: 0 0 8px;
  }

  .dsbm-single-product .product-gallery,
  .dsbm-single-product .woocommerce-product-gallery {
    padding: 0 !important;
  }

  .dsbm-single-product .product-info,
  .dsbm-single-product .summary.entry-summary {
    margin-top: 8px;
    padding: 10px 15px 8px;
  }

  .dsbm-single-product .product-title,
  .dsbm-single-product .product_title.entry-title {
    margin-bottom: 4px;
  }

  .dsbm-single-product .price {
    margin: 4px 0 8px;
  }

  .dsbm-single-product .dsbm-product-info-list {
    gap: 3px;
    margin-bottom: 10px;
  }

  .dsbm-single-product form.cart {
    grid-template-columns: 72px minmax(0, 1.45fr) minmax(0, .9fr) !important;
    gap: 6px;
    margin-bottom: 8px;
  }

  .dsbm-single-product form.cart .quantity {
    width: 72px !important;
    min-width: 72px;
  }

  .dsbm-single-product .quantity .minus,
  .dsbm-single-product .quantity .plus {
    width: 22px;
    min-width: 22px;
    padding: 0;
  }

  .dsbm-single-product .quantity input[type="number"] {
    width: 28px;
    min-width: 28px;
    padding: 0;
  }

  .dsbm-single-product .single_add_to_cart_button,
  .dsbm-single-product .dsbm-buy-now-button {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0 6px;
    font-size: 11px;
    white-space: nowrap;
  }

  .dsbm-single-product .dsbm-product-commitments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 8px 0 4px;
  }

  .dsbm-single-product .dsbm-commitment-item {
    min-width: 0;
    padding: 7px 5px;
    gap: 4px;
    align-items: flex-start;
  }

  .dsbm-single-product .dsbm-commitment-item span {
    flex: 0 0 auto;
    font-size: 14px;
  }

  .dsbm-single-product .dsbm-commitment-item p {
    min-width: 0;
    font-size: 10.5px;
    line-height: 1.25;
  }

  .dsbm-single-product .dsbm-commitment-item small {
    font-size: 9.5px;
    line-height: 1.2;
  }

  .dsbm-single-product .product-footer {
    padding: 2px 0 12px;
  }

  .dsbm-single-product .woocommerce-Tabs-panel,
  .dsbm-single-product .tabbed-content .tab-panels,
  .dsbm-single-product .dsbm-desc-wrap {
    padding: 12px 14px 16px;
  }

  .dsbm-single-product .related,
  .dsbm-single-product .related-products-wrapper {
    margin-top: 8px;
    padding: 12px;
  }
}

@media (max-width: 360px) {
  .dsbm-single-product form.cart {
    grid-template-columns: 66px minmax(0, 1.55fr) minmax(0, .8fr) !important;
    gap: 5px;
  }

  .dsbm-single-product form.cart .quantity {
    width: 66px !important;
    min-width: 66px;
  }

  .dsbm-single-product .single_add_to_cart_button {
    font-size: 9.5px;
  }

  .dsbm-single-product .dsbm-buy-now-button {
    font-size: 10px;
  }
}
