/* Product specification tables — shared responsive contract */
body.template-product-elementor
  :is(#spec-container, .product-specs-container, .ck-product-specs, .woocommerce-product-attributes) {
  box-sizing: border-box !important;
  width: min(calc(100% - 48px), 1120px) !important;
  max-width: 1120px !important;
  min-width: 0 !important;
  margin-inline: auto !important;
}

html body.template-product-elementor
  #spec-container#spec-container.elementor-element.elementor-element-5f93e38 {
  margin: 0 auto !important;
  align-self: center !important;
}

body.template-product-elementor
  :is(#spec-container, .product-specs-container, .ck-product-specs)
  :is(.product-info-row, .product-spec-row) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.template-product-elementor .woocommerce-product-attributes {
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

body.template-product-elementor
  .woocommerce-product-attributes
  :is(th, td) {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 768px) {
  body.template-product-elementor
    :is(#spec-container, .product-specs-container, .ck-product-specs, .woocommerce-product-attributes) {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }

  body.template-product-elementor
    :is(#spec-container, .product-specs-container, .ck-product-specs)
    :is(.product-info-row, .product-spec-row) {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
    align-items: start !important;
    padding: 16px 0 !important;
  }

  body.template-product-elementor
    :is(#spec-container, .product-specs-container, .ck-product-specs)
    :is(.product-spec-icon, .spec-icon) {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 44px !important;
    max-width: 44px !important;
    margin: 0 !important;
    justify-self: start !important;
  }

  body.template-product-elementor
    :is(#spec-container, .product-specs-container, .ck-product-specs)
    :is(.product-spec-title, .spec-title, .product-spec-title-container) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.template-product-elementor
    :is(#spec-container, .product-specs-container, .ck-product-specs)
    :is(.info-value, .product-spec-value, .spec-value) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  body.template-product-elementor .woocommerce-product-attributes {
    display: block !important;
    width: calc(100% - 32px) !important;
  }

  body.template-product-elementor .woocommerce-product-attributes tbody,
  body.template-product-elementor .woocommerce-product-attributes tr,
  body.template-product-elementor .woocommerce-product-attributes th,
  body.template-product-elementor .woocommerce-product-attributes td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.template-product-elementor .woocommerce-product-attributes tr {
    padding: 14px 0 !important;
  }

  body.template-product-elementor .woocommerce-product-attributes th {
    padding: 0 0 6px !important;
    text-align: left !important;
  }

  body.template-product-elementor .woocommerce-product-attributes td {
    padding: 0 !important;
  }
}
