/* Scope reset tylko dla kalkulatora */
.alc-wrap,
.alc-wrap * ,
.alc-wrap *::before,
.alc-wrap *::after { box-sizing: border-box; }
.alc-wrap { max-width: 560px; margin: 40px auto; padding: 16px; }
/*.alc-header { text-align: center; margin-bottom: 28px; }*/
.alc-badge { display: inline-flex; align-items: center; gap: 6px; background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 999px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; }
.alc-badge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #ef4444; }
.alc-title { font-size: clamp(20px, 4vw, 28px); font-weight: 800; line-height: 1.2; color: #0f172a; }
.alc-title span { color: #2563eb; }
.alc-subtitle { color: #64748b; font-size: 14px; margin-top: 10px; line-height: 1.5; }
.alc-card { background: #fff; border-radius: 18px; box-shadow: 0 4px 24px rgba(0,0,0,.08); border: 1px solid #f1f5f9; overflow: hidden; }
.alc-form { padding: 24px; }
.alc-label { display: block; font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; }
.alc-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: #f1f5f9; padding: 4px; border-radius: 12px; margin-bottom: 18px; }
.alc-toggle button { padding: 9px; border: none; border-radius: 9px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all .2s; background: transparent; color: #64748b; }
.alc-toggle button.active { background: #fff; color: #2563eb; box-shadow: 0 1px 6px rgba(0,0,0,.1); border: 1px solid #dbeafe; }
.alc-input-wrap { position: relative; margin-bottom: 6px; }
.alc-input { width: 100%; font-size: 18px; font-weight: 600; background: #f8fafc; border: 2px solid #e2e8f0; border-radius: 12px; padding: 13px 52px 13px 16px; outline: none; transition: border-color .2s; color: #0f172a; }
.alc-input:focus { border-color: #60a5fa; background: #fff; }
.alc-input.error { border-color: #fca5a5; }
.alc-unit { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 13px; font-weight: 700; color: #94a3b8; pointer-events: none; }
.alc-error { display: flex; align-items: center; gap: 5px; color: #ef4444; font-size: 12px; font-weight: 600; min-height: 18px; margin-bottom: 4px; }
.alc-buttons { display: flex; gap: 10px; margin-top: 14px; }
.alc-btn-check { flex: 1; background: #2563eb; color: #fff; border: none; border-radius: 12px; padding: 13px; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s; }
.alc-btn-check:hover { background: #1d4ed8; }
.alc-btn-reset { padding: 13px 18px; border-radius: 12px; border: 2px solid #e2e8f0; background: transparent; color: #475569; font-size: 14px; font-weight: 700; cursor: pointer; transition: all .2s; }
.alc-btn-reset:hover { border-color: #94a3b8; background: #f8fafc; }
.alc-result { border-top: 1px solid #f1f5f9; padding: 24px; }
.alc-result-header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.alc-icon { font-size: 22px; flex-shrink: 0; }
.alc-state-label { font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 5px; }
.alc-state-badge { display: inline-block; font-size: 13px; font-weight: 700; padding: 5px 12px; border-radius: 999px; border: 1px solid; }
.red .alc-state-badge { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.orange .alc-state-badge { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.amber .alc-state-badge { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.green .alc-state-badge { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.alc-box { border-radius: 12px; border: 1px solid; padding: 14px 16px; margin-bottom: 14px; background: rgba(255,255,255,.6); }
.red .alc-box { border-color: #fecaca; }
.orange .alc-box { border-color: #fed7aa; }
.amber .alc-box { border-color: #fde68a; }
.green .alc-box { border-color: #bbf7d0; }
.alc-box-title { font-size: 11px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.alc-box-title .ico { font-size: 13px; }
.alc-conversion { font-size: 14px; color: #334155; line-height: 1.8; }
.alc-conversion strong { color: #0f172a; }
.alc-conversion .sep { color: #94a3b8; margin: 0 6px; }
.alc-threshold { font-size: 11px; color: #94a3b8; margin-top: 5px; }
.alc-kary-list { list-style: none; padding: 0; }
.alc-kary-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #334155; line-height: 1.6; margin-bottom: 6px; }
.alc-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 7px; }
.red .alc-dot { background: #ef4444; }
.orange .alc-dot { background: #f97316; }
.amber .alc-dot { background: #f59e0b; }
.alc-zakaz { font-size: 14px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.alc-disclaimer { display: flex; align-items: flex-start; gap: 8px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; margin-top: 14px; }
.alc-disclaimer p { font-size: 12px; color: #64748b; line-height: 1.5; }
.green .alc-result { background: #f0fdf4; }
.green-info { font-size: 14px; color: #166534; line-height: 1.6; margin-bottom: 10px; }
.green-note { font-size: 12px; color: #15803d; background: #dcfce7; border: 1px solid #bbf7d0; border-radius: 10px; padding: 10px 12px; line-height: 1.5; }
.alc-footer { text-align: center; font-size: 12px; color: #94a3b8; margin-top: 18px; }

/* --- CTA obrońca --- */
.alc-cta { margin-top: 20px; background: #fff; border: 2px solid #16a34a; border-radius: 16px; overflow: hidden; }
.alc-cta-body { padding: 20px; }
.alc-cta-title { font-size: 15px; font-weight: 800; color: #0f172a; margin-bottom: 12px; line-height: 1.4; }
.alc-cta-text { font-size: 13px; color: #334155; line-height: 1.7; margin-bottom: 12px; }
.alc-cta-points { list-style: none; padding: 0; margin-bottom: 14px; }
.alc-cta-points li { font-size: 13px; color: #15803d; line-height: 1.6; margin-bottom: 6px; display: flex; align-items: flex-start; gap: 6px; }
.alc-cta-subtitle { font-size: 14px; font-weight: 700; color: #0f172a; margin-bottom: 4px; }
.alc-cta-desc { font-size: 13px; color: #475569; line-height: 1.6; margin-bottom: 14px; }
.alc-cta-warning { background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; padding: 10px 14px; font-size: 12px; color: #92400e; line-height: 1.5; margin-bottom: 16px; }
.alc-cta-btn { display: block; width: 100%; background: #16a34a; color: #fff; border: none; border-radius: 12px; padding: 15px; font-size: 15px; font-weight: 800; cursor: pointer; text-align: center; transition: background .2s; text-decoration: none; }
.alc-cta-btn:hover { background: #15803d; }

@media (max-width: 480px) { .alc-wrap { margin: 12px auto; padding: 12px; } }