/* WUC Enterprise Quote Form v2 */

/* CF7 Reset */
.sm-cta-form .wpcf7 { margin:0; padding:0; }
.sm-cta-form .wpcf7-form { margin:0; }
.sm-cta-form .wpcf7-form-control-wrap { display:block; }
.sm-cta-form .wpcf7-not-valid-tip { font-size:12px; color:#ef4444; margin-top:4px; font-weight:500; }
.sm-cta-form .wpcf7-response-output { display:none !important; }

/* Form rows */
.wuc-quote-form .wuc-form-row { margin-bottom:18px; }
.wuc-quote-form .wuc-form-row--half { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Labels */
.wuc-quote-form label { display:block; font-size:13px; font-weight:600; color:#334155; margin-bottom:6px; letter-spacing:0.01em; }
.wuc-quote-form .wuc-required { color:#ef4444; margin-left:2px; }

/* Inputs */
.wuc-quote-form input[type="text"],
.wuc-quote-form input[type="email"],
.wuc-quote-form input[type="tel"],
.wuc-quote-form select,
.wuc-quote-form textarea {
	  width:100%; height:50px; padding:14px 16px;
	  border:1.5px solid #e2e8f0; border-radius:10px;
	  font-size:14px; font-family:Inter,system-ui,-apple-system,sans-serif;
	  color:#0f172a; background:#f8fafc;
	  transition:all 0.2s ease; outline:none; box-sizing:border-box;
	  -webkit-appearance:none;
}
.wuc-quote-form textarea { height:auto; min-height:100px; resize:vertical; line-height:1.6; }
.wuc-quote-form select {
	  cursor:pointer;
	  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	  background-repeat:no-repeat; background-position:right 16px center; padding-right:40px;
}
.wuc-quote-form input::placeholder, .wuc-quote-form textarea::placeholder { color:#94a3b8; font-weight:400; }

/* Focus */
.wuc-quote-form input:focus, .wuc-quote-form select:focus, .wuc-quote-form textarea:focus {
	  border-color:#0070e0; background:#fff; box-shadow:0 0 0 3px rgba(0,112,224,0.08);
}

/* Submit */
.wuc-quote-form .wuc-submit-btn {
	  display:block; width:100%; height:54px; padding:0 24px;
	  background:linear-gradient(135deg,#0070e0 0%,#005bb5 100%);
	  color:#fff; font-size:16px; font-weight:700;
	  font-family:Inter,system-ui,-apple-system,sans-serif;
	  border:none; border-radius:12px; cursor:pointer;
	  transition:all 0.25s ease; letter-spacing:0.01em;
}
.wuc-quote-form .wuc-submit-btn:hover {
	  background:linear-gradient(135deg,#005bb5 0%,#004a99 100%);
	  transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,112,224,0.35);
}
.wuc-quote-form .wuc-submit-btn:active { transform:translateY(0); }
.wuc-quote-form .wuc-submit-btn.is-submitting { pointer-events:none; opacity:0.85; }
.wuc-quote-form .wuc-submit-btn.is-submitting::after {
	  content:""; display:inline-block; width:18px; height:18px;
	  border:2.5px solid rgba(255,255,255,0.3); border-top-color:#fff;
	  border-radius:50%; animation:wucSpin 0.6s linear infinite;
	  margin-left:10px; vertical-align:middle;
}
@keyframes wucSpin { to { transform:rotate(360deg); } }

/* Trust line */
.wuc-form-trust {
	  display:flex; align-items:center; justify-content:center; gap:8px;
	  margin-top:18px; font-size:12px; color:#94a3b8;
}
.wuc-form-trust svg { flex-shrink:0; }

/* Success state */
.wuc-form-success { text-align:center; padding:48px 24px; animation:wucFadeIn 0.4s ease; }
.wuc-form-success .wuc-success-icon {
	  width:64px; height:64px;
	  background:linear-gradient(135deg,#10b981 0%,#059669 100%);
	  border-radius:50%; display:flex; align-items:center; justify-content:center;
	  margin:0 auto 20px; animation:wucPop 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
}
.wuc-form-success h4 { font-size:20px; font-weight:700; color:#0f172a; margin:0 0 8px; }
.wuc-form-success p { font-size:14px; color:#64748b; line-height:1.6; margin:0; }
@keyframes wucFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes wucPop { 0%{transform:scale(0)} 100%{transform:scale(1)} }

/* Responsive */
@media(max-width:768px){
	.sm-cta-form{padding:28px 20px 24px;}
	.wuc-quote-form .wuc-form-row--half{grid-template-columns:1fr;gap:0;}
}
@media(max-width:480px){
	  .wuc-quote-form input[type="text"],.wuc-quote-form input[type="email"],
	  .wuc-quote-form input[type="tel"],.wuc-quote-form select,
	.wuc-quote-form textarea{font-size:16px;}
}
}
}
}
}
}
}
}
}
}
}

