/* Minimal styles for the two-tab price table, brand palette */
:root{
  --ink:#2a2420;        /* deep warm text */
  --ink-soft:#4a413b;
  --rose:#D35B6E;       /* main brand color */
  --petal:#FECFC6;      /* light background */
  --blush:#FFA9B4;      /* accent color */
  --white:#ffffff;      /* text color */
  --gray-light:#f8f9fa; /* neutral light */
  --gray-medium:#e9ecef; /* neutral medium */
}

.cp-wrap{
  font-family: "Teachers", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  color:var(--ink);
  max-width:1100px;
  margin:32px auto;
  padding:32px;
  background:var(--white);
  border-radius:20px;
  border: 3px solid var(--rose);
}

.cp-main-title{
  font-size:2.5rem;
  font-weight:800;
  text-align:center;
  color:var(--rose);
  margin:0 0 32px 0;
}.cp-tabs{
  display:flex; 
  gap:8px; 
  background:var(--gray-light); 
  border-radius:16px; 
  padding:8px; 
  margin-bottom:24px;
  border: 1px solid var(--gray-medium);
}

.cp-tab{
  flex:1 1 0; 
  background:transparent; 
  border:0; 
  padding:16px 20px; 
  border-radius:12px; 
  cursor:pointer; 
  font-weight:700; 
  color:var(--ink-soft); 
  letter-spacing:.3px; 
  display:inline-flex; 
  align-items:center; 
  gap:10px;
  transition: all 0.3s ease;
  font-size:1rem;
}

.cp-tab:hover{
  background:var(--white);
  color:var(--rose);
}

.cp-tab.is-active{
  background:var(--rose); 
  color:var(--white);
}

.cp-tab-ico{
  display:inline-flex;
  color:var(--rose);
}

.cp-tab.is-active .cp-tab-ico{
  color:var(--white);
}

.cp-panels{margin-top:18px}
.cp-panel{display:none}
.cp-panel.is-active{display:block}

.cp-title{margin:8px 0 20px; font-size:1.55rem; color:var(--rose); text-align:center; font-weight:700;}

