/* LigiComms — SMS Calculator tool. Shared tokens in site.css. */
.sc-hero, .sc { --ink-dim: #c2d2e6; --ink-faint: #8ea3bd; }

.sc-hero { padding: 74px 0 26px; text-align: center; background: radial-gradient(900px 460px at 50% -20%, rgba(44, 79, 124, .5), transparent 62%), var(--navy-950); }
.sc-hero h1 { margin: 16px auto 16px; }
.sc-hero h1 .grad { background: linear-gradient(92deg, #ffb054 0%, #ff7a9c 42%, #8b7bff 78%, #4fc3f7 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sc-sub { color: var(--ink-dim); font-size: 17px; max-width: 58ch; margin: 0 auto; }

.sc { padding: 36px 0 76px; background: var(--navy-950); }

/* Tool card */
.sc-tool { max-width: 680px; margin: 0 auto 48px; padding: 28px 24px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(165deg, rgba(30, 58, 95, .32), rgba(12, 30, 53, .6)); }

.sc-label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-faint); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.sc-textarea { width: 100%; min-height: 120px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(12, 30, 53, .6); color: var(--ink); font-size: 15px; line-height: 1.6; resize: vertical; font-family: inherit; transition: border-color .15s var(--ease); }
.sc-textarea:focus { outline: none; border-color: var(--accent); }
.sc-textarea::placeholder { color: var(--ink-faint); }

/* Results grid */
.sc-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 18px; }
.sc-stat { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(12, 30, 53, .5); text-align: center; }
.sc-stat-wide { grid-column: span 4; }
.sc-stat-label { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-faint); margin-bottom: 4px; }
.sc-stat-value { display: block; font-size: 22px; font-weight: 700; color: var(--ink); }
.sc-stat-value.sc-unicode { color: #ff7a9c; }
.sc-stat-value.sc-gsm7 { color: #4fc3f7; }
.sc-stat-value.sc-multi { color: #ffb054; }

/* Cost display */
.sc-cost-row { display: inline-block; margin: 0 12px; font-size: 18px; }
.sc-cost-note { display: block; font-size: 12px; color: var(--ink-faint); margin-top: 4px; }

/* Encoding progress bar */
.sc-encoding-bar { height: 6px; border-radius: 3px; background: rgba(255, 255, 255, .08); margin-top: 16px; overflow: hidden; }
.sc-enc-fill { height: 100%; border-radius: 3px; background: #4fc3f7; transition: width .15s var(--ease), background .15s var(--ease); }
.sc-enc-fill.sc-bar-unicode { background: #ff7a9c; }
.sc-enc-fill.sc-bar-multi { background: #ffb054; }
.sc-encoding-labels { display: flex; justify-content: space-between; font-size: 12px; color: var(--ink-faint); margin-top: 4px; }

/* Info sections */
.sc-info, .sc-tips { max-width: 680px; margin: 0 auto 40px; }
.sc-info h2, .sc-tips h2 { font-size: 1.28rem; margin: 0 0 14px; }
.sc-info h3, .sc-tips h3 { font-size: 1.05rem; margin: 20px 0 8px; }
.sc-info p, .sc-tips p { font-size: 14.5px; line-height: 1.65; color: var(--ink-dim); margin: 0 0 12px; }
.sc-info a, .sc-tips a { color: var(--accent); text-decoration: none; }
.sc-info a:hover, .sc-tips a:hover { text-decoration: underline; }
.sc-info ul, .sc-info ol, .sc-tips ol { padding-left: 20px; margin: 0 0 14px; }
.sc-info li, .sc-tips li { font-size: 14.5px; line-height: 1.65; color: var(--ink-dim); margin-bottom: 6px; }
.sc-info li b, .sc-tips li b { color: var(--ink); }

.sc-info-table-wrap { overflow-x: auto; margin: 14px 0; }
.sc-info-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sc-info-table th { text-align: left; padding: 10px 14px; color: var(--ink-faint); font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid var(--line); }
.sc-info-table td { padding: 10px 14px; color: var(--ink-dim); border-bottom: 1px solid rgba(255, 255, 255, .04); }

.sc-extended-chars { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 14px; }
.sc-extended-chars code { background: rgba(255, 176, 84, .12); color: var(--accent); padding: 4px 10px; border-radius: 6px; font-size: 15px; font-weight: 600; }

/* CTA */
.sc-cta { max-width: 680px; margin: 0 auto; text-align: center; padding: 36px 24px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(165deg, rgba(30, 58, 95, .32), rgba(12, 30, 53, .6)); }
.sc-cta h2 { margin: 0 0 8px; font-size: 1.28rem; }
.sc-cta p { color: var(--ink-dim); font-size: 14.5px; margin: 0 0 18px; }
.sc-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 600px) {
    .sc-results { grid-template-columns: repeat(2, 1fr); }
    .sc-stat-wide { grid-column: span 2; }
    .sc-stat-value { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .sc-enc-fill, .sc-textarea { transition: none; } }
