/* static/css/sales_copy_prompt_tool.css */

.scp-panel{
  position:relative;
  margin:2.5rem 0;
  padding:2.5rem;
  background:linear-gradient(180deg,#fff3ec 0%,#fffaf7 100%);
  border:.0625rem solid #f6d9c4;
  border-radius:1.5rem;
  box-shadow:0 .75rem 2.5rem rgba(0,0,0,.08);
}

.scp-head{
  text-align:center;
  margin:0 0 2rem;
}

.scp-badge{
  display:inline-block;
  width:fit-content;
  margin:0 auto .8rem;
  padding:.6rem 2rem;
  border-radius:999rem;
  background:#e0692c;
  color:#fff;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:0 0 0 0 rgba(224,105,44,.45);
  animation:scp-badge-pulse 2.2s ease-out infinite;
}

@keyframes scp-badge-pulse{
  0%{ box-shadow:0 0 0 0 rgba(224,105,44,.45); }
  70%{ box-shadow:0 0 0 .55rem rgba(224,105,44,0); }
  100%{ box-shadow:0 0 0 0 rgba(224,105,44,0); }
}

h3.scp-headline{
  display:block;
  background:none;
  margin:.7rem auto 0;
  padding:0;
  max-width:34rem;
  color:#12233f;
  font-size:1.24rem;
  font-weight:800;
  line-height:1.6;
  letter-spacing:.01em;
}

.scp-headline__mark{
  color:#e0692c;
  white-space:nowrap;
}

.scp-lead{
  margin:.6rem auto 0;
  max-width:32rem;
  color:#6b7280;
  font-size:.9rem;
  line-height:1.9;
}

.scp-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem 1.25rem;
  margin-bottom:1.5rem;
}

.scp-field{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.scp-field--wide{
  grid-column:1 / -1;
}

.scp-dual-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem 1.25rem;
}

@media (min-width:48rem){

  .scp-dual-grid{
    grid-template-columns:1fr 1fr;
  }

}

.scp-field label,
.scp-field__label{
  color:#1f2937;
  font-size:.85rem;
  font-weight:700;
}

.scp-field select,
.scp-field input[type="text"]{
  width:100%;
  padding:.65rem .75rem;
  background:#fff;
  border:.0625rem solid #f0ddce;
  border-radius:.75rem;
  color:#1f2937;
  font-size:.95rem;
  box-sizing:border-box;
}

.scp-tag-field{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}

.scp-tag-input-row{
  display:flex;
  gap:.5rem;
}

.scp-tag-input-row input[type="text"]{
  flex:1 1 auto;
  min-width:0;
}

.scp-tag-add{
  flex:0 0 auto;
  padding:0 1.1rem;
  background:#e0692c;
  border:none;
  border-radius:.75rem;
  color:#fff;
  font-size:.9rem;
  font-weight:700;
  cursor:pointer;
  transition:opacity .2s ease;
}

.scp-tag-add:hover{
  opacity:.9;
}

.scp-tag-add:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.scp-field-note{
  display:block;
  margin-top:-.15rem;
  color:#6b7280;
  font-size:.78rem;
  line-height:1.5;
}

.scp-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.6rem;
}

.scp-tags:empty{
  display:none;
}

.scp-tag{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.4rem .5rem .4rem .85rem;
  background:#fff3ec;
  border:.0625rem solid #f2c9a8;
  border-radius:999rem;
  color:#1f2937;
  font-size:.85rem;
  font-weight:600;
}

.scp-tag__remove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.25rem;
  height:1.25rem;
  background:#fff;
  border:none;
  border-radius:999rem;
  color:#e0692c;
  font-size:.85rem;
  line-height:1;
  cursor:pointer;
}

.scp-tag__remove:hover{
  background:#f6d9c4;
}

.scp-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.scp-chip{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:.45rem .9rem;
  background:#fffaf7;
  border:.0625rem solid #f0ddce;
  border-radius:999rem;
  color:#1f2937;
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.scp-chip input{
  position:absolute;
  width:.0625rem;
  height:.0625rem;
  opacity:0;
  pointer-events:none;
}

.scp-chip:hover{
  border-color:#f2c9a8;
}

.scp-chip.is-checked{
  background:#e0692c;
  border-color:#e0692c;
  color:#fff;
}

.scp-button-wrap{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}

.scp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20rem;
  padding:.95rem 1.8rem;
  border:none;
  border-radius:999rem;
  background:#e0692c;
  color:#fff;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
  box-shadow:0 .625rem 1.125rem rgba(224,105,44,.25);
  transition:transform .2s ease,opacity .2s ease;
}

.scp-button:hover{
  transform:translateY(-.0625rem);
  opacity:.98;
}

.scp-notice{
  margin:1rem 0 0;
  color:#6b7280;
  font-size:.85rem;
  line-height:1.7;
  text-align:center;
}

.scp-error{
  margin-top:1.5rem;
  padding:1rem 1.25rem;
  background:#fef2f2;
  border:.0625rem solid #fecaca;
  border-radius:.75rem;
  color:#b91c1c;
  font-size:.95rem;
  line-height:1.7;
}

.scp-result{
  position:relative;
  margin-top:2.5rem;
  padding:2rem 1.5rem 1.5rem;
  background:#fff;
  border:.125rem dashed #f0b385;
  border-radius:1.35rem;
  box-shadow:0 .5rem 1.25rem rgba(30,41,59,.05);
}

.scp-result__badge{
  position:absolute;
  top:-.85rem;
  left:1.5rem;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.3rem .85rem;
  background:#e0692c;
  color:#fff;
  border-radius:999rem;
  font-size:.75rem;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 .25rem .625rem rgba(224,105,44,.3);
}

.scp-textarea{
  width:100%;
  padding:1rem 1.1rem;
  background:#fffaf7;
  border:.0625rem solid #f0ddce;
  border-radius:.9rem;
  color:#1f2937;
  font-size:.85rem;
  line-height:1.8;
  font-family:inherit;
  resize:vertical;
  box-sizing:border-box;
}

.scp-result-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  margin-top:1.25rem;
}

.scp-copy-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin:0;
  padding:.6rem 1.4rem;
  background:#e0692c;
  border:.0625rem solid #e0692c;
  border-radius:999rem;
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:opacity .2s ease;
}

.scp-copy-btn:hover{
  opacity:.9;
}

.scp-restart{
  display:block;
  margin:0;
  padding:.6rem 1.4rem;
  background:transparent;
  border:.0625rem solid #e0692c;
  border-radius:999rem;
  color:#e0692c;
  font-weight:700;
  cursor:pointer;
}

.scp-result-hint{
  margin:.75rem 0 0;
  text-align:center;
  color:#1c9c5f;
  font-size:.85rem;
  font-weight:700;
  min-height:1.2em;
}

@media (max-width:48rem){

  .scp-panel{
    padding:1.25rem;
  }

  .scp-grid{
    grid-template-columns:1fr;
  }

  .scp-button{
    width:100%;
    min-width:auto;
  }

  .scp-result{
    padding:1.75rem 1rem 1rem;
  }

}
