:root {
  --pc-color-primary:   #1ab69d;
  --pc-color-secondary: #EE4A62;
  --pc-color-accent:    #FFD301;
  --pc-transition-duration: 0.2s;
}

.pc-calculator {
  max-width: 100%; margin: 1em auto; padding: 1em;
  border: 2px solid var(--pc-color-primary);
  border-radius: 6px; background: rgba(26,182,157,0.05);
  box-sizing: border-box;
}
.pc-calculator select,
.pc-calculator input {
  width: 100%; padding: 0.6em; margin: 0.5em 0;
  border: 1px solid #ccc; border-radius: 4px;
  box-sizing: border-box;
}
.pc-calculator button#pc-calc-btn {
  width: 100%; padding: 0.7em; margin-bottom: 0.5em;
  background: var(--pc-color-secondary); color: #fff;
  border: none; border-radius: 4px; cursor: pointer;
  transition: background-color var(--pc-transition-duration) ease;
}
.pc-calculator button#pc-calc-btn:hover {
  background: #d93c52; /* A slightly darker red for hover effect */
}
.pc-error {
  color: var(--pc-color-secondary);
  margin-top: 0.5em;
}
.pc-results {
  margin-top: 1em; padding: 1em;
  border-top: 3px solid var(--pc-color-accent);
  background: #fff; border-radius: 4px;
}
.pc-results h3 {
  margin-top: 0; border-bottom: 1px solid #eee;
  padding-bottom: 0.2em;
}
.pc-results p {
  margin: 0.5em 0; line-height: 1.4;
}
.pc-accordion .pc-item + .pc-item {
  margin-top: 0.5em;
}
.pc-acc-btn {
  width: 100%; text-align: left; padding: 0.5em;
  background: var(--pc-color-primary); color: #fff;
  border: none; border-radius: 4px; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  transition: background-color var(--pc-transition-duration) ease;
}
.pc-acc-btn:hover {
  background: #159c86; /* A slightly darker green for hover effect */
}
.pc-acc-btn::after {
  content: '+';
  font-size: 1.2em;
  transition: transform var(--pc-transition-duration) ease;
}
.pc-acc-btn[aria-expanded="true"] {
  background: var(--pc-color-secondary);
}
.pc-acc-btn[aria-expanded="true"]::after {
  content: '−';
  transform: rotate(180deg);
}
.pc-acc-panel {
  padding: 0.5em; margin-top: 0.2em;
  border-left: 3px solid var(--pc-color-accent);
  background: #fafafa; border-radius: 0 4px 4px 4px;
  overflow: hidden;
  height: 0;
  transition: height var(--pc-transition-duration) ease, padding var(--pc-transition-duration) ease;
}
.pc-acc-panel[hidden] {
  display: block !important;
  visibility: hidden;
  height: 0 !important;
  padding: 0 0.5em;
}
.pc-acc-panel:not([hidden]) {
  visibility: visible;
  height: auto;
  padding: 0.5em;
}
#pc-cta-btn { display: none; }
#pc-cta-btn.visible {
  display: inline-block; margin-top: 1em;
  padding: 0.7em 1.2em;
  background: var(--pc-color-secondary); color: #fff;
  text-decoration: none; border-radius: 4px;
  transition: background-color var(--pc-transition-duration) ease;
}
#pc-cta-btn.visible:hover {
  background: #d93c52; /* A slightly darker red for hover effect */
}
@media (max-width: 480px) {
  .pc-calculator { padding: 0.8em; }
  .pc-calculator select,
  .pc-calculator input,
  .pc-calculator button#pc-calc-btn,
  #pc-cta-btn { font-size: 0.95em; }
  .pc-results p { font-size: 0.9em; }
}