.eq-wrapper {
  font-family: 'Segoe UI', Roboto, sans-serif;
  background: #f4f7f9;
  padding: 30px;
  border-radius: 15px;
  /* Thème (valeurs par défaut, surchargées en inline via le shortcode) */
  --eq-text: #444444;
  --eq-primary: #0A66C2;
  --eq-btn: #0A66C2;
  --eq-btn-text: #ffffff;
  --eq-checkbox: #0A66C2;
  --eq-range: #0A66C2;
  color: var(--eq-text);
}
.eq-grid { display: grid; grid-template-columns: 350px 1fr; gap: 25px; }
@media (max-width: 900px) { .eq-grid { grid-template-columns: 1fr; } }

.eq-card { background: #fff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); margin-bottom: 20px; }
.eq-title { color: var(--eq-primary); margin-top: 0; font-size: 20px; border-bottom: 2px solid #eee; padding-bottom: 10px; }

/* Tooltip "?" */
.eq-tip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,0.25);
  font-size:12px;
  line-height:1;
  margin-left:6px;
  color:var(--eq-primary);
  cursor:help;
  user-select:none;
}

.eq-field { margin-bottom: 20px; }
.eq-field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 8px; color: var(--eq-text); }
.eq-field input[type="number"], .eq-field select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }

.eq-tri-labels { display: flex; justify-content: space-between; font-size: 10px; color: #999; margin-top: 5px; }
.eq-btn { width: 100%; padding: 15px; background: var(--eq-btn); color: var(--eq-btn-text); border: none; border-radius: 8px; font-weight: bold; cursor: pointer; transition: 0.2s; position: relative; overflow: hidden; isolation: isolate; }
.eq-btn > span { position: relative; z-index: 2; }
.eq-btn::after { content:""; position:absolute; inset:0; background: var(--eq-btn-overlay); opacity:0; transition:0.2s; z-index:1; pointer-events:none; }
.eq-btn:hover::after { opacity:0.18; }
/* Overlay au survol, piloté via --eq-btn-overlay */
.eq-btn { position: relative; overflow: hidden; }
.eq-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--eq-btn-overlay, rgba(0,0,0,0.12));
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.eq-btn:hover::after { opacity: 0.18; }

/* Compliance */
.eq-compliance {
  margin-top: 12px;
  line-height: 1.35;
  white-space: pre-wrap;
}

/* Checkboxes */
.eq-wrapper input[type="checkbox"] { accent-color: var(--eq-checkbox); }

/* Range slider (barre échelle) */
.eq-wrapper input[type="range"].eq-range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #d1d5db; /* fallback, sera surchargé en inline via JS (gradient) */
  outline: none;
}
.eq-wrapper input[type="range"].eq-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--eq-range);
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  cursor: pointer;
}
.eq-wrapper input[type="range"].eq-range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--eq-range);
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  cursor: pointer;
}
.eq-wrapper input[type="range"].eq-range::-moz-range-track {
  height: 6px;
  border-radius: 999px;
  background: #d1d5db;
}

.eq-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 20px; }
.eq-stat { background: #fff; padding: 15px; border-radius: 10px; text-align: center; border: 1px solid #eef2f6; }
.eq-label { display: block; font-size: 11px; color: #777; text-transform: uppercase; }
.eq-val { font-size: 20px; font-weight: bold; color: var(--eq-primary); }
.eq-green { color: #27ae60; }

.eq-credit-section { background: #f9fafb; padding: 15px; border-radius: 8px; margin-bottom: 20px; }
.eq-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }

/* Responsive */
@media (max-width: 600px) {
  .eq-wrapper { padding: 16px; border-radius: 12px; }
  .eq-card { padding: 16px; }
  .eq-summary { grid-template-columns: 1fr; }
  .eq-mini-grid { grid-template-columns: 1fr; }
  .eq-title { font-size: 18px; }
}

.eq-lead-block { width: 100%; }
.eq-lead-inner { border: 1px solid #eee; border-radius: 10px; padding: 14px; }
.eq-lead-form { display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.eq-lead-name{ display:flex; gap:10px; align-items:center; }
.eq-lead-name input[type="text"]{ flex:1; padding:10px; border:1px solid #ddd; border-radius:8px; min-width:0; }
.eq-lead-emailrow{ display:flex; gap:10px; align-items:center; }
.eq-lead-emailrow input[type="email"]{ flex:1; padding:10px; border:1px solid #ddd; border-radius:8px; min-width:0; }
.eq-lead-form .eq-btn{ width:auto; padding: 12px 18px; border-radius: 10px; }
@media (max-width: 520px){
  .eq-lead-name{ flex-direction:column; align-items:stretch; }
  .eq-lead-emailrow{ flex-direction:column; align-items:stretch; }
  .eq-lead-form .eq-btn{ width:100%; }
}

/* Small UI helpers */
.eq-divider{
  height:1px;
  background:rgba(0,0,0,0.08);
  margin:14px 0;
}

.eq-btn.eq-btn-small{
  padding:8px 12px;
  font-size:13px;
  border-radius:12px;
}


/* --- Immobilier (cartes premium) --- */
.eq-rents-results { margin-top: 14px; }
.eq-properties { margin-top: 14px; }
.eq-props-title{
  font-weight: 800;
  letter-spacing: .2px;
  margin-bottom: 10px;
  color: var(--eq-primary);
}
.eq-props-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}
.eq-prop-card{
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  border-radius: 16px;
  padding: 12px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}
.eq-prop-img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 12px;
  display:block;
  margin-bottom: 10px;
}
.eq-prop-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 6px;
}
.eq-prop-type{
  font-weight: 900;
  font-size: 14px;
}
.eq-prop-badge{
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(10,102,194,.08);
  color: var(--eq-primary);
  font-weight: 700;
  white-space: nowrap;
}
.eq-prop-meta{
  font-size: 13px;
  opacity: .9;
  line-height: 1.35;
  margin-top: 4px;
}

/* SCPI card */
.eq-scpi-card{
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(180deg, rgba(10,102,194,.06), rgba(0,0,0,0));
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.04);
  margin-bottom: 12px;
}
.eq-scpi-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.eq-scpi-title{ font-weight: 900; }
.eq-scpi-rate{ font-size:12px; opacity:.8; }
.eq-scpi-sub{ font-size:12px; opacity:.75; margin-top:6px; line-height:1.35; }

/* --- Sélection immobilier (front) --- */
.eq-re-type{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
}
.eq-re-type--active{
  border-color: var(--eq-primary);
  box-shadow: 0 0 0 3px rgba(10,102,194,.12);
}
.eq-re-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.eq-re-card{
  text-align:left;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:16px;
  padding:10px;
  cursor:pointer;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}
.eq-re-card--active{
  border-color: var(--eq-primary);
  box-shadow: 0 0 0 3px rgba(10,102,194,.12), 0 10px 26px rgba(0,0,0,.05);
}
.eq-re-img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:12px;
  display:block;
  margin-bottom:10px;
}
.eq-re-name{
  font-weight:900;
  margin-bottom:6px;
}
.eq-re-meta{
  font-size:12px;
  opacity:.8;
  margin:2px 0;
}
