/* ====== Simulador Consórcio (Agência Europa) ====== */
.europa-consorcio-wrap{
  --ink:#112233;
  --muted:#4F4F4F;
  --chip-off:#8D97AC;
  --track:#E5E7EB;
  --fill:var(--ink);
  --shadow:0 10px 30px rgba(2,6,23,.06);
  --panel-bg:#fff;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--ink);
}
.europa-consorcio-grid{max-width:1400px;margin:0 auto;padding:40px 0;display:flex;justify-content:space-between;gap:32px;align-items:flex-start}
@media (max-width:980px){.europa-consorcio-grid{flex-direction:column}}
@media (max-width:768px){.europa-consorcio-grid{padding:20px 10px;gap:24px}}

.europa-kicker{font-size:18px;font-weight:400;color:var(--muted);margin:0 0 10px}
.europa-h1{font-family:"Public Sans",Inter,system-ui;font-size:56px;font-weight:600;line-height:1.05;margin:0 0 12px;letter-spacing:-.5px}
.europa-sub{font-size:18px;font-weight:400;color:var(--muted);margin:0 0 34px;max-width:560px;line-height:1.45}
.europa-section-title{font-family:"Public Sans",Inter,system-ui;font-size:16px;font-weight:400;margin:0 0 12px}
@media (max-width:768px){.europa-h1{font-size:32px}}

.europa-chips{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 28px}
.europa-chip{
  display:flex;width:123px;height:44px;padding:10px 12px;align-items:center;gap:4px;
  border-radius:8px;border:1px solid var(--chip-off);background:#fff;
  cursor:pointer;user-select:none;
  font-family:"Public Sans",Inter,system-ui;font-size:14px;font-weight:400;color:var(--chip-off);
}
.europa-chip[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}
.europa-chip img{width:24px;height:24px;display:block}
.europa-chip[aria-pressed="false"] img{filter: grayscale(1) brightness(1.15) contrast(.75);opacity:.85}
.europa-chip[aria-pressed="true"] img{filter: grayscale(1) brightness(.45) contrast(1.2);opacity:1}

.europa-field{margin:26px 0}
.europa-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.europa-label{font-size:14px;font-weight:400;opacity:.9}
.europa-value{font-size:16px;font-weight:600}

