.pr-zone {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(1100px, calc(100% - 40px));
  margin: 34px auto;
  gap: 14px;
}

.pr-zone[hidden], .pr-card[hidden] { display: none !important; }

.pr-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 132px) minmax(0, 1fr);
  min-width: 0;
  padding: 22px;
  border: 1px solid #aeb7b1;
  border-radius: 14px;
  background: #fffef9;
  color: #173a34;
  gap: 18px;
}

.pr-label {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border: 2px solid currentColor;
  border-radius: 999px;
  background: #fff;
  color: #173a34;
  font-size: .6875rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.pr-card-image {
  width: 100%;
  height: 104px;
  align-self: center;
  border-radius: 9px;
  object-fit: contain;
}

.pr-card-copy { display: grid; min-width: 0; align-content: start; gap: 7px; }
.pr-card:not(:has(.pr-card-image)) { grid-template-columns: 1fr; padding-top: 46px; }
.pr-card-advertiser { color: #526963; font-size: .6875rem; font-weight: 800; }
.pr-card h2 { margin: 0; font-family: system-ui, -apple-system, sans-serif; font-size: 1.0625rem; font-weight: 900; line-height: 1.5; }
.pr-card p { margin: 0; color: #44645e; font-size: .8125rem; line-height: 1.75; }
.pr-card .pr-card-pricing { color: #173a34; font-weight: 800; }
.pr-card a {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 44px;
  margin-top: 4px;
  padding: 8px 14px;
  border: 2px solid #173a34;
  border-radius: 9px;
  background: #173a34;
  color: #fff;
  font-size: .8125rem;
  font-weight: 900;
  line-height: 1.5;
  text-decoration: none;
}
.pr-card a:hover { background: #28564e; }
.pr-card a:focus-visible { outline: 3px solid #a7ca35; outline-offset: 3px; }

.article-layout + .pr-zone { margin-top: 24px; }

@media (max-width: 760px) {
  .pr-zone { grid-template-columns: 1fr; width: calc(100% - 32px); margin-block: 24px; }
  .pr-card { grid-template-columns: 96px minmax(0, 1fr); padding: 18px; gap: 14px; }
  .pr-card-image { height: 80px; }
}

@media (max-width: 440px) {
  .pr-card { grid-template-columns: 1fr; padding-top: 46px; }
  .pr-card-image { width: min(100%, 180px); height: 90px; justify-self: center; }
}

@media print { .pr-zone { display: none !important; } }
