/* Calculator UI shared styles */
.calc-wrap { max-width: 900px; margin: 0 auto; padding: 140px 32px 96px 32px; }
.calc-wrap .article-eyebrow { display:inline-block; font-size:.68rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.calc-wrap h1 { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,2.8rem); color:var(--navy-deep); line-height:1.15; margin-bottom:18px; }
.calc-wrap .lead { font-size:1.1rem; line-height:1.6; color:var(--stone); margin-bottom:40px; max-width:720px; }

.calc-panel { background:#fff; border:1px solid var(--rule); border-radius:6px; padding:32px; box-shadow:0 6px 24px rgba(7,24,48,0.06); margin-bottom:48px; }
.calc-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:700px) { .calc-grid { grid-template-columns:1fr; } .calc-wrap { padding:110px 20px 60px 20px; } .calc-panel { padding:22px; } }

.calc-field { display:flex; flex-direction:column; gap:6px; }
.calc-field label { font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); }
.calc-field .helper { font-size:.8rem; color:var(--stone); font-style:italic; }
.calc-field input, .calc-field select {
  font-family:inherit; font-size:1.05rem; padding:12px 14px; border:1.5px solid var(--rule);
  border-radius:4px; background:#fff; color:var(--ink); width:100%;
}
.calc-field input:focus, .calc-field select:focus { outline:none; border-color:var(--gold); }
.calc-input-wrap { position:relative; }
.calc-input-wrap .prefix, .calc-input-wrap .suffix { position:absolute; top:50%; transform:translateY(-50%); color:var(--stone); font-size:1rem; pointer-events:none; }
.calc-input-wrap .prefix { left:14px; }
.calc-input-wrap .suffix { right:14px; }
.calc-input-wrap input.has-prefix { padding-left:28px; }
.calc-input-wrap input.has-suffix { padding-right:36px; }

.calc-results { margin-top:32px; padding:24px; background:var(--navy-deep); color:#fff; border-radius:6px; }
.calc-results h3 { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--gold); text-transform:uppercase; letter-spacing:.14em; margin-bottom:16px; font-weight:600; }
.calc-results-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; }
@media (max-width:600px) { .calc-results-grid { grid-template-columns:1fr; } }
.calc-result-item { border-bottom:1px solid rgba(255,255,255,0.15); padding-bottom:12px; }
.calc-result-item .label { font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-bottom:4px; }
.calc-result-item .value { font-family:'Playfair Display',serif; font-size:1.7rem; color:#fff; font-weight:700; }
.calc-result-item .value.big { font-size:2.2rem; color:var(--gold); }

.calc-schedule { margin-top:32px; overflow-x:auto; }
.calc-schedule table { width:100%; border-collapse:collapse; font-size:.9rem; }
.calc-schedule th, .calc-schedule td { padding:10px 12px; text-align:right; border-bottom:1px solid var(--rule); }
.calc-schedule th { background:var(--cream); color:var(--navy-deep); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.calc-schedule td:first-child, .calc-schedule th:first-child { text-align:center; }

.calc-explain h2 { font-family:'Playfair Display',serif; font-size:1.6rem; color:var(--navy-deep); margin:48px 0 16px 0; }
.calc-explain h3 { font-family:'Playfair Display',serif; font-size:1.15rem; color:var(--navy-deep); margin:32px 0 12px 0; }
.calc-explain p, .calc-explain li { font-size:1.02rem; line-height:1.7; color:var(--ink); margin-bottom:14px; }
.calc-explain ul, .calc-explain ol { margin:0 0 20px 24px; }
.calc-explain strong { color:var(--navy-deep); font-weight:600; }

.calc-cta { margin-top:40px; padding:32px; background:var(--cream); border-left:4px solid var(--gold); border-radius:0 6px 6px 0; }
.calc-cta h3 { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--navy-deep); margin-bottom:10px; }
.calc-cta p { font-size:1rem; color:var(--stone); margin-bottom:18px; }
.calc-cta a { display:inline-block; background:var(--navy-deep); color:#fff; padding:14px 26px; text-decoration:none; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; border-radius:4px; }
.calc-cta a:hover { background:var(--navy); }