.europa-consorcio-wrap input[type="range"]{
  -webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;
  background: linear-gradient(to right, var(--fill) 0%, var(--fill) var(--pct), var(--track) var(--pct), var(--track) 100%);
  outline:none;
}
.europa-consorcio-wrap input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;
  background:#fff;border:2px solid var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.12);cursor:pointer;
}
.europa-consorcio-wrap input[type="range"]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:#fff;border:2px solid var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.12);cursor:pointer;
}
.europa-minmax{display:flex;justify-content:space-between;color:#8D97AC;font-size:11px;margin-top:10px}

.europa-card{
  display:flex;width:488px;padding:24px;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;
  border-radius:16px;border:1px solid rgba(119,136,153,.33);background:var(--panel-bg);box-shadow:var(--shadow);
}
@media (max-width:768px){.europa-card{width:100%}}

.europa-card-top{
  background:#F5F6FD;border-radius:12px;border-bottom:1px solid rgba(119,136,153,.16);
  padding:18px 16px;text-align:center;width:100%;margin-bottom:18px;
}
.europa-card-top small{display:block;font-size:12px;opacity:.75;margin-bottom:10px}
.europa-card-top strong{display:block;font-size:40px;font-weight:700;letter-spacing:-.5px;line-height:1}
.europa-card-top span{display:block;font-size:12px;opacity:.75;margin-top:8px}

.europa-resume{
  width:100%;padding-top:12px;padding-bottom:10px;font-size:14px;display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(119,136,153,.16);margin-bottom:18px;
}
.europa-right{color:#64748B;font-weight:500}

.europa-btn{
  display:flex;height:48px;padding:10px 16px;justify-content:center;align-items:center;gap:8px;align-self:stretch;width:100%;
  border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 100%), #493DD2;
  box-shadow: 0 1px 2px rgba(1,169,224,.50), 0 0 0 1.5px #493DD2;
  color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;
}
.europa-btn:hover{filter:brightness(1.02)}
.europa-btn:disabled{opacity:.7;cursor:not-allowed}

.europa-hint{font-size:12px;color:#64748B;margin-top:12px;text-align:center;line-height:1.35}

.europa-form-header{
  width:100%;background:#F5F6FD;border-radius:12px;border-bottom:1px solid rgba(119,136,153,.16);
  padding:18px 16px;margin-bottom:16px;text-align:left;
}
.europa-form-header small{display:block;font-size:12px;opacity:.75;margin-bottom:8px}
.europa-form-header h3{margin:0 0 8px;font-family:"Public Sans",Inter,system-ui;font-size:22px;font-weight:600}
.europa-form-header p{margin:0;font-size:14px;color:#64748B;line-height:1.35}

.europa-form{width:100%}
.europa-field-group{margin-bottom:14px}
.europa-f-label{display:block;margin:0 0 8px;font-size:12px;color:#64748B}
.europa-f-input{
  width:100%;
  height:52px;
  padding:0 16px;
  border-radius:10px;
  border:1px solid #D0D5DD;
  background:#F2F4F7;
  font-family: Inter, sans-serif;
  font-size:15px;
  color:#1E293B;
  outline:none;
  transition: all .2s ease;
}
.europa-f-input:focus{
  border-color:#493DD2;
  background:#fff;
  box-shadow:0 0 0 3px rgba(73,61,210,0.08);
}
.europa-form-actions{margin-top:18px}
.europa-btn-ghost{
  background:#fff !important;color:#493DD2 !important;border:1px solid rgba(73,61,210,.25) !important;box-shadow:none !important;margin-top:12px;
}

.europa-btn-img{width:18px;height:18px;display:block}

.europa-phone-row{
  display:flex;
  align-items:stretch;
  gap:12px;
}

.europa-consorcio-wrap .europa-phone-ddi{
  flex:0 0 108px;
  width:108px;
  height:52px;
  padding:0 10px;
  border-radius:12px !important;
  border:1px solid #D0D5DD !important;
  background:#F2F4F7 !important;
  font-family: Inter, sans-serif !important;
  font-size:15px !important;
  color:#1E293B !important;
  outline:none;
}

.europa-consorcio-wrap .europa-phone-ddi:focus{
  border-color:#493DD2 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(73,61,210,0.08);
}

.europa-phone-input-plain{
  flex:1 1 auto;
  min-width:0;
}

.europa-required{color:#C4952A}

.europa-field-error{
  display:none;
  margin-top:6px;
  font-size:11.5px;
  color:#C0392B;
}

.europa-field-error.show{display:block}

.europa-f-input.is-error{
  border-color:#C0392B !important;
  box-shadow:none !important;
}

.europa-phone-hint{
  margin-top:6px;
  font-size:11.5px;
  color:#64748B;
  line-height:1.45;
}

.europa-phone-widget{
  position:relative;
  display:flex;
  align-items:stretch;
  width:100%;
  border:1px solid #D0D5DD;
  border-radius:12px;
  background:#F2F4F7;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.europa-phone-widget:focus-within{
  border-color:#493DD2;
  background:#fff;
  box-shadow:0 0 0 3px rgba(73,61,210,0.08);
}

.europa-phone-widget.is-error{
  border-color:#C0392B;
  box-shadow:none;
}

.europa-phone-ddi-btn{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:52px;
  padding:0 10px 0 12px;
  border:none;
  border-right:1px solid #D0D5DD;
  border-radius:12px 0 0 12px;
  background:transparent;
  cursor:pointer;
  flex-shrink:0;
}

.europa-phone-ddi-btn:hover{background:#EDEFF3}

.europa-phone-ddi-flag{font-size:18px;line-height:1}
.europa-phone-ddi-code{font-size:14px;font-weight:500;color:#1E293B}

.europa-phone-ddi-chevron{
  font-size:9px;
  color:#667085;
  transition:transform .2s ease;
}

.europa-phone-ddi-chevron.open{transform:rotate(180deg)}

.europa-phone-input{
  flex:1 1 auto;
  min-width:0;
  height:52px;
  padding:0 14px;
  border:none;
  outline:none;
  background:transparent;
  font-family:Inter,sans-serif;
  font-size:15px;
  color:#1E293B;
  border-radius:0 12px 12px 0;
}

.europa-phone-input::placeholder{color:#98A2B3}

.europa-phone-drop{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  width:100%;
  display:none;
  flex-direction:column;
  max-height:240px;
  overflow:hidden;
  border:1px solid #D0D5DD;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.12);
  z-index:20;
}

.europa-phone-drop.open{display:flex}

.europa-phone-search-wrap{
  padding:10px;
  border-bottom:1px solid #EAECF0;
}

.europa-phone-search{
  width:100%;
  height:40px;
  padding:0 12px;
  border:1px solid #D0D5DD;
  border-radius:8px;
  outline:none;
  font-size:14px;
}

.europa-phone-search:focus{border-color:#493DD2}

.europa-phone-country-list{
  overflow-y:auto;
  max-height:190px;
}

.europa-phone-group-label{
  padding:8px 12px 4px;
  font-size:10.5px;
  font-weight:600;
  color:#667085;
  text-transform:uppercase;
  letter-spacing:.06em;
  background:#F8FAFC;
}

.europa-phone-option{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border:none;
  background:#fff;
  text-align:left;
  cursor:pointer;
}

.europa-phone-option:hover{background:#F8FAFC}
.europa-phone-option.is-selected{background:#EEF2FF}

.europa-phone-option-flag{font-size:18px;line-height:1}
.europa-phone-option-name{flex:1;font-size:13px;color:#1E293B}
.europa-phone-option-code{font-size:12.5px;font-weight:600;color:#667085}

/* Garante que os steps ocupem 100% do card (evita "caixa" encolhida) */
.europa-card [data-role="stepSimulacao"],
.europa-card [data-role="stepForm"]{
  width:100%;
}

/* Reset local para manter o layout igual ao original (evita interferência do tema/Elementor) */
.europa-consorcio-wrap, .europa-consorcio-wrap *{
  box-sizing: border-box;
}
.europa-card-top strong{
  letter-spacing:-.5px;
  line-height:1;
}

/* ===== INPUT COM PREFIXO R$ (visual) ===== */
.europa-input-prefix{
  position:relative;
  display:flex;
  align-items:center;
}
.europa-prefix{
  position:absolute;
  left:16px;
  font-family: Inter, sans-serif;
  font-size:15px;
  font-weight:500;
  color:#667085;
  pointer-events:none;
}
.europa-f-input-money{
  padding-left:46px; /* espaço do R$ */
}

.europa-f-input::placeholder{color:#98A2B3}


/* ===== FIX FINAL CAMPOS ===== */

.europa-consorcio-wrap .europa-f-input{
  width:100%;
  height:52px;
  padding:0 16px;
  border-radius:12px !important;
  border:1px solid #D0D5DD !important;
  background:#F2F4F7 !important;
  font-family: Inter, sans-serif !important;
  font-size:15px !important;
  color:#1E293B !important;
  outline:none;
  transition: all .2s ease;
}

.europa-consorcio-wrap .europa-f-input:focus{
  border-color:#493DD2 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(73,61,210,0.08);
}

.europa-input-prefix{
  position:relative;
}

.europa-prefix{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:15px;
  font-weight:500;
  color:#667085;
  pointer-events:none;
}

.europa-f-input-money{
  padding-left:48px !important;
}

/* Remove setinhas caso navegador force number */
.europa-f-input::-webkit-outer-spin-button,
.europa-f-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.europa-f-input[type=number] {
  -moz-appearance: textfield;
}

@media (max-width:560px){
  .europa-phone-row{
    flex-direction:column;
  }

  .europa-consorcio-wrap .europa-phone-ddi{
    width:100%;
    flex-basis:auto;
  }

  .europa-phone-ddi-btn{
    padding-left:10px;
    padding-right:8px;
  }

  .europa-phone-option{
    padding:10px;
  }
}
