.wm-diagram { display: grid; place-items: center; width: 100%; height: 100%; margin: 0; }
.wm-diagram svg { width: 100%; height: auto; max-height: 360px; }
.wm-diagram figcaption { max-width: 420px; color: #637083; font-size: .74rem; font-weight: 700; text-align: center; }
.wm-calc-intro { margin-top: 0; color: #526177; }
.wm-calculator { padding: clamp(1rem, 3vw, 1.6rem); border: 1px solid #dbe3ef; border-radius: 16px; background: #f6f8fc; }
.wm-calculator > h3 { margin: 0 0 .45rem; color: #0b1633; font-size: 1.3rem; }
.wm-calculator > p { color: #637083; }
.wm-calc-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 1.2rem 0; }
.wm-calc-fields label { display: block; }
.wm-calc-fields label > span:first-child { display: block; margin-bottom: .35rem; color: #3f4a5b; font-size: .78rem; font-weight: 750; }
.wm-input { display: flex; overflow: hidden; border: 1px solid #cbd5e4; border-radius: 9px; background: #fff; }
.wm-input:focus-within { border-color: #1455d9; box-shadow: 0 0 0 3px rgba(20,85,217,.12); }
.wm-input input { width: 100%; min-width: 0; padding: .65rem .75rem; border: 0; outline: 0; background: transparent; }
.wm-input i { display: grid; place-items: center; min-width: 48px; padding: .4rem; color: #637083; background: #edf1f7; font-size: .75rem; font-style: normal; font-weight: 800; }
.wm-calc-result { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 1rem; margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 11px; color: #fff; background: linear-gradient(120deg, #0b1633, #1455d9); }
.wm-calc-result small { color: #bcd2ff; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.wm-calc-result strong { grid-row: span 2; color: #fff; font-size: clamp(1.45rem, 4vw, 2.1rem); }
.wm-calc-result span { color: #dbe7ff; font-size: .75rem; }
.wm-calc-note { margin: .85rem 0 0 !important; color: #637083 !important; font-size: .72rem !important; }
.wm-core-search { display: flex; gap: .5rem; }
.wm-core-search input { flex: 1; min-height: 48px; padding: .65rem .8rem; border: 1px solid #dbe3ef; border-radius: 9px; }
.wm-core-search button { padding: .65rem 1rem; border: 0; border-radius: 9px; color: #fff; background: #1455d9; font-weight: 800; }
.wm-affiliate-note { display: flex; gap: .55rem; margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #dbe3ef; border-radius: 10px; color: #637083; background: #f6f8fc; font-size: .76rem; }
.wm-affiliate-note strong { flex: 0 0 auto; color: #0b1633; }
@media (max-width: 600px) { .wm-calc-fields { grid-template-columns: 1fr; } .wm-core-search { flex-direction: column; } }
