.demo-cta { max-width:700px;margin:48px auto;padding:40px 32px;background:#fafafa;border:1.5px solid #e8e8e8;border-radius:10px;text-align:center; }
.demo-cta h3 { font-size:24px;font-weight:700;color:#111;margin:0 0 10px; }
.demo-cta > p { font-size:16px;color:#555;margin:0 0 28px;line-height:1.6; }
.demo-input-wrap { position:relative;margin-bottom:12px;text-align:left; }
.demo-input-wrap .flag { position:absolute;top:14px;left:14px;font-size:20px;line-height:1; }
.demo-input-wrap textarea { width:100%;padding:14px 14px 14px 44px;border:1.5px solid #e8e8e8;border-radius:8px;font-size:16px;font-family:inherit;min-height:70px;resize:vertical;background:#fff;box-sizing:border-box; }
.demo-input-wrap textarea:focus { outline:none;border-color:#BC002D; }
.demo-foot { display:flex;justify-content:space-between;align-items:center;padding:0 4px 20px;font-size:13px;color:#888;font-weight:600;text-align:left; }
.demo-output { border:1.5px solid #e8e8e8;border-radius:8px;padding:20px;background:#fff;text-align:left;position:relative;min-height:60px; }
.demo-output .flag { font-size:20px;margin-bottom:12px;display:block;line-height:1; }
.demo-row { display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f0f0f0;position:relative; }
.demo-row:last-child { border-bottom:none; }
.demo-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#BC002D;min-width:70px;padding-top:2px;flex-shrink:0; }
.demo-text { flex:1;font-size:18px;font-weight:700;color:#111;line-height:1.4; }
.demo-text.rom { font-size:15px;font-weight:400;color:#BC002D; }
.demo-blur { filter:blur(5px);opacity:0.35;pointer-events:none;user-select:none; }
.demo-wrap { position:relative;flex:1; }
.demo-badge { position:absolute;top:50%;right:0;transform:translateY(-50%);background:#BC002D;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:7px 14px;border-radius:6px;white-space:nowrap;z-index:2;box-shadow:0 2px 12px rgba(188,0,45,0.25);cursor:pointer;text-decoration:none;transition:background 0.15s;display:inline-block; }
.demo-badge:hover { background:#8f0020; }
.demo-spinner { display:none;text-align:center;padding:20px; }
.demo-spinner.on { display:block; }
.demo-spinner .dot { width:6px;height:6px;background:#BC002D;border-radius:50%;display:inline-block;margin:0 3px;animation:demoBounce 1.4s infinite ease-in-out both; }
.demo-spinner .dot:nth-child(1){animation-delay:-0.32s;}
.demo-spinner .dot:nth-child(2){animation-delay:-0.16s;}
@keyframes demoBounce{0%,80%,100%{transform:scale(0);}40%{transform:scale(1);} }