.ctc-wrap{
  max-width:640px;
  margin:12px auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding-top: 50px;
}
.ctc-toggle{
  display:block;
  width:100%;
  max-width:320px;
  padding:18px 24px;
  border-radius:5px;
  border:0;
  background: #03A9F4;
  color:#fff;
  cursor:pointer;
  font-weight:700;
  font-size:1.2rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  text-align:center;
  box-shadow:0 4px 8px rgba(0,0,0,0.15);
  transition:background 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
  margin:auto;
}
.ctc-toggle:hover{
  background:#03a9f47a;
  transform:translateY(-2px);
  box-shadow:0 6px 12px rgba(0,0,0,0.2);
}
.ctc-toggle:active{
  transform:translateY(0);
  box-shadow:0 3px 6px rgba(0,0,0,0.15);
}
.ctc-panel{
  overflow:hidden;
  max-height:500px;
  transition:max-height .35s ease,opacity .35s ease;
  border:2px solid #ffffff;
  border-radius:10px;
  margin-top:10px;
  padding:12px;
  opacity:1;
  display:inline-block;
  text-align:left;
  background: #03A9F4;
}
.ctc-panel.is-collapsed{
  max-height:0;
  opacity:0;
  padding-top:0;
  padding-bottom:0;
  border-width:0;
}
.ctc-row{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:8px 0;
}
.ctc-call {
    display: inline-block;
    gap: 10px;
    align-items: center;
    padding: 10px 14px;
    border-radius: 8px;
    background: #eef2ff00;
    border: 2px solid #ffffff;
    text-decoration: none;
    width: 250px;
    text-align: center;
    font-weight: 600;
    color: #ffffff;
}
.ctc-call .ctc-phone{font-weight:700}
.ctc-quote{
  display:inline-block;
  padding:8px 12px;
  border-radius:8px;
  background:#eef2ff00;
  border:2px solid #ffffff;
  text-decoration:none;
  width: 250px;
  text-align: center;
  font-weight: 600;
  color: #ffffff;
}
.ctc-privacy-note{
  margin-top:8px;
  font-size:.5em;
  opacity:.8;
  text-align:center;
  color: #ffffff;
}
.ctc-error{color:#b00020}
