.pcw-template-top, .pcw-template-bottom {
  margin: 1rem 0;
  padding: 0;
}
.pcw-template-badge {
  display: inline-block;
  margin: 0 0 0.75rem 0;
  padding: 0.15rem 0.6rem;
  border: 1px solid var(--lightgray, #e6e4df);
  border-radius: 999px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--darkgray, #5b564d);
  background: var(--light, #fafaf7);
}
.pcw-template-why {
  margin: 0 0 1rem 0;
  padding: 0.5rem 0.875rem;
  border-left: 3px solid var(--secondary, #1f6f5c);
  background: var(--light, #fafaf7);
  font-size: 1rem;
  line-height: 1.45;
  color: var(--dark, #1c1a16);
  border-radius: 0 4px 4px 0;
}
.pcw-template-why strong {
  color: var(--secondary, #1f6f5c);
  font-weight: 600;
  margin-right: 0.4rem;
}
.pcw-meta-cluster {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.25rem 0.875rem;
  margin: 0 0 1rem 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--lightgray, #e6e4df);
  border-radius: 4px;
  background: var(--light, #fafaf7);
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--dark, #1c1a16);
}
.pcw-meta-cluster dt {
  color: var(--darkgray, #5b564d);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.7rem;
  align-self: center;
}
.pcw-meta-cluster dd {
  margin: 0;
}
.pcw-meta-cluster dd a {
  color: var(--secondary, #1f6f5c);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.pcw-meta-cluster dd a:hover {
  border-bottom-color: var(--secondary, #1f6f5c);
}
.pcw-meta-cluster .pcw-meta-empty {
  color: var(--darkgray, #5b564d);
  font-style: italic;
}
.pcw-template-block {
  margin: 1.25rem 0;
  padding: 0.875rem 1rem;
  border: 1px solid var(--lightgray, #e6e4df);
  border-left-width: 3px;
  border-left-color: var(--secondary, #1f6f5c);
  border-radius: 0 4px 4px 0;
  background: var(--light, #fafaf7);
}
.pcw-template-block[data-pcw-block-tone="warn"] {
  border-left-color: var(--tertiary, #b46a2a);
}
.pcw-template-block h2 {
  margin: 0 0 0.5rem 0;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--dark, #1c1a16);
}
.pcw-template-block ul,
.pcw-template-block ol {
  margin: 0.25rem 0 0 1.1rem;
  padding: 0;
}
.pcw-template-block li {
  margin-bottom: 0.2rem;
}
.pcw-template-block p { margin: 0.25rem 0 0 0; }
.pcw-template-trust {
  margin: 1.25rem 0;
  padding: 0;
  border: 1px solid var(--lightgray, #e6e4df);
  border-radius: 4px;
  background: var(--light, #fafaf7);
}
.pcw-template-trust > summary {
  cursor: pointer;
  padding: 0.6rem 1rem;
  font-weight: 600;
  color: var(--secondary, #1f6f5c);
  list-style: none;
}
.pcw-template-trust > summary::-webkit-details-marker { display: none; }
.pcw-template-trust > summary::before {
  content: "›";
  display: inline-block;
  width: 1rem;
  color: var(--darkgray, #5b564d);
  transition: transform 0.15s ease;
}
.pcw-template-trust[open] > summary::before {
  transform: rotate(90deg);
}
.pcw-template-trust-body {
  padding: 0 1rem 1rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--dark, #1c1a16);
}
.pcw-template-trust-body p { margin: 0.5rem 0; }
.pcw-template-trust-body ul { margin: 0.25rem 0 0 1.1rem; padding: 0; }
.pcw-template-trust-body .pcw-template-trust-row {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.25rem 0.875rem;
}
.pcw-template-trust-body .pcw-template-trust-row dt {
  color: var(--darkgray, #5b564d);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.7rem;
  align-self: center;
}
.pcw-template-trust-body .pcw-template-trust-row dd { margin: 0; }
.pcw-template-next {
  margin: 1.25rem 0;
  padding: 0;
}
.pcw-template-next h2 {
  margin: 0 0 0.5rem 0;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--dark, #1c1a16);
}
.pcw-template-next ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.5rem;
}
.pcw-template-next li {
  background: var(--light, #fafaf7);
  border: 1px solid var(--lightgray, #e6e4df);
  border-radius: 4px;
  padding: 0.5rem 0.75rem;
}
.pcw-template-next a {
  color: var(--secondary, #1f6f5c);
  text-decoration: none;
  font-weight: 600;
}
@media print {
  .pcw-template-trust,
  .pcw-template-next { display: none; }
}
