/**
 * SEO Lead Audit - formulaire et rapport public
 * Variables CSS personnalisables via le branding admin.
 */
.wpsla-form-wrap{
  --wpsla-color: #1e6091;
  --wpsla-accent: #f59e0b;
  --wpsla-border: #e5e7eb;
  --wpsla-bg: #ffffff;
  --wpsla-text: #1f2937;
  --wpsla-muted: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--wpsla-text);
  line-height: 1.5;
  max-width: 640px;
  margin: 20px 0;
  position: relative;
  box-sizing: border-box;
}
.wpsla-form-wrap *,
.wpsla-form-wrap *::before,
.wpsla-form-wrap *::after{ box-sizing: border-box; }

.wpsla-form-wrap.wpsla-style-boxed{
  background: var(--wpsla-bg);
  border: 1px solid var(--wpsla-border);
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.wpsla-form-header{ margin-bottom: 20px; text-align: left; }
.wpsla-form-title{ margin: 0 0 8px; font-size: 22px; font-weight: 600; color: var(--wpsla-color); }
.wpsla-form-subtitle{ margin: 0; color: var(--wpsla-muted); font-size: 15px; }

.wpsla-form-body{ display: flex; flex-direction: column; gap: 15px; }
.wpsla-form-row{ display: flex; flex-direction: column; gap: 6px; }
.wpsla-label{ font-size: 14px; font-weight: 500; color: var(--wpsla-text); }
.wpsla-input{
  width: 100%; padding: 12px 14px; font-size: 15px;
  border: 1px solid var(--wpsla-border); border-radius: 6px;
  background: #fff; color: var(--wpsla-text);
  transition: border-color 0.15s, box-shadow 0.15s;
  font-family: inherit;
}
.wpsla-input:focus{
  outline: none; border-color: var(--wpsla-color);
  box-shadow: 0 0 0 3px rgba(30, 96, 145, 0.12);
}
.wpsla-form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 540px) { .wpsla-form-grid{ grid-template-columns: 1fr; } }

.wpsla-checkbox{ display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--wpsla-muted); cursor: pointer; line-height: 1.4; }
.wpsla-checkbox input{ margin-top: 3px; }
.wpsla-rgpd-row{ margin-top: 5px; }

.wpsla-submit-btn{
  background: var(--wpsla-color); color: #fff; border: none;
  padding: 14px 28px; font-size: 16px; font-weight: 600; border-radius: 6px;
  cursor: pointer; transition: filter 0.15s; display: inline-flex; align-items: center; gap: 8px;
  font-family: inherit;
}
.wpsla-submit-btn:hover{ filter: brightness(1.1); }
.wpsla-submit-btn:disabled{ opacity: 0.7; cursor: not-allowed; }
.wpsla-spin{ animation: wpsla-spin 1s linear infinite; }
@keyframes wpsla-spin{ to { transform: rotate(360deg); } }

.wpsla-form-message{
  padding: 14px 16px; border-radius: 6px; margin-top: 10px;
  font-size: 14px; line-height: 1.5;
}
.wpsla-form-message.success{ background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.wpsla-form-message.error{ background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }

.wpsla-form-progress{ margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--wpsla-border); }
.wpsla-progress-bar{ width: 100%; height: 6px; background: var(--wpsla-border); border-radius: 3px; overflow: hidden; }
.wpsla-progress-fill{ height: 100%; background: var(--wpsla-color); width: 0%; transition: width 0.5s ease; }
.wpsla-progress-text{ margin: 12px 0 15px; font-size: 14px; color: var(--wpsla-muted); }
.wpsla-progress-steps{ list-style: none; padding: 0; margin: 0; }
.wpsla-progress-steps li{
  padding: 8px 0 8px 30px; position: relative;
  color: var(--wpsla-muted); font-size: 14px;
}
.wpsla-progress-steps li::before{ content: '○'; position: absolute; left: 0; top: 8px; }
.wpsla-progress-steps li.done{ color: #16a34a; }
.wpsla-progress-steps li.done::before{ content: '✓'; }
.wpsla-progress-steps li.active{ color: var(--wpsla-color); font-weight: 600; }
.wpsla-progress-steps li.active::before{ content: '●'; }

/* Layout compact : une ligne, url + email + bouton */
.wpsla-layout-compact .wpsla-form-body{
  flex-direction: row; flex-wrap: wrap; gap: 10px; align-items: flex-end;
}
.wpsla-layout-compact .wpsla-form-row{ flex: 1 1 200px; }
.wpsla-layout-compact .wpsla-form-grid,
.wpsla-layout-compact .wpsla-rgpd-row{ flex-basis: 100%; }