/* === Label Color Fix (inside white form card) === */
.sm-cta-form .wpcf7 label,
.sm-cta-form label {
  color: #334155 !important;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
}

/* Fix CF7 form-row grid */
.sm-cta-form .wpcf7 .wuc-form-row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.sm-cta-form .wpcf7 .wuc-form-row {
  margin-bottom: 16px;
}

/* Input styling overrides for CF7 */
.sm-cta-form .wpcf7 input[type="text"],
.sm-cta-form .wpcf7 input[type="email"],
.sm-cta-form .wpcf7 input[type="tel"],
.sm-cta-form .wpcf7 select,
.sm-cta-form .wpcf7 textarea {
  width: 100%;
  height: 50px;
  padding: 0 16px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 15px;
  color: #1e293b;
  background: #f8fafc;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.sm-cta-form .wpcf7 textarea {
  height: 120px;
  padding: 14px 16px;
  resize: vertical;
}

.sm-cta-form .wpcf7 input:focus,
.sm-cta-form .wpcf7 select:focus,
.sm-cta-form .wpcf7 textarea:focus {
  border-color: #0070e0;
  box-shadow: 0 0 0 3px rgba(0,112,224,0.1);
  outline: none;
  background: #fff;
}

/* Submit button */
.sm-cta-form .wpcf7 .wuc-submit-btn {
  width: 100%;
  height: 56px;
  background: linear-gradient(135deg, #0070e0, #0058b4);
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  letter-spacing: 0.3px;
  margin-top: 8px;
}

.sm-cta-form .wpcf7 .wuc-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,112,224,0.35);
}

/* Trust line color */
.sm-cta-form .wuc-form-trust {
  color: #94a3b8 !important;
}

/* Responsive */
@media (max-width: 600px) {
  .sm-cta-form .wpcf7 .wuc-form-row {
    grid-template-columns: 1fr;
  }
}

/* === Override inherited colors for form elements on all pages === */
.sm-cta-form p,
.sm-cta-form label,
.sm-cta-form .wpcf7-list-item-label,
.sm-section-dark .sm-cta-form p,
.sm-section-dark .sm-cta-form label,
.sm-section-dark .sm-cta-form .wpcf7-list-item-label,
.wuc-form-card.sm-cta-form p,
.wuc-form-card.sm-cta-form label {
    color: #334155 !important;
}
.sm-cta-form a,
.sm-cta-form .wpcf7-acceptance a,
.sm-section-dark .sm-cta-form a,
.wuc-form-card.sm-cta-form a {
    color: #2563eb !important;
}

body.sm-cta-form .wpcf7-form label {
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Fix required asterisk inside label */
.sm-cta-form label .required,
.sm-cta-form .wpcf7-form .required {
  color: #ef4444 !important;
}

/* Ensure form subtitle stays muted */
.sm-cta-form .sm-form-sub {
  color: #94a3b8 !important;
}

/* Ensure h3 heading is dark */
.sm-cta-form h3 {
  color: #0f172a !important;
}

/* === Success State === */
.wuc-success-state {
  text-align: center;
  padding: 20px 0;
  animation: wucFadeIn 0.5s ease;
}

@keyframes wucFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.wuc-success-icon {
  margin-bottom: 16px;
}

.wuc-success-icon svg {
  width: 56px;
  height: 56px;
  animation: wucCheckPop 0.4s ease 0.2s both;
}

@keyframes wucCheckPop {
  from { transform: scale(0.5); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.wuc-success-title {
  color: #0f172a !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  display: block !important;
}

.wuc-success-text {
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 24px !important;
}

.wuc-success-summary {
  text-align: left;
  background: #f8fafc;
  border-left: 4px solid #2563eb;
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin: 0 0 24px;
}

.wuc-success-summary h4 {
  color: #1e293b !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
}

.wuc-success-summary p {
  color: #374151 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin: 0 0 4px !important;
}

.wuc-success-next {
  text-align: left;
  margin: 0 0 24px;
}

.wuc-success-next h4 {
  color: #1e293b !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
}

.wuc-success-next ul {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
}

.wuc-success-next li {
  color: #374151 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin-bottom: 4px;
}

.wuc-success-contact {
  color: #475569 !important;
  font-size: 14px !important;
  margin: 0 !important;
  padding-top: 16px;
  border-top: 1px solid #e2e8f0;
}

.wuc-success-contact a {
  color: #2563eb !important;
  text-decoration: none;
}

/* === Privacy / Acceptance Checkbox === */
.sm-cta-form .wuc-privacy-row {
  margin-bottom: 16px;
}

.sm-cta-form .wpcf7-acceptance {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.sm-cta-form .wpcf7-acceptance input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: #0070e0;
  cursor: pointer;
}

.sm-cta-form .wpcf7-acceptance .wpcf7-list-item-label {
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.sm-cta-form .wpcf7-acceptance a {
  color: #2563eb !important;
  text-decoration: underline;
}

.sm-cta-form .wpcf7-acceptance a:hover {
  color: #1d4ed8 !important;
}