.totem-nc-wrap { font-family: inherit; max-width: 720px; margin: 0 auto; padding: 40px 24px; color: #1a1a1a; }

/* Hero */
.totem-nc-hero { text-align: center; margin-bottom: 40px; }
.totem-nc-title { font-size: clamp(22px, 4vw, 32px); font-weight: 800; margin: 0 0 12px; letter-spacing: -.03em; }
.totem-nc-subtitle { font-size: 16px; color: #555; margin: 0; line-height: 1.5; }

/* Use-case tags */
.totem-nc-use-cases { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 32px; }
.totem-nc-use-case { padding: 5px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; background: #fff9cc; color: #5c4400; border: 1px solid #FFD400; }

/* Form */
.totem-nc-form-wrap { background: #222; border-radius: 16px; padding: 32px; }
.totem-nc-field { margin-bottom: 20px; }
.totem-nc-field label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #888; margin-bottom: 8px; }
.totem-nc-field input[type="text"],
.totem-nc-field input[type="email"],
.totem-nc-field select,
.totem-nc-field textarea { width: 100%; padding: 14px 16px; border: 2px solid #383838; border-radius: 10px; font-size: 16px; font-family: inherit; background: #2d2d2d; color: #fff; box-sizing: border-box; transition: border-color .2s; outline: none; }
.totem-nc-field input::placeholder,
.totem-nc-field textarea::placeholder { color: #555; }
.totem-nc-field input:focus,
.totem-nc-field select:focus,
.totem-nc-field textarea:focus { border-color: #FFD400; box-shadow: 0 0 0 3px rgba(255,212,0,.1); }

/* Custom select — remove native arrow, add chevron */
.totem-nc-field select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; background-color: #2d2d2d; padding-right: 44px; cursor: pointer; color-scheme: dark; }
.totem-nc-field select option { background: #2d2d2d; color: #fff; }

.totem-nc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .totem-nc-form-row { grid-template-columns: 1fr; } }

/* Buttons */
.totem-nc-btn-primary { display: inline-block; width: 100%; padding: 16px 32px; background: #FFD400; color: #1a1a1a; border: none; border-radius: 10px; font-size: 16px; font-weight: 800; font-family: inherit; cursor: pointer; transition: background .2s, transform .1s; box-sizing: border-box; letter-spacing: -.01em; }
.totem-nc-btn-primary:hover { background: #E8C000; }
.totem-nc-btn-primary:active { transform: scale(.98); }
.totem-nc-form-note { margin: 12px 0 0; font-size: 12px; color: #999; text-align: center; }
.totem-nc-btn-ghost { display: inline-block; margin-top: 24px; padding: 10px 20px; background: none; border: 2px solid #ddd; border-radius: 8px; font-size: 14px; font-family: inherit; color: #555; cursor: pointer; }
.totem-nc-btn-ghost:hover { border-color: #888; color: #1a1a1a; }

/* Loading */
.totem-nc-loading-wrap { text-align: center; padding: 60px 0; }
.totem-nc-spinner { width: 48px; height: 48px; border: 4px solid #e0e0e0; border-top-color: #FFD400; border-radius: 50%; animation: totem-spin 0.8s linear infinite; margin: 0 auto 20px; }
@keyframes totem-spin { to { transform: rotate(360deg); } }

/* Results header */
.totem-nc-results-header { display: flex; gap: 32px; align-items: center; margin-bottom: 32px; background: #f5f5f5; border-radius: 16px; padding: 28px; }
.totem-nc-score-wrap { position: relative; flex-shrink: 0; width: 120px; height: 120px; }
.totem-nc-score-ring { width: 120px; height: 120px; transform: rotate(-90deg); }
.totem-nc-ring-bg { fill: none; stroke: #e0e0e0; stroke-width: 10; }
.totem-nc-ring-fill { fill: none; stroke: #FFD400; stroke-width: 10; stroke-linecap: round; stroke-dasharray: 327; stroke-dashoffset: 327; transition: stroke-dashoffset 1s ease, stroke .5s; }
.totem-nc-score-label { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center; }
.totem-nc-score-label span { font-size: 30px; font-weight: 800; line-height: 1; display: block; color: #1a1a1a; }
.totem-nc-score-label small { font-size: 12px; color: #888; }
.totem-nc-preview-label { margin: 0 0 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #FFD400; }
.totem-nc-results-meta h3 { margin: 0 0 6px; font-size: 20px; font-weight: 800; color: #1a1a1a; }
.totem-nc-results-meta p { margin: 0 0 12px; color: #555; font-size: 15px; }
.totem-nc-grade-badge { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.totem-nc-grade-green  { background: #dcfce7; color: #166534; }
.totem-nc-grade-yellow { background: #fff9cc; color: #5c4400; }
.totem-nc-grade-orange { background: #ffedd5; color: #9a3412; }
.totem-nc-grade-red    { background: #fee2e2; color: #991b1b; }

/* Checks grid */
.totem-nc-checks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 32px; }
@media (max-width: 560px) { .totem-nc-checks-grid { grid-template-columns: 1fr; } }
.totem-nc-check-card { background: #fff; border: 2px solid #ebebeb; border-radius: 12px; padding: 20px; }
.totem-nc-check-card.has-critical { border-color: #fca5a5; background: #fff5f5; }
.totem-nc-check-card.has-warning  { border-color: #FFD400; background: #fffce8; }
.totem-nc-check-icon { font-size: 22px; margin-bottom: 8px; }
.totem-nc-check-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #888; margin-bottom: 6px; }
.totem-nc-check-value { font-size: 15px; font-weight: 700; margin-bottom: 6px; color: #1a1a1a; }
.totem-nc-check-detail { font-size: 13px; color: #666; line-height: 1.4; }
.totem-nc-check-issues { margin-top: 8px; padding: 0; list-style: none; }
.totem-nc-check-issues li { font-size: 12px; padding: 4px 0; border-top: 1px solid #f0f0f0; color: #555; }
.totem-nc-check-issues li:first-child { border-top: none; }
.issue-critical { color: #dc2626 !important; }
.issue-warning  { color: #b07a00 !important; }

/* Domain tags */
.totem-nc-domain-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.totem-nc-domain-tag { padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.domain-available { background: #dcfce7; color: #166534; }
.domain-taken    { background: #fee2e2; color: #991b1b; }

/* Modal */
.totem-nc-modal-overlay { display: none; position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.6); backdrop-filter: blur(4px); overflow-y: auto; padding: 24px 16px; }
#totem-nc-modal-close-btn { position: absolute !important; top: 16px !important; right: 16px !important; width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; padding: 0 !important; border: none !important; background: #f0f0f0 !important; border-radius: 50% !important; font-size: 16px !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #555 !important; z-index: 10 !important; box-sizing: border-box !important; line-height: 1 !important; flex-shrink: 0 !important; }
#totem-nc-modal-close-btn:hover { background: #e0e0e0 !important; color: #111 !important; }
.totem-nc-modal-overlay.is-open { display: flex; align-items: flex-start; justify-content: center; }
.totem-nc-modal-container { position: relative; background: #fff; border-radius: 20px; width: 100%; max-width: 760px; margin: auto; box-shadow: 0 24px 80px rgba(0,0,0,.25); }
.totem-nc-modal-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border: none; background: #f0f0f0; border-radius: 50%; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #555; z-index: 1; transition: background .2s; }
.totem-nc-modal-close:hover { background: #e0e0e0; color: #111; }
.totem-nc-modal-body { padding: 8px 0; }
.totem-nc-modal-body .totem-nc-wrap { padding: 32px 32px 40px; }
body.totem-nc-modal-open { overflow: hidden; }
@media (max-width: 560px) { .totem-nc-modal-body .totem-nc-wrap { padding: 24px 20px 32px; } }

/* Trademark locked card */
.totem-nc-tm-locked { background: #f8f8f8 !important; border-color: #ddd !important; opacity: .85; }
.totem-nc-tm-locked .totem-nc-check-value { color: #999 !important; }
.totem-nc-tm-status { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 1px 6px; border-radius: 4px; background: #f0f0f0; color: #666; margin-left: 4px; vertical-align: middle; }
.totem-nc-tm-more { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(0,0,0,.06); }

/* CTA */
.totem-nc-cta-wrap { margin-bottom: 24px; }
.totem-nc-cta-box { background: #1a1a1a; color: #fff; border-radius: 16px; padding: 40px; text-align: left; }
.totem-nc-cta-eyebrow { margin: 0 0 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #FFD400; }
.totem-nc-cta-box h3 { margin: 0 0 16px; font-size: 22px; font-weight: 800; color: #fff; line-height: 1.3; }
.totem-nc-cta-box > p { margin: 0 0 20px; color: #aaa; line-height: 1.6; font-size: 15px; }
.totem-nc-report-list { margin: 0 0 28px; padding: 0; list-style: none; }
.totem-nc-report-list li { padding: 9px 0; border-top: 1px solid rgba(255,255,255,.08); font-size: 14px; color: #ccc; line-height: 1.4; }
.totem-nc-report-list li:first-child { border-top: none; }
.totem-nc-report-list li::before { content: '→'; color: #FFD400; font-weight: 800; margin-right: 10px; }
.totem-nc-cta-box .totem-nc-btn-primary { background: #FFD400; color: #1a1a1a; max-width: 280px; }
.totem-nc-cta-box .totem-nc-btn-primary:hover { background: #E8C000; }
.totem-nc-cta-note { margin: 14px 0 0; font-size: 12px; color: #666; text-align: center; }

/* Contact form intro */
.totem-nc-contact-intro { margin: -16px 0 24px; font-size: 14px; color: #666; }

/* Contact form */
.totem-nc-contact-form { background: #f5f5f5; border-radius: 16px; padding: 32px; margin-bottom: 24px; }
.totem-nc-contact-form h3 { margin: 0 0 24px; color: #1a1a1a; }
.totem-nc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
@media (max-width: 560px) { .totem-nc-form-grid { grid-template-columns: 1fr; } }
.totem-nc-field-full { grid-column: 1 / -1; }
.totem-nc-privacy { font-size: 12px; color: #888; margin-top: 12px; text-align: center; }
.totem-nc-success-msg { background: #fff9cc; color: #5c4400; border: 2px solid #FFD400; padding: 16px 20px; border-radius: 10px; margin-top: 16px; font-weight: 600; }
