/* EDM Turnover Calculator v1.2
   Colori volutamente neutrali: il CSS globale EDM può sovrascriverli. */

.edm-turnover-wrap{
  --edm-navy:#0b2545;
  --edm-text:#20344f;
  --edm-muted:#64748b;
  --edm-border:#d9e2ec;
  --edm-soft:#f5f8fc;
  --edm-white:#fff;

  max-width:1180px;
  margin:0 auto;
  color:var(--edm-text);
  font-family:inherit;
}

.edm-turnover-wrap *{box-sizing:border-box;}

.edm-turnover-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:34px;
  align-items:start;
}

.edm-kicker{
  margin:0 0 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--edm-navy);
}

.edm-title{
  margin:0;
  font-size:clamp(34px,4vw,58px);
  line-height:1.04;
  letter-spacing:-.035em;
  color:var(--edm-text);
}

.edm-intro{
  max-width:680px;
  margin:18px 0 28px;
  font-size:18px;
  line-height:1.6;
  color:var(--edm-muted);
}

.edm-form{
  display:grid;
  gap:17px;
}

.edm-field label{
  display:block;
  margin:0 0 7px;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}

.edm-field input,
.edm-field select{
  width:100%;
  min-height:48px;
  padding:0 14px;
  border:1px solid var(--edm-border);
  border-radius:10px;
  background:#fff;
  color:var(--edm-text);
  font:inherit;
  font-size:16px;
  outline:none;
}

.edm-field input:focus,
.edm-field select:focus{
  border-color:var(--edm-navy);
  box-shadow:0 0 0 3px rgba(11,37,69,.09);
}

.edm-money{position:relative;}
.edm-money span{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--edm-muted);
  pointer-events:none;
}
.edm-money input{padding-left:34px;}

.edm-tenure-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px;
  gap:12px;
}

.edm-calc-button{
  width:100%;
  min-height:50px;
  padding:0 22px;
  border:1px solid var(--edm-navy);
  border-radius:10px;
  background:var(--edm-navy);
  color:#fff;
  font:inherit;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}

.edm-error{
  display:none;
  margin:0;
  color:#8b1e1e;
  font-size:13px;
  font-weight:700;
}

.edm-result-card{
  min-height:430px;
  padding:34px;
  border:1px solid var(--edm-border);
  border-radius:18px;
  background:var(--edm-soft);
}

.edm-result-placeholder{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--edm-muted);
  font-size:17px;
  line-height:1.55;
}

.edm-result-content{display:none;}

.edm-result-eyebrow{
  margin:0 0 9px;
  color:var(--edm-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.edm-result-number{
  margin:0;
  color:var(--edm-navy);
  font-size:clamp(42px,5vw,68px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:800;
}

.edm-result-summary{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-top:14px;
}

.edm-result-summary p{margin:0;}

.edm-result-ratio{
  color:var(--edm-text);
  font-size:17px;
  font-weight:700;
}

.edm-result-copy{
  margin-top:5px !important;
  color:var(--edm-muted);
  font-size:14px;
  line-height:1.55;
}

.edm-result-sources{
  margin-top:5px !important;
  color:#3f5268;
  font-size:12px;
  line-height:1.5;
}

.edm-result-model{
  color:var(--edm-muted);
  font-size:11px;
  line-height:1.5;
}

.edm-detail-button{
  min-height:42px;
  margin-top:7px;
  padding:0 15px;
  border:1px solid var(--edm-border);
  border-radius:9px;
  background:#fff;
  color:var(--edm-text);
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.edm-details{
  display:none;
  margin-top:14px;
  padding:17px;
  border:1px solid var(--edm-border);
  border-radius:12px;
  background:#fff;
}

.edm-details.is-open{display:block;}

.edm-details-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 18px;
  font-size:14px;
  line-height:1.45;
}

.edm-details-note{
  margin:13px 0 0;
  color:var(--edm-muted);
  font-size:12px;
  line-height:1.55;
}

.edm-after{
  display:none;
  margin-top:25px;
  padding-top:24px;
  border-top:1px solid var(--edm-border);
}

.edm-after h3{
  margin:0;
  color:var(--edm-text);
  font-size:22px;
  line-height:1.25;
}

.edm-after > p{
  margin:9px 0 0;
  color:var(--edm-muted);
  font-size:14px;
  line-height:1.6;
}

.edm-paths{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}

.edm-path{
  display:flex;
  flex-direction:column;
  padding:18px;
  border:1px solid var(--edm-border);
  border-radius:14px;
  background:#fff;
}

.edm-path h4{
  margin:0;
  color:var(--edm-text);
  font-size:17px;
  line-height:1.3;
}

.edm-path p{
  margin:8px 0 15px;
  color:var(--edm-muted);
  font-size:13px;
  line-height:1.55;
}

.edm-cta{
  display:inline-flex;
  min-height:43px;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  padding:0 15px;
  border-radius:9px;
  font-size:13px;
  font-weight:800;
  text-decoration:none !important;
}

.edm-cta-primary{
  background:var(--edm-navy);
  border:1px solid var(--edm-navy);
  color:#fff !important;
}

.edm-cta-secondary{
  background:#fff;
  border:1px solid var(--edm-navy);
  color:var(--edm-navy) !important;
}

.edm-method-note{
  margin:20px 0 0;
  color:var(--edm-muted);
  font-size:11px;
  line-height:1.55;
}

@media(max-width:900px){
  .edm-turnover-grid{grid-template-columns:1fr;}
  .edm-result-card{min-height:320px;}
  .edm-result-placeholder{min-height:250px;}
}

@media(max-width:600px){
  .edm-title{font-size:36px;}
  .edm-intro{font-size:16px;}
  .edm-tenure-row{grid-template-columns:minmax(0,1fr) 105px;}
  .edm-result-card{padding:24px 20px;}
  .edm-details-grid,
  .edm-paths{grid-template-columns:1fr;}
}
