/* Analizador SEO + IA — complementa assets/css/site.css (usa sus variables y componentes) */
.az-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (max-width: 900px) { .az-grid { grid-template-columns: 1fr; } }
.az-hero h1 { max-width: 16ch; }
.az-bots { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1.6rem 0 0; }
.az-bots li { border: 1px solid rgba(255,255,255,.45); border-radius: 999px; padding: .3em .9em; font-size: var(--step--1); }
.az-tool .form { color: var(--text); box-shadow: 0 28px 60px -32px rgba(42,31,61,.6); }
.az-tool .form a { color: var(--accent-ink); }
.az-tool .az-go { background: var(--accent); color: #fff; }
.az-tool .az-go:hover { background: var(--accent-ink); color: #fff; }
.az-go { width: 100%; justify-content: center; font-size: var(--step-0); }
.az-go[disabled] { opacity: .6; cursor: wait; }
.az-err { color: #b3261e; font-size: var(--step--1); margin: .1rem 0 0; }
.az-err:empty { display: none; }
.az-err button { background: none; border: 0; padding: 0; font: inherit; color: var(--accent-ink); text-decoration: underline; cursor: pointer; }
.field input[aria-invalid="true"] { border-color: #b3261e; }

.az-progress { color: var(--text); }
.az-progress[hidden] { display: none; }
.az-spinner { width: 44px; height: 44px; border-radius: 50%; border: 4px solid var(--tint-pink); border-top-color: var(--accent); animation: az-spin 1s linear infinite; }
.az-progress ol { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.az-progress li { color: #b4a7b6; padding-left: 1.7rem; position: relative; transition: color .3s; }
.az-progress li::before { content: ""; position: absolute; left: 0; top: .38em; width: .9rem; height: .9rem; border-radius: 50%; border: 2px solid currentColor; }
.az-progress li.on { color: var(--text); font-weight: 600; }
.az-progress li.on::before { border-color: var(--accent); border-top-color: transparent; animation: az-spin .8s linear infinite; }
.az-progress li.done { color: var(--muted); }
.az-progress li.done::before { background: var(--mint-ink); border-color: var(--mint-ink); }

.az-result { outline: none; }
.az-result[hidden] { display: none; }
.is-ok { --c: #137a4b; } .is-mid { --c: #2f6fae; } .is-warn { --c: #b86e00; } .is-bad { --c: #b3261e; }
.az-head { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; margin-bottom: 2.5rem; }
@media (max-width: 600px) { .az-head { grid-template-columns: 1fr; } }
.az-gauge { position: relative; width: 180px; height: 180px; }
.az-gauge svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.az-g-bg { fill: none; stroke: rgba(42,31,61,.1); stroke-width: 12; }
.az-g-fg { fill: none; stroke: var(--c, var(--accent)); stroke-width: 12; stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray 1.4s cubic-bezier(.2,.7,.2,1); }
.az-g-num { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; font: 700 3.4rem/1 var(--font-display); color: var(--c, var(--accent)); }
.az-g-num small { font: 500 .8rem var(--font-body); color: var(--muted); margin-top: .25rem; }
.az-host { font-weight: 600; color: var(--muted); word-break: break-all; }
.az-head h2 { color: var(--c, var(--text)); font-size: var(--step-2); margin: .2rem 0 .5rem; }
.az-sent { margin-top: .6rem; font-size: var(--step--1); color: var(--muted); }
.az-cats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-bottom: 3rem; }
@media (max-width: 900px) { .az-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.az-cat { background: var(--surface); border-radius: var(--radius); padding: 1rem 1.1rem; }
.az-cat p { font-weight: 600; font-size: var(--step--1); min-height: 3.2em; line-height: 1.6; margin-bottom: .6rem; }
.az-bar { height: 8px; border-radius: 6px; background: rgba(42,31,61,.08); overflow: hidden; }
.az-bar i { display: block; height: 100%; width: 0; background: var(--c); border-radius: 6px; transition: width 1.2s cubic-bezier(.2,.7,.2,1); }
.az-cat b { display: block; font: 700 1.6rem/1 var(--font-display); color: var(--c); margin-top: .5rem; }
.az-h { font-size: var(--step-2); margin-bottom: 1rem; }
.az-issues { display: grid; gap: .8rem; }
.az-issue { background: var(--surface); border-radius: var(--radius); padding: 1.1rem 1.3rem; border-left: 4px solid #b86e00; }
.az-issue.fail { border-left-color: #b3261e; }
.az-issue h4 { font-family: var(--font-display); font-size: var(--step-0); margin: 0 0 .25rem; }
.az-issue .found { color: var(--muted); font-size: var(--step--1); margin-bottom: .4rem; }
.az-more { margin: 1rem 0 2.5rem; color: var(--muted); }
.az-cta { border-radius: calc(var(--radius) * 1.5); background: var(--plum); color: #fff; padding: clamp(1.6rem, 1rem + 3vw, 3rem); display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 1.5rem 3rem; align-items: center; }
.az-cta.hot { background: var(--brand-gradient); }
.az-cta h2 { font-size: var(--step-2); }
.az-cta p { margin-top: .6rem; color: rgba(255,255,255,.9); max-width: 38rem; }
.az-cta .btn--primary { background: #fff; color: var(--brand-deep); }
.az-cta .btn--ghost { color: #fff; }
@media (max-width: 760px) { .az-cta { grid-template-columns: 1fr; } }
.az-again { margin-top: 1.5rem; }
.az-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.az-areas article { border-top: 3px solid var(--accent); padding-top: 1rem; }
.az-areas p { color: var(--muted); margin-top: .5rem; }
.az-read { margin-top: 2rem; }
@keyframes az-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .az-spinner, .az-progress li.on::before { animation: none; } .az-g-fg, .az-bar i { transition: none; } }