.cp-card{background:linear-gradient(180deg, rgba(211,91,110,.26), rgba(211,91,110,.26)); padding:16px; border-radius:16px; border:1px solid rgba(254,207,198,.35)}
.cp-form{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px}
.cp-field label{display:flex; align-items:center; gap:8px; color:var(--white); font-weight:700; margin:0 0 6px 2px}
.cp-ico{display:inline-flex; color:var(--white)}
.cp-select{width:100%; padding:12px 12px; border-radius:10px; border:1px solid rgba(211,91,110,.45); background:#fff; color:var(--ink); font-weight:600}
.cp-select:focus{outline:3px solid rgba(255,169,180,.45); border-color:rgba(211,91,110,.7)}

.cp-result-card{background:#fff; border:1px solid rgba(211,91,110,.25); border-radius:12px; padding:16px; box-shadow:0 10px 28px rgba(42,36,32,.18)}
.cp-result-label{color:var(--ink); opacity:.9; font-weight:800; display:flex; align-items:center; gap:8px}
.cp-result-number{font-size:2rem; font-weight:800; color:var(--rose); margin-top:4px}
.cp-result-meta{margin-top:4px; color:var(--ink-soft)}
.cp-result-note{margin-top:8px; font-size:.95rem; color:var(--ink-soft); background:rgba(254,207,198,.6); padding:8px 10px; border-radius:8px}

.cp-table-wrap{
  overflow:auto; 
  border-radius:16px; 
  background:var(--white);
  margin-top:8px;
}

.cp-table{
  width:100%; 
  border-collapse:separate; 
  border-spacing:0; 
  background:var(--white);
  border: 2px solid var(--rose);
  border-radius:16px;
}

.cp-table thead th{
  background:var(--rose); 
  color:var(--white); 
  text-align:left; 
  padding:20px 18px; 
  font-weight:700;
  font-size:0.95rem;
  letter-spacing:0.3px;
  border:none;
}

.cp-table tbody td{
  padding:18px; 
  border-top:1px solid var(--gray-medium);
  color:var(--ink);
  font-weight:500;
}

.cp-table tbody tr:nth-child(even){
  background:var(--gray-light);
}

.cp-table tbody tr:hover{
  background:rgba(211,91,110,0.05);
  transition: background-color 0.2s ease;
}

.cp-table tbody tr:last-child td:first-child{
  border-bottom-left-radius:16px;
}

.cp-table tbody tr:last-child td:last-child{
  border-bottom-right-radius:16px;
}

.cp-table thead th:first-child{border-top-left-radius:16px}
.cp-table thead th:last-child{border-top-right-radius:16px}

.cp-note{
  margin:16px 0 0; 
  color:var(--white); 
  font-size:1rem; 
  background:var(--rose); 
  border:2px solid var(--rose); 
  padding:16px 18px; 
  border-radius:12px;
  font-weight:600;
  text-align:center;
}

.cp-card{
  background:var(--gray-light); 
  padding:24px; 
  border-radius:16px; 
  border:2px solid var(--rose);
}

.cp-form{
  display:grid; 
  grid-template-columns:1fr 1fr; 
  gap:20px; 
  margin-bottom:24px;
}

.cp-field label{
  display:flex; 
  align-items:center; 
  gap:10px; 
  color:var(--ink); 
  font-weight:700; 
  margin:0 0 8px 2px;
  font-size:1rem;
}

.cp-ico{
  display:inline-flex; 
  color:var(--rose);
}

.cp-select{
  width:100%; 
  padding:14px 16px; 
  border-radius:12px; 
  border:2px solid var(--rose); 
  background:var(--white); 
  color:var(--ink); 
  font-weight:600;
  font-size:1rem;
  transition: all 0.3s ease;
}

.cp-select:focus{
  outline:none;
  border-color:var(--rose);
  box-shadow: 0 0 0 3px rgba(211,91,110,0.2);
}

.cp-result-card{
  background:var(--white); 
  border:2px solid var(--rose); 
  border-radius:16px; 
  padding:24px;
}

.cp-result-label{
  color:var(--ink); 
  opacity:.9; 
  font-weight:700; 
  display:flex; 
  align-items:center; 
  gap:10px;
  font-size:1.1rem;
}

.cp-result-label .cp-ico{
  color:var(--rose);
}

.cp-result-number{
  font-size:2.5rem; 
  font-weight:800; 
  color:var(--rose); 
  margin-top:8px;
}

.cp-result-meta{
  margin-top:8px; 
  color:var(--ink-soft);
  font-size:0.95rem;
  line-height:1.4;
}

/* Enriched meta/explanation styles */
.cp-result-meta .cp-meta-line{font-weight:600; margin-bottom:6px; color:var(--ink)}
.cp-result-meta .cp-expl{background:rgba(254,207,198,.45); border:1px solid rgba(211,91,110,.35); padding:10px 12px; border-radius:10px}

.cp-result-note{
  margin-top:12px; 
  font-size:.95rem; 
  color:var(--white); 
  background:var(--rose); 
  padding:12px 14px; 
  border-radius:10px;
  border:2px solid var(--rose);
  font-weight:600;
  text-align:center;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .cp-wrap {
    padding: 20px 16px;
    margin: 16px auto;
  }
  
  .cp-tabs {
    flex-direction: column;
    gap: 8px;
  }
  
  .cp-tab {
    padding: 14px 18px;
    justify-content: center;
  }
  
  .cp-form {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .cp-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .cp-table {
    min-width: 600px;
    font-size: 0.85rem;
  }
  
  .cp-table thead th {
    padding: 12px 8px;
    font-size: 0.75rem;
    line-height: 1.2;
  }
  
  .cp-table tbody td {
    padding: 12px 8px;
    font-size: 0.85rem;
  }
  
  .cp-result-number {
    font-size: 2rem;
  }
  
  .cp-result-card {
    padding: 20px;
  }
  
  .cp-card {
    padding: 20px;
  }
  
  .cp-title {
    font-size: 1.3rem;
    margin-bottom: 12px;
  }
}

/* Extra small mobile devices */
@media (max-width: 480px) {
  .cp-wrap {
    padding: 16px 12px;
    margin: 12px auto;
  }
  
  .cp-tab {
    padding: 12px 16px;
    font-size: 0.9rem;
  }
  
  .cp-table {
    min-width: 500px;
    font-size: 0.8rem;
  }
  
  .cp-table thead th {
    padding: 10px 6px;
    font-size: 0.7rem;
  }
  
  .cp-table tbody td {
    padding: 10px 6px;
    font-size: 0.8rem;
  }
  
  .cp-result-number {
    font-size: 1.8rem;
  }
  
  .cp-result-label {
    font-size: 1rem;
  }
  
  .cp-title {
    font-size: 1.2rem;
  }
}