/* ── Guías para propietarios · estilos compartidos ── */

.guide { max-width: var(--maxw-narrow, 820px); }
.guide-block { margin-top: clamp(2.6rem, 1.8rem + 3vw, 4.2rem); scroll-margin-top: 110px; }
.guide-block:first-of-type { margin-top: 0; }
.guide-block h2 { max-width: 30ch; }
.guide-p { margin-top: var(--space-md); color: var(--ink-soft); line-height: 1.7; max-width: 68ch; }
.guide-p b { color: var(--ink); font-weight: 600; }
.guide a:not(.btn) { color: var(--forest-800); text-decoration: underline; text-underline-offset: 3px; }

/* Índice */
.guide-toc { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r-lg); padding: var(--space-lg); box-shadow: var(--shadow-card); margin-bottom: clamp(2.4rem, 1.6rem + 3vw, 3.8rem); }
.guide-toc__title { font-weight: 600; color: var(--ink); margin-bottom: var(--space-sm); }
.guide-toc ol { list-style: decimal; padding-left: 1.3rem; columns: 2; column-gap: var(--space-xl, 2.4rem); }
.guide-toc li { color: var(--ink-soft); font-size: .95rem; line-height: 1.5; padding: .18rem 0; break-inside: avoid; }
.guide .guide-toc a { text-decoration: none; color: var(--ink-soft); }
.guide .guide-toc a:hover { color: var(--forest-800); text-decoration: underline; }
@media (max-width: 640px) { .guide-toc ol { columns: 1; } }

/* Listas con check */
.guide-check { display: grid; gap: var(--space-sm); margin-top: var(--flow-block); max-width: 68ch; }
.guide-check li { display: flex; align-items: flex-start; gap: .7rem; color: var(--ink-soft); font-size: .98rem; line-height: 1.6; }
.guide-check li svg { width: 22px; height: 22px; flex: none; color: var(--forest-600); margin-top: .12em; }
.guide-check li b { color: var(--ink); font-weight: 600; }

/* Aviso destacado: anulación del Registro Único */
.guide-alert { background: var(--forest-900); color: var(--on-dark); border-radius: var(--r-xl); padding: clamp(1.8rem, 1.2rem + 2.5vw, 3rem); box-shadow: var(--shadow-soft); }
.guide-alert .eyebrow { color: var(--sand-soft); }
.guide-alert h2 { color: var(--on-dark); margin-top: var(--space-2xs); }
.guide-alert h3 { color: var(--on-dark); font-size: 1.08rem; margin-bottom: var(--space-xs); }
.guide-alert p { color: var(--on-dark-soft); margin-top: var(--space-md); line-height: 1.7; }
.guide-alert b { color: var(--on-dark); font-weight: 600; }
.guide-alert__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); margin-top: var(--space-lg); }
.guide-alert__cols ul { display: grid; gap: var(--space-xs); }
.guide-alert__cols li { position: relative; padding-left: 1.1rem; color: var(--on-dark-soft); font-size: .95rem; line-height: 1.55; }
.guide-alert__cols li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--sand-soft); }
.guide-alert__note { padding-top: var(--space-md); border-top: 1px solid var(--line-dark); }
@media (max-width: 700px) { .guide-alert__cols { grid-template-columns: 1fr; } }

/* Pasos numerados */
.guide-steps { counter-reset: paso; list-style: none; padding-left: 0; display: grid; gap: var(--space-md); margin-top: var(--flow-block); }
.guide-steps li { counter-increment: paso; position: relative; background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r-lg); padding: var(--space-lg) var(--space-lg) var(--space-lg) calc(var(--space-lg) + 3rem); box-shadow: var(--shadow-card); }
.guide-steps li::before { content: counter(paso); position: absolute; left: var(--space-lg); top: var(--space-lg); width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; background: var(--cream-3); color: var(--forest-800); font-family: var(--font-display); font-weight: 500; font-size: 1.1rem; }
.guide-steps h3 { font-size: 1.12rem; margin-bottom: var(--space-2xs); }
.guide-steps p { color: var(--ink-soft); font-size: .96rem; line-height: 1.65; }

/* Tarjetas de requisitos */
.guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); margin-top: var(--flow-block); }
.guide-card { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r-lg); padding: var(--space-lg); box-shadow: var(--shadow-card); }
.guide-card h3 { font-size: 1.08rem; margin-bottom: var(--space-sm); }
.guide-card ul { display: grid; gap: var(--space-xs); }
.guide-card li { position: relative; padding-left: 1.1rem; color: var(--ink-soft); font-size: .94rem; line-height: 1.55; }
.guide-card li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--forest-600); }
@media (max-width: 760px) { .guide-grid { grid-template-columns: 1fr; } }

/* Tablas */
.guide-table-wrap { overflow-x: auto; margin-top: var(--space-md); }
.guide-card .guide-table-wrap { margin-top: 0; }
.guide-table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.guide-table th { text-align: left; font-weight: 600; color: var(--ink); padding: .6rem .8rem; border-bottom: 2px solid var(--line-soft); background: var(--cream-3); }
.guide-table td { padding: .6rem .8rem; border-bottom: 1px solid var(--line-soft); color: var(--ink-soft); vertical-align: top; line-height: 1.5; }
.guide-table--wide { min-width: 560px; background: var(--paper); border-radius: var(--r); overflow: hidden; }

