.tc-external-purchase { max-width: 100%; }
.tc-external-purchase > a.tc-external-buy { box-sizing: border-box; margin-bottom: 0; }
.tc-external-purchase > p.tc-external-description {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  text-transform: none;
  color: #555;
  overflow-wrap: anywhere;
}

/* Affiche's custom two-column product template: keep the explanation with the button.
   Grid allows longer explanations to expand the page without overlapping reviews. */
@media (min-width: 1024px) {
  .single-product .woocommerce-product-summary-wrapper:has(.summary > .tc-external-purchase) {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    align-items: start;
  }
  #content .site-main div.product.type-product .summary.entry-summary:has(> .tc-external-purchase) {
    display: contents !important;
  }
  .single-product .woocommerce-product-summary-wrapper .summary:has(> .tc-external-purchase) > * {
    grid-column: 1;
    margin-right: 80px;
    min-width: 0;
  }
  .single-product .woocommerce-product-summary-wrapper .summary > .tc-external-purchase {
    grid-column: 2;
    grid-row: 1 / span 20;
    margin: 0;
  }
  .single-product .woocommerce-product-summary-wrapper .summary > .tc-external-purchase > a.tc-external-buy {
    position: static !important;
    width: 100%;
    margin: 0;
  }
}
@media (max-width: 1023px) {
  #content .site-main div.product.type-product .summary.entry-summary:has(> .tc-external-purchase) {
    width: 100% !important;
    padding-right: 0 !important;
  }
  .single-product .summary > .tc-external-purchase > a.tc-external-buy {
    position: static !important;
    width: 100%;
  }
}
