
.pdtv4{
  max-width: 1080px;
  margin: 0 auto;
  font-family: Georgia, "Times New Roman", serif;
  color: #2f2a24;
}
.pdtv4-step{ margin-bottom: 14px; }
.pdtv4-step h3{
  margin: 0 0 6px;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.2;
}
.pdtv4-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.pdtv4-card-grid-small{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.pdtv4-card{
  appearance:none;
  border:1px solid #d9d0c5;
  background:#f8f4ef;
  color:#2f2a24;
  border-radius:18px;
  padding:14px 14px;
  text-align:left;
  cursor:pointer;
  transition:all .18s ease;
  min-height:88px;
  box-shadow:0 1px 1px rgba(0,0,0,.02);
}
.pdtv4-card:hover{ border-color:#b9ab98; transform:translateY(-1px); background:#fbf8f4; }
.pdtv4-card.is-selected{ border-color:#8f7962; background:#efe5d9; box-shadow:0 0 0 1px #8f7962 inset; }
.pdtv4-card-title{
  display:block;
  font-size:1rem;
  font-weight:700;
  margin-bottom:2px;
  line-height:1.2;
}
.pdtv4-card-desc{
  display:block;
  font-size:.9rem;
  line-height:1.25;
  color:#6a5f54;
}
.pdtv4-actions{
  display:flex;
  gap:10px;
  margin:4px 0 14px;
}
.pdtv4-primary,.pdtv4-secondary{
  appearance:none;
  border-radius:999px;
  padding:10px 16px;
  border:1px solid #8f7962;
  cursor:pointer;
  font-size:.95rem;
}
.pdtv4-primary{ background:#8f7962; color:#fff; }
.pdtv4-primary[disabled]{ opacity:.45; cursor:not-allowed; }
.pdtv4-secondary{ background:#fff; color:#8f7962; }
.pdtv4-summary{
  margin-bottom:8px;
  color:#5b5148;
}
.pdtv4-summary p{
  margin:0;
  font-size:1.8rem;
  line-height:1.15;
}
.pdtv4-results{ margin-top:4px; }
.pdtv4-result-header{ margin:0 0 10px; }
.pdtv4-result-label{
  font-size:1.8rem;
  line-height:1.15;
  letter-spacing:0;
  text-transform:none;
  color:#8f7962;
  margin:0;
  font-weight:700;
}
.pdtv4-group{ margin-bottom:16px; }
.pdtv4-group h3{
  margin:0 0 8px;
  font-size:1.8rem;
  line-height:1.15;
  font-weight:700;
}
.pdtv4-palette-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pdtv4-color-card{
  border:1px solid #e0d7cc;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.pdtv4-swatch{
  height:132px;
  border-bottom:1px solid #e9e1d8;
}
.pdtv4-card-body{ padding:12px; }
.pdtv4-brand{
  margin:0 0 3px;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#8b7d6d;
  line-height:1.2;
}
.pdtv4-color-card h4{
  margin:0 0 6px;
  font-size:1.05rem;
  line-height:1.15;
}
.pdtv4-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  font-size:.86rem;
  color:#665c53;
  margin-bottom:6px;
  line-height:1.2;
}
.pdtv4-undertone{
  margin:0;
  font-size:.9rem;
  line-height:1.25;
  color:#4d463f;
}
.pdtv4-empty{
  padding:14px;
  border:1px solid #e0d7cc;
  border-radius:16px;
  background:#faf8f5;
}

@media (max-width: 900px){
  .pdtv4-card-grid, .pdtv4-card-grid-small, .pdtv4-palette-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px){
  .pdtv4-card-grid, .pdtv4-card-grid-small, .pdtv4-palette-grid{ grid-template-columns:1fr; }
  .pdtv4-actions{ flex-direction:column; }
  .pdtv4-summary p,
  .pdtv4-result-label,
  .pdtv4-group h3{
    font-size:1.5rem;
  }
}
