/* Release 244 — compact voucher and related-product rail.
 * Overrides only product-detail modules. No unrelated global styling changes.
 */

/* Coupon is one flat strip, rather than an outer panel with a second card. */
.gp-product-detail .gp-pd228-voucher {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: .7rem clamp(1.15rem, 2vw, 2rem);
  align-items: center;
  min-width: 0;
  padding: clamp(.8rem, 1.2vw, 1rem) clamp(.9rem, 1.5vw, 1.25rem);
  border: 1px solid #dbe8df;
  border-radius: 1rem;
  background: #eef7f0;
  box-shadow: none;
}
.gp-product-detail .gp-pd228-voucher__intro {
  display: flex;
  gap: .85rem;
  align-items: center;
  min-width: 0;
}
.gp-product-detail .gp-pd228-voucher__icon {
  flex: 0 0 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  margin: 0;
  border-radius: .7rem;
}
.gp-product-detail .gp-pd228-voucher__icon svg {width: 1.15rem; height: 1.15rem}
.gp-product-detail .gp-pd228-voucher__copy {min-width: 0}
.gp-product-detail .gp-pd228-voucher__copy h2 {
  margin: 0 0 .25rem;
  font-size: clamp(.98rem, 1.15vw, 1.12rem);
  line-height: 1.28;
  text-wrap: balance;
  display: inline-block;
}
.gp-product-detail .gp-pd228-voucher__copy > p {
  max-width: 46ch;
  margin: 0;
  font-size: clamp(.78rem, .88vw, .86rem);
  line-height: 1.43;
  text-wrap: balance;
  display: inline-block;
  hyphens: none;
}
.gp-product-detail .gp-pd228-voucher__details {
  display: grid;
  align-self: center;
  align-content: center;
  justify-self: stretch;
  width: 100%;
  max-width: none;
  min-width: 0;
  gap: .33rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.gp-product-detail .gp-pd228-voucher__code {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
  align-items: stretch;
  min-width: 0;
}
.gp-product-detail .gp-pd228-voucher__code code {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  padding: .47rem .7rem;
  border: 1px dashed #b6cfc0;
  border-radius: .7rem;
  font-size: .94rem;
  letter-spacing: .045em;
  background: #fff;
}
.gp-product-detail .gp-pd228-voucher__code button {
  min-height: 2.75rem;
  padding: .47rem .85rem;
  border-radius: .7rem;
  font-size: .79rem;
  white-space: nowrap;
  background: var(--gp-action-green);
  color: var(--gp-action-on);
  font-weight: 760;
  cursor: pointer;
}
.gp-product-detail .gp-pd228-voucher__code button:hover {
  background: var(--gp-action-green-dark);
}
.gp-product-detail .gp-pd228-voucher__code button:focus-visible {
  outline: 3px solid #286b4e;
  outline-offset: 2px;
}
.gp-product-detail .gp-pd228-voucher__terms {
  max-width: none;
  margin: 0;
  padding: 0;
  color: #5d7166;
  font-size: clamp(.74rem, .83vw, .8rem);
  line-height: 1.42;
  hyphens: none;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}

/* Similar products: remove artificial two/three-line reserves and
 * align price/CTA at the bottom of the naturally sized carousel cards. */
.gp-product-detail .gp-pd236-carousel .gp-product-related-product__media {
  height: clamp(9.2rem, 14.5vw, 11.5rem);
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  padding: .65rem;
}
.gp-product-detail .gp-pd236-carousel .gp-product-related-product__media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: contain;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .35rem;
  padding: clamp(.76rem, 1.12vw, .97rem);
  min-width: 0;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product__eyebrow {
  margin: 0;
  font-size: .68rem;
  line-height: 1.3;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product h3 {
  margin: .06rem 0 .12rem;
  min-height: 0;
  font-size: clamp(.99rem, 1.11vw, 1.13rem);
  line-height: 1.28;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-wrap: pretty;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product__summary {
  margin: 0 0 .2rem;
  min-height: 0;
  color: #5b7065;
  font-size: clamp(.78rem, .87vw, .85rem);
  line-height: 1.48;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-wrap: pretty;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product__price {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .25rem .45rem;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: .5rem;
  min-width: 0;
  text-align: center;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product__price strong {
  margin: 0 auto;
  text-align: center;
}
.gp-product-detail .gp-pd230-discover .gp-product-related-product__link {
  min-height: 2.55rem;
  margin-top: .12rem;
  padding: .5rem .75rem;
}

@media (max-width: 860px) {
  .gp-product-detail .gp-pd228-voucher {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: .7rem;
  }
  .gp-product-detail .gp-pd228-voucher__details {max-width: none}
  .gp-product-detail .gp-pd228-voucher__copy > p {max-width: none}
}
@media (max-width: 370px) {
  .gp-product-detail .gp-pd228-voucher__code code {overflow-wrap: anywhere}
  .gp-product-detail .gp-pd228-voucher__code button {padding-inline: .6rem}
  .gp-product-detail .gp-pd228-voucher__intro {align-items: flex-start}
}
