/**
 * Child theme — custom product page layout
 * Overrides hummingbird product layout to match spec:
 *
 *  product__container   : 55% left (images) | 45% right (purchase)
 *  product__bottom      : 55% left (desc + accordions) | 45% right (hooks)
 *  product__features-full : 100% width, single-column table, no accordion
 */

/* ============================================================
   1. TOP SECTION — product__container
   ============================================================ */

.product__container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.product__left {
  flex: 0 0 calc(55% - 1rem);
  max-width: calc(55% - 1rem);
}

.product__right {
  flex: 0 0 calc(45% - 1rem);
  max-width: calc(45% - 1rem);
}

/* Title sits in the left column */
.product__left .product__name {
  margin-bottom: 0.5rem;
}

/* Product title size */
.product__name {
  font-size: 1.75rem;
  font-weight: 700;
}

/* Product price */
.page-product .product__price {
  font-size: 2.75rem;
  font-weight: 700;
}

/* Brand in left column (below title, above images) */
.product__manufacturer--left {
  font-size: 0.9rem;
  color: var(--bs-secondary-color, #6c757d);
}

/* Brand in right column (logo / name link) */
.product__manufacturer--right {
  margin-bottom: 0.75rem;
}

/* FIX: max-height: auto is invalid — use a real value */
.product__manufacturer--right img {
  max-height: 60px;
  width: auto;
}

/* Remove thumbnail strip (handled in template, but belt-and-suspenders) */
.product__thumbnails {
  display: none !important;
}

/* Add to cart button */
.product__add-to-cart .btn-primary,
.product__add-to-cart .add-to-cart {
  padding: 1.21875rem .3125rem;
  border-radius: .625rem;
  max-width: 19rem;
}

/* Reassurance block */
.blockreassurance {
  background: #f5f5f5;
  padding: 7px;
  border-radius: 0.625rem;
  border: 1px solid #ddd;
}

/* ============================================================
   2. BOTTOM SECTION — product__bottom
   ============================================================ */

.product__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 3rem;
  background-color: #f5f5f5;
  padding: 1.81rem;
}

.product__bottom-left {
  flex: 0 0 calc(55% - 1rem);
  max-width: calc(55% - 1rem);
}

.product__bottom-right {
  flex: 0 0 calc(45% - 1rem);
  max-width: calc(45% - 1rem);
}

/* Description rendered as plain text block, NOT accordion */
.product__description-full {
  margin-bottom: 1.5rem;
}

/* ============================================================
   3. FEATURES FULL WIDTH — product__features-full
   ============================================================ */

.product__features-full {
  width: 100%;
  margin-bottom: 3rem;
}

.product__features-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--bs-border-color, #dee2e6);
}

.product__features-table {
  width: 100%;
  border-collapse: collapse;
}

.product__features-table tbody {
  display: table-row-group;
}

.product__features-row {
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.product__features-table tbody tr:nth-child(odd) td,
.product__features-table tbody tr:nth-child(odd) th {
  background-color: #f5f5f5;
}

.product__features-table tbody tr:nth-child(even) td,
.product__features-table tbody tr:nth-child(even) th {
  background-color: #fff;
}

.product__features-name {
  font-weight: 700;
  width: 45%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  text-align: left;
}

.product__features-value {
  width: 55%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

/* ============================================================
   4. RESPONSIVE
   ============================================================ */

@media (max-width: 991.98px) {
  .product__left,
  .product__right,
  .product__bottom-left,
  .product__bottom-right {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .product__left {
    order: 1;
  }

  .product__right {
    order: 2;
  }
}

/* ============================================================
   5. EXTRAS
   ============================================================ */

.page-product .product__quantity {
  width: auto;
  height: 66px;
  border-radius: 0.625rem;
}

.page-product .product__price {
  font-size: 2.4375rem;
  font-weight: 700;
}

/* FIX: removed stray } that was here — closing brace for a non-existent @media */

.ps-categoryproducts {
  background-color: rgb(1, 27, 86) !important;
  border-radius: 0.65rem !important;
}

/* Product Reference Styling */
.product__reference--left {
  font-size: 0.9rem;
  color: #8e8e8e;
  margin-bottom: 1rem;
}

.product__reference-label {
  font-weight: 700;
  margin-right: 5px;
  color: #8e8e8e;
}

.product__reference-code {
  font-weight: 700;
  color: #8e8e8e;
  letter-spacing: 0.5px;
}

.product__reference--left i {
  color: #8e8e8e;
}

.ps-emailalerts__content .btn {
  border-radius: .625rem;
}

.page-product .product__availability {
  font-weight: 700;
}

/* ps_categoryproducts module */
.ps_categoryproducts,
.ps-categoryproducts,
.category-products,
#category-products {
  background-color: #011b56 !important;
  color: white;
  border-radius: .625rem;
  padding: 1rem;
}

/* FIX: removed stray } that was here */

.ps_categoryproducts .section-title .h2 {
  padding: 1rem !important;
}

/* ps_viewedproduct module */
.ps_viewedproduct,
.ps-viewedproduct,
.viewed-products,
#viewed-products,
.product-viewed,
.blockviewed {
  background-color: #ddd !important;
  padding: 1rem;
  border-radius: .625rem;
}

.ps_viewedproduct .section-title,
.ps-viewedproduct .section-title,
.ps_viewedproduct h3,
.ps-viewedproduct .h3 {
  margin-bottom: 1rem;
}

.ps_viewedproduct .product-item a:hover,
.ps-viewedproduct .product-name a:hover {
  color: #ffcc00 !important;
}

@media (max-width: 480px) {
  .layout-full-width .products {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

#product_features_full {
  scroll-margin-top: 120px;
}