/* V20 L3 · Seven-step listing assistant. Loaded only on the "Publica tu servicio" page; every rule is scoped to .lbe-wizard. */
.lbe-wizard .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lbe-wizard .lbe-provider-kicker { display: block; margin: 0; color: var(--c-teal-700); font-size: var(--t-small); font-weight: 750; letter-spacing: .02em; }
.lbe-wizard > h2 { margin: 0; }

/* Progress: a compact numbered rail that wraps on small screens. */
.lbe-wizard-progress ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.lbe-wizard-progress li { min-width: 0; }
.lbe-wizard-progress li, .lbe-wizard-progress li > a { display: grid; gap: 6px; justify-items: start; align-content: start; }
.lbe-wizard-progress li > a { color: inherit; text-decoration: none; border-radius: var(--r-s); }
.lbe-wizard-progress li > a:hover .lbe-wizard-label { text-decoration: underline; }
.lbe-wizard-progress li { position: relative; padding-top: 10px; border-top: 4px solid var(--c-line); color: var(--c-text-3); }
.lbe-wizard-progress li.is-done { border-top-color: var(--c-teal); color: var(--c-ink); }
.lbe-wizard-progress li.is-current { border-top-color: var(--c-gold); color: var(--c-ink); }
.lbe-wizard-num { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: var(--r-pill); background: var(--c-sunken); font-size: .8125rem; font-weight: 750; }
.lbe-wizard-progress li.is-done .lbe-wizard-num { background: var(--c-teal-50); color: var(--c-teal-700); }
.lbe-wizard-progress li.is-current .lbe-wizard-num { background: var(--c-ink); color: var(--c-white); }
.lbe-wizard-label { font-size: var(--t-micro, .8125rem); font-weight: 650; line-height: 1.25; overflow-wrap: anywhere; }
.lbe-wizard-progress li.is-current .lbe-wizard-label { font-weight: 750; }

/* Messages. */
.lbe-wizard-hint { margin: 6px 0 0; color: var(--c-text-2); font-size: var(--t-small); }
.lbe-wizard-error { margin: 8px 0 0; color: var(--c-red-700); font-size: var(--t-small); font-weight: 700; }
.lbe-wizard [aria-invalid="true"] { border-color: var(--c-red) !important; box-shadow: 0 0 0 1px var(--c-red); }
.lbe-wizard-summary { padding: var(--sp-5); border: 2px solid var(--c-red); border-radius: var(--r-m); background: var(--c-red-50); }
.lbe-wizard-summary h3 { margin: 0 0 var(--sp-2); font-size: var(--t-h4, 1.1rem); color: var(--c-red-700); }
.lbe-wizard-summary ul { margin: 0; padding-left: 1.2em; }
.lbe-wizard-summary a { color: var(--c-red-700); font-weight: 700; }

/* Actions: primary first, full width on phones. */
.lbe-wizard-actions { margin-top: var(--sp-6); }
.lbe-wizard-actions .lbe-wizard-exit { margin-left: auto; }
@media (max-width: 600px) {
  .lbe-wizard-progress ol { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  .lbe-wizard-progress li:not(.is-current) .lbe-wizard-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .lbe-wizard-progress li.is-current { grid-column: span 1; }
  .lbe-wizard-progress li.is-current .lbe-wizard-label { position: absolute; top: 46px; left: 0; width: max-content; max-width: 70vw; }
  .lbe-wizard-progress { padding-bottom: 26px; }
  .lbe-wizard .lbe-wizard-actions { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  .lbe-wizard .lbe-wizard-actions > button { flex: 0 0 auto; width: 100%; }
  .lbe-wizard-actions .lbe-wizard-exit { margin-left: 0; }
}

/* Summary before sending. */
.lbe-wizard-checklist { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border: 1px solid var(--c-line); border-radius: var(--r-m); background: var(--c-white); }
.lbe-wizard-checklist li { display: flex; justify-content: space-between; gap: var(--sp-3); align-items: center; min-height: 48px; padding: 10px 16px; border-bottom: 1px solid var(--c-line); }
.lbe-wizard-checklist li:last-child { border-bottom: 0; }
.lbe-wizard-checklist li::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--c-teal); }
.lbe-wizard-checklist li.is-missing::before { background: var(--c-red); }
.lbe-wizard-checklist li > span { flex: 1; }
.lbe-wizard-checklist a { font-weight: 700; }

/* Owner preview: the public page inside a framed card. */
.lbe-wizard-preview { container-type: inline-size; overflow: hidden; border: 1px solid var(--c-line-strong); border-radius: var(--r-l); background: var(--c-mist); box-shadow: var(--e-1); }
.lbe-wizard .lbe-wizard-preview .site-wrap { width: auto; max-width: none; padding-inline: clamp(16px, 3vw, 28px); }
.lbe-wizard .lbe-wizard-preview .lbe-listing-header { margin: 0; padding-block: 24px; }
.lbe-wizard .lbe-wizard-preview .lbe-listing-name { max-width: 24ch; margin: 0; font-size: clamp(1.4rem, 1.2rem + 1vw, 2rem); overflow-wrap: anywhere; }
.lbe-wizard .lbe-wizard-preview .lbe-listing-layout { grid-template-columns: minmax(0, 1fr); padding-block: 24px; }
.lbe-wizard .lbe-wizard-preview .lbe-listing-aside { position: static; order: 0; }
@container (min-width: 720px) {
  .lbe-wizard .lbe-wizard-preview .lbe-listing-layout { grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); }
}
.lbe-wizard-new { margin: 0; }
.lbe-wizard-continue { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.lbe-wizard-continue span { color: var(--c-text-2); font-size: var(--t-small); }
@media (prefers-reduced-motion: reduce) { .lbe-wizard * { transition: none !important; } }
