/* ── Tool base (shared across all SEO tools) ─────────────────────────── */
.mt-tool-section { padding:60px 0 80px; background:var(--secondary-color,#F8F8F8); }
.mt-tool-card { background:#fff; border-radius:20px; padding:32px; box-shadow:0 10px 40px rgba(3,29,54,.06); height:100%; display:flex; flex-direction:column; }
.mt-tool-card-head { margin-bottom:22px; }
.mt-tool-card-head h4 { font-size:18px; font-weight:700; color:var(--primary-color,#031D36); margin-bottom:4px; }
.mt-tool-card-head p  { font-size:14px; color:#6b7a8d; margin-bottom:0; }

/* ── Form elements ───────────────────────────────────────────────────── */
.mt-form-group { margin-bottom:18px; }
.mt-form-group label { display:block; font-size:13px; font-weight:600; color:var(--primary-color); margin-bottom:6px; }
.mt-form-group input, .mt-form-group select, .mt-form-group textarea {
    width:100%; border:1px solid rgba(3,29,54,.12); border-radius:10px;
    padding:10px 14px; font-size:14px; background:var(--secondary-color); color:var(--primary-color); outline:none;
    transition:border-color .2s;
}
.mt-form-group input:focus, .mt-form-group select:focus, .mt-form-group textarea:focus { border-color:var(--accent-color,#0A49A6); }
.mt-form-group textarea { resize:vertical; line-height:1.6; }

/* ── Button ──────────────────────────────────────────────────────────── */
.mt-btn { display:block; width:100%; margin-top:20px; text-align:center; }
.mt-btn::before { display:none !important; }
.mt-btn:disabled, .mt-btn[disabled] { opacity:.45; pointer-events:none; }

/* ── Result message ──────────────────────────────────────────────────── */
#mt-result { margin-top:14px; }
#mt-result .mt-result-msg { border-radius:10px; padding:12px 16px; font-size:14px; }
#mt-result .mt-result-msg.success { background:rgba(74,222,128,.12); color:#166534; border:1px solid rgba(74,222,128,.3); }
#mt-result .mt-result-msg.danger  { background:rgba(239,68,68,.1);  color:#991b1b; border:1px solid rgba(239,68,68,.25); }

/* ── Keyword Density Checker specific ───────────────────────────────── */

/* Live word count below textarea */
.kd-live-count {
    float: right;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 12px;
    background: rgba(3,29,54,.06);
    color: #6b7a8d;
}

/* Stats grid — 3 cols on md+, 2 on sm */
.kd-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 20px;
}
@media (max-width: 600px) {
    .kd-stat-grid { grid-template-columns: repeat(2, 1fr); }
}

.kd-stat-card {
    background: var(--secondary-color, #F8F8F8);
    border: 1px solid rgba(3,29,54,.08);
    border-radius: 12px;
    padding: 16px 12px;
    text-align: center;
}
.kd-stat-num {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-color, #031D36);
    line-height: 1.2;
}
.kd-stat-label {
    font-size: 12px;
    color: #6b7a8d;
    margin-top: 4px;
}

/* Verdict / badge area */
.kd-verdict {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 18px;
    padding: 14px 18px;
    border-radius: 12px;
    background: var(--secondary-color, #f8f8f8);
    border: 1px solid rgba(3,29,54,.08);
}

.kd-badge {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 16px;
    border-radius: 20px;
    white-space: nowrap;
}
.kd-badge.low  { background: rgba(245,158,11,.15); color: #92400e; border: 1px solid rgba(245,158,11,.3); }
.kd-badge.good { background: rgba(34,197,94,.15);  color: #166534; border: 1px solid rgba(34,197,94,.3); }
.kd-badge.high { background: rgba(239,68,68,.12);  color: #991b1b; border: 1px solid rgba(239,68,68,.25); }

.kd-advice {
    font-size: 13px;
    color: #374151;
    margin: 0;
    flex: 1;
}
