.price-calculator h2{
    font-size: clamp(2rem, 3.2rem, 3.2rem);
    font-weight: 700;
    line-height: 1.08;
	text-align:center;
}
.price-calculator p{
    font-size: clamp(1rem, 1.2rem, 1.25rem);
    margin-top: 20px;
    color: var(--muted);
	text-align:center;
}
     /* ── CHAT ── */
    #rateChat { max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }

    .chat-msg { display: flex; align-items: flex-end; gap: 10px; animation: fadeUp 0.3s ease; }
    .chat-msg.user { flex-direction: row-reverse; }
    @keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

    .chat-avatar { width:34px; height:34px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:16px; }
    .avatar-ai   { background:var(--primary,#673ab7); color:#fff; }
    .avatar-user { background:#e2e8f0; color:#334155; }

    .chat-bubble { max-width:82%; padding:12px 16px; border-radius:18px; font-size:15px; line-height:1.5; }
    .bubble-ai   { background:#f1f5f9; color:#1e293b; border-bottom-left-radius:4px; }
    .bubble-user { background:var(--primary,#673ab7); color:#fff; border-bottom-right-radius:4px; }

    .typing-dots { display:flex; gap:5px; padding:4px 2px; }
    .typing-dots span { width:7px; height:7px; background:#94a3b8; border-radius:50%; animation:bounce 1.2s infinite; }
    .typing-dots span:nth-child(2){animation-delay:.2s}
    .typing-dots span:nth-child(3){animation-delay:.4s}
    @keyframes bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}

    /* ── INPUT AREA ── */
    #rateInputArea { max-width:620px; margin:8px auto 0; }

    .rate-chips    { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
    .rate-chip     { padding:8px 14px; border:2px solid #e2e8f0; border-radius:20px; font-size:13px; cursor:pointer; background:#fff; transition:all .2s; user-select:none; }
    .rate-chip:hover  { border-color:var(--primary,#673ab7); color:var(--primary,#673ab7); }
    .rate-chip.active { border-color:var(--primary,#673ab7); background:var(--primary,#673ab7); color:#fff; }

    .chip-confirm-btn { width:auto; border-radius:24px; padding:0 20px; height:42px; font-size:14px; margin-top:8px; background:var(--primary,#673ab7); color:#fff; border:none; cursor:pointer; transition:opacity .2s; }
    .chip-confirm-btn:hover { opacity:.85; }

    .followers-row { display:flex; gap:8px; align-items:center; margin-top:4px; }
    .followers-row input[type="number"] { flex:1; padding:12px 16px; border:2px solid #e2e8f0; border-radius:24px; font-size:15px; outline:none; transition:border-color .2s; }
    .followers-row input[type="number"]:focus { border-color:var(--primary,#673ab7); }
    .send-btn { width:46px; height:46px; border-radius:50%; background:var(--primary,#673ab7); color:#fff; border:none; cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:opacity .2s; }
    .send-btn:hover { opacity:.85; }

    /* ── RISULTATO ── */
    .rate-result-wrap { width:100%; max-width:620px; margin:0 auto; }

    .rate-summary { background:linear-gradient(135deg,var(--primary,#673ab7) 0%,#9c27b0 100%); color:#fff; border-radius:16px; padding:20px 24px; margin-bottom:16px; }
    .rate-summary h4 { margin:0 0 4px; font-size:18px; }
    .rate-summary p  { margin:0; opacity:.85; font-size:13px; }

    .rate-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }
    .rate-card  { background:#f8fafc; border:1.5px solid #e2e8f0; border-radius:12px; padding:16px; text-align:center; transition:box-shadow .2s; }
    .rate-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
    .rate-card-icon  { font-size:22px; margin-bottom:6px; }
    .rate-card-label { font-size:11px; color:#94a3b8; font-weight:600; text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
    .rate-card-price { font-size:17px; font-weight:800; color:var(--primary,#673ab7); }
    .rate-card-sub   { font-size:11px; color:#cbd5e1; margin-top:2px; }

    /* Tier badge */
    .tier-badge { display:inline-block; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:700; margin-top:8px; }
    .tier-nano      { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
    .tier-micro     { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
    .tier-mid       { background:#faf5ff; color:#7e22ce; border:1px solid #e9d5ff; }
    .tier-macro     { background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }
    .tier-mega      { background:#fefce8; color:#a16207; border:1px solid #fef08a; }

    /* Barra potenziale annuo */
    .annual-bar-wrap { background:#f1f5f9; border-radius:12px; padding:16px; margin-bottom:16px; }
    .annual-bar-wrap h6 { font-size:12px; color:#94a3b8; text-transform:uppercase; letter-spacing:.06em; font-weight:700; margin:0 0 10px; }
    .annual-bar-label { display:flex; justify-content:space-between; font-size:13px; margin-bottom:6px; }
    .annual-bar { height:10px; background:#e2e8f0; border-radius:5px; overflow:hidden; margin-bottom:8px; }
    .annual-bar-fill { height:100%; border-radius:5px; background:linear-gradient(90deg,var(--primary,#673ab7),#9c27b0); transition:width .8s ease; }

    /* Tips */
    .tips-box { background:#fefce8; border:1px solid #fef08a; border-radius:12px; padding:14px 16px; margin-bottom:16px; }
    .tips-box h6 { font-size:12px; color:#a16207; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin:0 0 8px; }
    .tips-box ul { margin:0; padding-left:18px; font-size:13px; color:#713f12; line-height:1.8; }

    /* CTA */
    .rate-cta { background:#0f172a; color:#fff; border-radius:14px; padding:20px 24px; text-align:center; }
    .rate-cta h5 { margin:0 0 6px; font-size:16px; }
    .rate-cta p  { margin:0 0 14px; font-size:13px; opacity:.7; }
    .rate-cta a  { background:var(--primary,#673ab7); color:#fff; padding:10px 24px; border-radius:24px; font-size:14px; font-weight:600; text-decoration:none; display:inline-block; transition:opacity .2s; }
    .rate-cta a:hover { opacity:.85; }

    .restart-btn { margin:0 auto; display:block; background:transparent; border:1.5px solid #cbd5e1; color:#64748b; padding:8px 20px; border-radius:20px; font-size:13px; cursor:pointer; transition:all .2s; }
    .restart-btn:hover { border-color:var(--primary,#673ab7); color:var(--primary,#673ab7); }

    .ad-space { width:100%; height:90px; background:#eee; display:flex; align-items:center; justify-content:center; color:#999; font-size:12px; border-radius:8px; margin:8px 0; }
