/* /ai-visibility-check — public GEO/AEO visibility scanner (.avc-*)
   Family colors ride the ai-presence product: fuchsia #d946ef → deep #9c32ac.
   Calm pass: one-time reveals only, no permanent glow outside the CTA. */

.avc { max-width: 1080px; margin: 0 auto; padding: clamp(90px, 12vh, 130px) 20px 70px; }

/* ── hero ── */
.avc-hero { text-align: center; }
.avc-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, #d946ef, #9c32ac); color: #fff;
  border-radius: 12px; padding: 7px 16px; font-size: .86rem; font-weight: 700;
}
.avc-h1 { margin: 1.1rem auto .4rem; font-size: clamp(30px, 5vw, 53px); font-weight: 800; color: var(--heading-color); line-height: 1.18; }
.avc-h1 .avc-grad {
  display: inline-block; width: fit-content;
  background: linear-gradient(90deg, var(--accent-violet), var(--accent-pink), var(--accent-orange));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
body.light-theme .avc-h1 { color: #1e293b; background: none; -webkit-text-fill-color: initial; }
body.light-theme .avc-h1 .avc-grad { -webkit-text-fill-color: transparent; }
.avc-sub { max-width: 640px; margin: 0 auto .7rem; color: var(--text-secondary); font-size: 1.05rem; line-height: 1.65; }
.avc-stat { margin: 0 0 1.1rem; color: #d946ef; font-weight: 800; font-size: .95rem; letter-spacing: .01em; }
.avc-steps { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 0 auto 1.5rem; }
.avc-steps span { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); border-radius: 12px; padding: 8px 14px; color: var(--text-color); font-size: .86rem; }
.avc-steps i { color: #d946ef; }

/* ── form ── */
.avc-form { max-width: 860px; margin: 0 auto; }
.avc-fields { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.avc-fields input {
  flex: 1 1 190px; min-width: 0; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04);
  color: var(--text-color); border-radius: 12px; padding: 13px 15px; font-family: inherit; font-size: .95rem;
}
.avc-fields input::placeholder { color: var(--text-secondary); opacity: .85; }
.avc-fields input:focus { outline: none; border-color: #d946ef; }
.avc-hp { position: absolute !important; opacity: 0; pointer-events: none; height: 0; width: 0; padding: 0 !important; border: 0 !important; }
.avc-cta {
  border: 0; cursor: pointer; border-radius: 12px; padding: 13px 26px; font-family: inherit; font-size: 1rem; font-weight: 800;
  background: linear-gradient(135deg, #d946ef, #9c32ac); color: #fff; white-space: nowrap;
  animation: avcPulse 2.6s ease-in-out infinite;
}
.avc-cta:disabled { opacity: .65; cursor: default; animation: none; }
@keyframes avcPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(217, 70, 239, .35); } 50% { box-shadow: 0 0 22px 4px rgba(217, 70, 239, .22); } }
.avc-micro { margin: .7rem 0 0; color: var(--text-secondary); font-size: .82rem; }
.avc-err { margin: .7rem 0 0; color: var(--accent-amber); font-size: .9rem; font-weight: 600; }

/* ── stage ── */
.avc-stage { margin-top: 2.4rem; }
.avc-reveal { animation: avcIn .5s ease both; }
@keyframes avcIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.avc-card {
  border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03);
  border-radius: 18px; padding: 22px 24px; margin-bottom: 16px;
}
.avc-card h3 { margin: 0 0 .8rem; font-size: 1.05rem; color: var(--heading-color); font-weight: 800; border-bottom: 0 !important; }

/* progress */
.avc-progress { text-align: center; padding: 2.6rem 1.4rem; }
.avc-progress b { display: block; font-size: 1.2rem; color: var(--heading-color); margin-bottom: .5rem; }
.avc-progress p { color: var(--text-secondary); font-size: .95rem; }
.avc-dots { display: inline-flex; gap: 7px; margin-top: 1.1rem; }
.avc-dots span { width: 10px; height: 10px; border-radius: 50%; background: #d946ef; animation: avcDot 1.2s ease-in-out infinite; }
.avc-dots span:nth-child(2) { animation-delay: .2s; }
.avc-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes avcDot { 0%, 100% { opacity: .3; transform: scale(.85); } 50% { opacity: 1; transform: scale(1.1); } }

/* score + signals */
.avc-grid { display: grid; grid-template-columns: 250px 1fr; gap: 16px; align-items: stretch; }
.avc-score { text-align: center; display: flex; flex-direction: column; justify-content: center; }
.avc-score b { font-size: 3.2rem; font-weight: 800; color: #d946ef; line-height: 1.05; }
.avc-score span { color: var(--text-secondary); font-size: .82rem; line-height: 1.5; }
.avc-signals { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 9px; }
.avc-sig { display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; padding: 9px 12px; font-size: .86rem; color: var(--text-color); }
.avc-sig i { flex-shrink: 0; }
.avc-sig.ok i { color: var(--accent-emerald); }
.avc-sig.miss i { color: var(--accent-amber); }
.avc-sig.miss { color: var(--text-secondary); }

/* the real check + report rows */
.avc-chip { display: inline-block; border-radius: 9px; padding: 3px 11px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.avc-chip.ok  { background: rgba(16, 185, 129, .14); color: var(--accent-emerald); }
.avc-chip.mid { background: rgba(245, 158, 11, .14); color: var(--accent-amber); }
.avc-chip.off { background: rgba(255,255,255,.06); color: var(--text-secondary); }
.avc-q { color: var(--heading-color); font-weight: 700; font-size: .95rem; }
.avc-snippet { margin-top: .6rem; color: var(--text-secondary); font-size: .88rem; line-height: 1.6; border-inline-start: 3px solid #d946ef; padding-inline-start: 12px; }

.avc-locked { display: flex; gap: 9px; flex-wrap: wrap; }
.avc-locked span { display: inline-flex; align-items: center; gap: 7px; border: 1px dashed rgba(255,255,255,.18); border-radius: 12px; padding: 8px 14px; color: var(--text-secondary); font-size: .88rem; }
.avc-locked i { color: #d946ef; }

/* no-site cross-sell + tips */
.avc-nosite { text-align: center; border-color: rgba(217, 70, 239, .35); }
.avc-nosite p { max-width: 620px; margin: .4rem auto 1.1rem; color: var(--text-secondary); font-size: .92rem; line-height: 1.65; }
.avc-tips { display: grid; gap: 10px; }
.avc-tip { display: flex; gap: 12px; align-items: flex-start; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; padding: 12px 14px; }
.avc-tip .num { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #d946ef, #9c32ac); color: #fff; font-weight: 800; font-size: .85rem; }
.avc-tip b { color: var(--heading-color); font-size: .92rem; }
.avc-tip p { margin: .25rem 0 0; color: var(--text-secondary); font-size: .86rem; line-height: 1.6; }

/* lead form */
.avc-lead { text-align: center; border-color: rgba(217, 70, 239, .35); }
.avc-lead p { color: var(--text-secondary); font-size: .92rem; margin: .3rem 0 1rem; }
.avc-lead .avc-fields { max-width: 760px; margin: 0 auto; }

/* report table */
.avc-table-wrap { overflow-x: auto; }
.avc-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .88rem; }
.avc-table th { color: var(--text-secondary); font-weight: 700; text-align: start; padding: 9px 12px; border-bottom: 1px solid rgba(255,255,255,.12); white-space: nowrap; }
.avc-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.07); color: var(--text-color); vertical-align: top; }
.avc-table tr:last-child td { border-bottom: 0; }
.avc-summary { font-size: 1rem; color: var(--heading-color); font-weight: 700; margin: 0 0 .9rem; }

/* real-examples strip */
.avc-examples { margin-top: 2.6rem; text-align: center; }
.avc-ex-h2 { margin: 0 0 .3rem; font-size: 1.5rem; font-weight: 800; color: var(--heading-color); }
.avc-ex-sub { margin: 0 0 1.1rem; color: var(--text-secondary); font-size: .95rem; }
.avc-ex-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; text-align: start; }
.avc-ex-card p { margin: .5rem 0 0; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; }
.avc-ex-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: space-between; }
.avc-ex-head b { color: var(--heading-color); font-size: .95rem; }
.avc-ex-note { margin: .8rem 0 0; color: var(--text-secondary); font-size: .78rem; }

/* testimonials (real quotes only; hidden while empty) */
.avc-tst { margin-top: 2.4rem; text-align: center; }
.avc-tst-card { display: none; max-width: 720px; margin: 0 auto; text-align: start; }
.avc-tst-card.active { display: block; }
.avc-tst-card blockquote { margin: 0 0 1rem; color: var(--text-color); font-size: 1rem; line-height: 1.75; }
.avc-tst-card figcaption { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--text-secondary); font-size: .88rem; }
.avc-tst-card figcaption b { color: var(--heading-color); }
.avc-tst-verified { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(37, 211, 102, .45); color: #25d366; border-radius: 10px; padding: 3px 10px; font-size: .78rem; font-weight: 700; }
.avc-tst-nav { margin-top: .8rem; display: flex; gap: 8px; justify-content: center; }

/* Roby line in the report band */
.avc-roby { max-width: 560px; margin: 0 auto 1.2rem; color: var(--text-color); font-size: .9rem; }
.avc-roby i { color: #25d366; margin-inline-end: 6px; }

/* closing CTA band */
.avc-band { text-align: center; padding: 30px 24px; }
.avc-band h3 { font-size: 1.35rem; }
.avc-band p { max-width: 560px; margin: 0 auto 1.2rem; color: var(--text-secondary); font-size: .95rem; line-height: 1.6; }
.avc-band-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.avc-btn-ghost {
  display: inline-block; border-radius: 12px; padding: 12px 24px; font-weight: 700; font-size: .96rem; text-decoration: none;
  border: 1.5px solid rgba(217, 70, 239, .55); color: #d946ef; background: transparent; transition: background .15s;
}
.avc-btn-ghost:hover { background: rgba(217, 70, 239, .1); }
.avc-btn-solid {
  display: inline-block; border-radius: 12px; padding: 12px 26px; font-weight: 800; font-size: .96rem; text-decoration: none;
  background: linear-gradient(135deg, #d946ef, #9c32ac); color: #fff;
}
.avc-mini { border: 1px solid rgba(255,255,255,.14); background: transparent; color: var(--text-secondary); border-radius: 12px; padding: 9px 18px; font-family: inherit; font-size: .86rem; font-weight: 700; cursor: pointer; }
.avc-mini:hover { color: #d946ef; border-color: #d946ef; }

.avc-note { display: flex; gap: .6rem; align-items: flex-start; max-width: 860px; margin: 1.6rem auto 0; color: var(--text-secondary); font-size: .8rem; line-height: 1.6; border: 1px dashed rgba(255,255,255,.14); border-radius: 12px; padding: .8rem 1rem; }
.avc-note i { color: var(--accent-amber); margin-top: 2px; }

/* light theme */
body.light-theme .avc-card, body.light-theme .avc-sig { border-color: rgba(15, 23, 42, .12); background: rgba(15, 23, 42, .03); }
body.light-theme .avc-steps span { border-color: rgba(15, 23, 42, .14); background: rgba(15, 23, 42, .03); }
body.light-theme .avc-tip { border-color: rgba(15, 23, 42, .1); }
body.light-theme .avc-fields input { border-color: rgba(15, 23, 42, .18); background: #fff; }
body.light-theme .avc-note { border-color: rgba(15, 23, 42, .18); }
body.light-theme .avc-locked span { border-color: rgba(15, 23, 42, .22); }
body.light-theme .avc-table th { border-color: rgba(15, 23, 42, .15); }
body.light-theme .avc-table td { border-color: rgba(15, 23, 42, .08); }

@media (max-width: 760px) {
  .avc-grid { grid-template-columns: 1fr; }
  .avc-ex-grid { grid-template-columns: 1fr; }
  .avc-fields input { flex-basis: 100%; }
  .avc-cta { width: 100%; }
}
