.fsp-wrap{display:flex;width:100%;box-sizing:border-box}
.fsp-wrap *{box-sizing:border-box}
.fsp-align-left{justify-content:flex-start}
.fsp-align-center{justify-content:center}
.fsp-align-right{justify-content:flex-end}
.fsp-form{width:100%;max-width:var(--fsp-max,640px);font-family:inherit}
.fsp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Shared fields */
.fsp-form input[type=text],.fsp-form input[type=email],.fsp-form input[type=tel],.fsp-form textarea{
  width:100%;margin:0;padding:15px 18px;font-size:16px;line-height:1.4;font-family:inherit;
  background:var(--fsp-in-bg,#fff);color:var(--fsp-in-text,#222);
  border:1px solid var(--fsp-in-border,#ddd);border-radius:var(--fsp-radius,0);
  box-shadow:none;outline:0;transition:border-color .2s,box-shadow .2s}
.fsp-form input::placeholder,.fsp-form textarea::placeholder{color:#8a8f98;opacity:1}
.fsp-form input:focus,.fsp-form textarea:focus{border-color:var(--fsp-btn,#ff7300);box-shadow:0 0 0 3px color-mix(in srgb,var(--fsp-btn,#ff7300) 25%,transparent)}
.fsp-form button[type=submit]{
  cursor:pointer;margin:0;padding:15px 36px;font-size:16px;font-weight:700;line-height:1.4;font-family:inherit;
  background:var(--fsp-btn,#ff7300);color:var(--fsp-btn-text,#fff);border:0;border-radius:var(--fsp-radius,0);
  transition:background .2s,transform .1s,box-shadow .2s;white-space:nowrap}
.fsp-form button[type=submit]:hover{background:var(--fsp-btn-hover,#e06500);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.fsp-form button[type=submit]:active{transform:translateY(1px)}
.fsp-form button[disabled]{opacity:.65;cursor:progress}

/* Newsletter */
.fsp-news .fsp-row{display:flex;gap:16px;align-items:stretch}
.fsp-news .fsp-row input{flex:1 1 auto;min-width:0}
.fsp-news.fsp-btn-left .fsp-row{flex-direction:row-reverse}
.fsp-news.fsp-btn-below .fsp-row{flex-direction:column}
.fsp-news.fsp-btn-below button{width:100%}

/* Contact */
.fsp-title{margin:0 0 18px;color:var(--fsp-label,#222);font-size:1.5em}
.fsp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fsp-grid p{margin:0}
.fsp-grid .fsp-full{grid-column:1/-1}
.fsp-grid label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--fsp-label,#222)}
.fsp-grid textarea{resize:vertical;min-height:130px}
.fsp-actions{margin-top:18px;display:flex}
.fsp-bt-left .fsp-actions{justify-content:flex-start}
.fsp-bt-center .fsp-actions{justify-content:center}
.fsp-bt-right .fsp-actions{justify-content:flex-end}
.fsp-bt-full .fsp-actions button{width:100%}

/* Messages */
.fsp-msg{margin-top:12px;font-size:15px;min-height:0}
.fsp-msg.fsp-ok,.fsp-msg.fsp-err{padding:10px 14px;border-radius:var(--fsp-radius,4px);font-weight:600}
.fsp-msg.fsp-ok{background:#e6f6ea;color:#14602b}
.fsp-msg.fsp-err{background:#fdeaea;color:#a11d1d}

/* Responsive */
@media(max-width:600px){
  .fsp-news:not(.fsp-btn-below) .fsp-row{flex-direction:column}
  .fsp-news button{width:100%}
  .fsp-grid{grid-template-columns:1fr}
}