/* Notas y pendientes */
.guide-note { max-width: 72ch; margin-top: var(--flow-block); padding: var(--space-md) var(--space-lg); background: var(--cream-3); border: 1px solid var(--line-soft); border-radius: var(--r); font-size: var(--fs-small); color: var(--ink-soft); line-height: 1.65; }
.guide-note b { color: var(--ink); }
.guide-open { display: grid; gap: var(--space-sm); margin-top: var(--flow-block); max-width: 68ch; }
.guide-open li { position: relative; padding-left: 1.8rem; color: var(--ink-soft); line-height: 1.6; }
.guide-open li::before { content: "?"; position: absolute; left: 0; top: .05em; width: 1.25rem; height: 1.25rem; display: grid; place-items: center; border-radius: 50%; background: var(--sand-soft, #e9dcc3); color: var(--ink); font-weight: 700; font-size: .78rem; }

/* Fuentes */
.guide-sources { display: grid; gap: var(--space-sm); margin-top: var(--flow-block); }
.guide-sources li { padding-bottom: var(--space-sm); border-bottom: 1px solid var(--line-soft); line-height: 1.5; }
.guide-sources span { display: block; font-size: var(--fs-small); color: var(--ink-mute, var(--ink-soft)); margin-top: .15rem; }
.guide-disclaimer { margin-top: var(--flow-block); font-size: var(--fs-small); color: var(--ink-soft); font-style: italic; max-width: 72ch; }

/* FAQ acordeón (patrón de /preguntas-frecuentes/) */
.faq-list { max-width: var(--maxw-narrow); margin-inline: auto; }
.faq-list details { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); box-shadow: var(--shadow-card); margin-bottom: var(--space-sm); overflow: hidden; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: 1.15rem 1.4rem; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary h3 { font-family: var(--font-body); font-weight: 600; font-size: 1.02rem; line-height: 1.45; letter-spacing: 0; }
.faq-list summary::after { content: "+"; flex: none; font-family: var(--font-display); font-size: 1.6rem; line-height: 1; color: var(--sand-deep); transition: transform .4s var(--ease); }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list .faq-a { padding: 0 1.4rem 1.35rem; color: var(--ink-soft); }
.faq-list summary:focus-visible { outline: 2px solid var(--forest-600); outline-offset: 3px; border-radius: var(--r); }

/* Enlaces a servicios (patrón de mini-tarjetas del sitio) */
.guide-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); margin-top: var(--flow-block); }
.guide-links a { display: flex; flex-direction: column; gap: var(--space-2xs); padding: var(--space-lg); background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-card); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.guide-links a:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.guide-links h3 { font-size: 1.05rem; }
.guide-links p { color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }
.guide-links .arrow-link { margin-top: auto; padding-top: var(--space-sm); font-size: .82rem; }
@media (max-width: 780px) { .guide-links { grid-template-columns: 1fr; } }

/* Etiqueta de fecha estimada (sin anuncio oficial) */
.guide-est { display: inline-block; margin-left: .35rem; padding: .05rem .45rem; border-radius: 999px; background: var(--cream-3); border: 1px solid var(--line-soft); font-size: .72rem; font-weight: 600; letter-spacing: .02em; color: var(--ink-soft); vertical-align: middle; white-space: nowrap; }

/* Temporadas del año (tarjetas con cabecera de color) */
.guide-seasons { display: grid; gap: var(--space-md); margin-top: var(--flow-block); }
.guide-season { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-card); overflow: hidden; }
.guide-season__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-xs); padding: var(--space-md) var(--space-lg); background: var(--cream-3); border-bottom: 1px solid var(--line-soft); }
.guide-season__head h3 { font-size: 1.15rem; }
.guide-season__level { font-size: .8rem; font-weight: 600; color: var(--forest-800); }
.guide-season__body { padding: var(--space-md) var(--space-lg) var(--space-lg); }
.guide-season__body p { color: var(--ink-soft); font-size: .96rem; line-height: 1.65; }
.guide-season__body ul { display: grid; gap: var(--space-xs); margin-top: var(--space-sm); }
.guide-season__body li { position: relative; padding-left: 1.1rem; color: var(--ink-soft); font-size: .94rem; line-height: 1.55; }
.guide-season__body li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--forest-600); }
.guide-season__body li b { color: var(--ink); font-weight: 600; }

/* Barra de ocupación dentro de tablas */
.guide-bar { display: flex; align-items: center; gap: .5rem; min-width: 150px; }
.guide-bar__track { display: block; flex: 1; height: 8px; border-radius: 999px; background: var(--cream-3); overflow: hidden; }
.guide-bar__fill { display: block; height: 100%; border-radius: 999px; background: var(--forest-600); }
.guide-bar__val { font-variant-numeric: tabular-nums; min-width: 3.2ch; text-align: right; color: var(--ink); font-weight: 600; font-size: .9rem; }

/* Comparativa lado a lado */
.guide-table--compare th:first-child, .guide-table--compare td:first-child { font-weight: 600; color: var(--ink); width: 26%; }

/* Índice de guías */
.guide-hub { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-md); margin-top: var(--flow-block); }
.guide-hub a { display: flex; flex-direction: column; gap: var(--space-2xs); padding: var(--space-lg); background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-card); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.guide-hub a:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.guide-hub .eyebrow { font-size: .72rem; }
.guide-hub h2 { font-size: 1.25rem; line-height: 1.3; }
.guide-hub p { color: var(--ink-soft); font-size: .93rem; line-height: 1.55; }
.guide-hub .arrow-link { margin-top: auto; padding-top: var(--space-sm); font-size: .82rem; }
@media (max-width: 760px) { .guide-hub { grid-template-columns: 1fr; } }

/* Texto solo para lectores de pantalla */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
