/* FC — Contato Modal */
.fc-modal-backdrop{
  position:fixed; inset:0; z-index:9998;
  background:rgba(28,28,28,.72);
  backdrop-filter:blur(3px);
  opacity:0; visibility:hidden;
  transition:opacity .25s ease;
  display:flex; align-items:center; justify-content:center;
  padding:1rem;
  font-family:'Merriweather',Georgia,serif;
}
.fc-modal-backdrop.open{opacity:1; visibility:visible}
.fc-modal{
  background:#fff; border-radius:10px;
  max-width:560px; width:100%;
  max-height:calc(100vh - 2rem); overflow-y:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  transform:translateY(20px); opacity:0;
  transition:transform .35s ease, opacity .35s ease;
}
.fc-modal-backdrop.open .fc-modal{transform:none; opacity:1}
.fc-modal-head{
  position:relative;
  padding:2rem 2rem 1.25rem;
  text-align:center;
  border-bottom:1px solid #EAEADE;
}
.fc-modal-head::before{
  content:""; display:block;
  width:40px; height:3px; background:#E9A25D;
  margin:0 auto .9rem;
}
.fc-modal-head h2{
  margin:0 0 .4rem;
  font-family:'Merriweather',serif;
  font-weight:400;
  color:#5C5D5C;
  font-size:1.35rem;
  line-height:1.3;
}
.fc-modal-head p{
  margin:0;
  color:#666;
  font-size:.92rem;
  font-weight:300;
}
.fc-modal-close{
  position:absolute; top:12px; right:14px;
  width:32px; height:32px;
  background:transparent; border:0;
  color:#999; font-size:1.5rem; cursor:pointer;
  line-height:1; border-radius:50%;
  transition:background .2s, color .2s;
}
.fc-modal-close:hover{background:#f1f1f1; color:#333}
.fc-modal-body{padding:1.5rem 2rem 2rem}
.fc-form-row{margin-bottom:1rem}
.fc-form-row label{
  display:block;
  font-size:.82rem; font-weight:600;
  color:#5C5D5C;
  margin-bottom:.4rem;
  font-family:Arial,sans-serif;
  letter-spacing:.02em;
}
.fc-form-row label .req{color:#E9A25D}
.fc-form-row input,
.fc-form-row select,
.fc-form-row textarea{
  width:100%;
  padding:.7rem .85rem;
  font-size:.95rem;
  font-family:Arial,sans-serif;
  border:1px solid #d8d8d8;
  border-radius:4px;
  background:#fff;
  color:#333;
  transition:border-color .2s, box-shadow .2s;
  box-sizing:border-box;
}
.fc-form-row input:focus,
.fc-form-row select:focus,
.fc-form-row textarea:focus{
  outline:none;
  border-color:#E9A25D;
  box-shadow:0 0 0 3px rgba(233,162,93,.18);
}
.fc-form-row textarea{resize:vertical; min-height:76px; font-family:Arial,sans-serif}
.fc-form-row.error input, .fc-form-row.error select, .fc-form-row.error textarea{border-color:#c0392b}
.fc-error-msg{color:#c0392b; font-size:.78rem; margin-top:.3rem; font-family:Arial,sans-serif; display:none}
.fc-form-row.error .fc-error-msg{display:block}
.fc-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.fc-consent{
  display:flex; align-items:flex-start; gap:.55rem;
  font-size:.82rem; color:#555;
  font-family:Arial,sans-serif;
  margin:.5rem 0 1.25rem;
  line-height:1.5;
}
.fc-consent input{width:16px; height:16px; margin-top:2px; flex-shrink:0; accent-color:#E9A25D}
.fc-consent a{color:#5C5D5C}
.fc-honeypot{position:absolute; left:-9999px; opacity:0}
.fc-submit{
  width:100%;
  background:#E9A25D;
  color:#fff;
  border:0;
  padding:.95rem 1.5rem;
  font-size:1rem;
  font-weight:700;
  font-family:'Merriweather',serif;
  border-radius:4px;
  cursor:pointer;
  transition:background .2s, transform .1s;
}
.fc-submit:hover{background:#d98a42}
.fc-submit:active{transform:scale(.98)}
.fc-submit:disabled{opacity:.6; cursor:not-allowed}
.fc-success{
  text-align:center;
  padding:1.5rem 0 .5rem;
  font-family:'Merriweather',serif;
}
.fc-success .fc-ok{
  width:64px; height:64px; border-radius:50%;
  background:#E9A25D; color:#fff;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1rem; font-size:2rem;
}
.fc-success h3{color:#5C5D5C; font-weight:400; margin:0 0 .5rem}
.fc-success p{color:#666; margin:0 0 1rem; font-size:.95rem}
@media (max-width:520px){
  .fc-modal-head{padding:1.5rem 1.25rem 1rem}
  .fc-modal-body{padding:1.25rem 1.25rem 1.5rem}
  .fc-form-grid{grid-template-columns:1fr}
  .fc-modal-head h2{font-size:1.15rem}
}
