/**
 * Páginas creadas en el panel (servicios, nosotros, contacto, preguntas, landings, módulos del ERP y blog).
 * Usa las mismas variables y componentes que la portada (rf-premium.css).
 */

.rf-page-hero { text-align: center; padding-bottom: 5rem; }
.rf-page-hero .text-lg-start { text-align: center; }
@media (min-width: 992px) { .rf-page-hero .text-lg-start { text-align: left; } .rf-page-hero .text-lg-start .rf-subpage-hero__subtitle { margin-left: 0; } }
.rf-page-hero__media img { width: 100%; height: auto; border-radius: var(--rf-radius); border: 1px solid var(--rf-border); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.6); }

.rf-preview-banner { position: sticky; top: 4.5rem; z-index: 1020; margin: 0 auto; background: var(--rf-amber); color: #111827; text-align: center; font-weight: 600; padding: 0.5rem 1rem; }

/* Texto largo editable: lectura cómoda, títulos con ritmo, listas y enlaces visibles */
.rf-prose { max-width: 46rem; font-size: 1.0625rem; line-height: 1.75; color: var(--rf-text); }
.rf-prose > * + * { margin-top: 1.1em; }
.rf-prose h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; margin-top: 2.2em; line-height: 1.25; letter-spacing: -0.01em; }
.rf-prose h3 { font-size: 1.25rem; font-weight: 700; margin-top: 1.8em; color: var(--rf-cyan); }
.rf-prose p, .rf-prose li { color: color-mix(in srgb, var(--rf-text) 85%, var(--rf-muted)); }
.rf-prose ul, .rf-prose ol { padding-left: 1.25rem; }
.rf-prose li + li { margin-top: 0.4em; }
.rf-prose ul li::marker { color: var(--rf-cyan); }
.rf-prose a { color: var(--rf-cyan); text-decoration: underline; text-underline-offset: 3px; }
.rf-prose a:hover { color: var(--rf-violet); }
.rf-prose strong { color: var(--rf-text); }
.rf-prose img { max-width: 100%; height: auto; border-radius: 0.75rem; }
.rf-prose blockquote { border-left: 3px solid var(--rf-cyan); padding: 0.25rem 0 0.25rem 1rem; color: var(--rf-muted); font-style: italic; }
.rf-prose table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.rf-prose th, .rf-prose td { border: 1px solid var(--rf-border); padding: 0.5rem 0.75rem; text-align: left; }

/* Preguntas frecuentes */
.rf-faq { max-width: 52rem; margin: 0 auto; display: grid; gap: 0.75rem; }
.rf-faq__item { background: var(--rf-surface); border: 1px solid var(--rf-border); border-radius: 1rem; transition: border-color var(--rf-transition); }
.rf-faq__item[open] { border-color: rgba(6, 182, 212, 0.5); }
.rf-faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; }
.rf-faq__item summary::-webkit-details-marker { display: none; }
.rf-faq__item summary h3 { font-size: 1.05rem; font-weight: 600; margin: 0; }
.rf-faq__item summary i { color: var(--rf-cyan); transition: transform var(--rf-transition); }
.rf-faq__item[open] summary i { transform: rotate(180deg); }
.rf-faq__answer { padding: 0 1.25rem 1.25rem; color: var(--rf-muted); line-height: 1.7; }

/* Tarjetas que enlazan a otras páginas */
.rf-page-card { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.75rem; border-radius: var(--rf-radius); background: var(--rf-surface); border: 1px solid var(--rf-border); color: var(--rf-text); text-decoration: none; transition: transform var(--rf-transition), border-color var(--rf-transition), box-shadow var(--rf-transition); }
.rf-page-card:hover, .rf-page-card:focus { transform: translateY(-4px); border-color: rgba(6, 182, 212, 0.5); box-shadow: 0 24px 60px -30px rgba(6, 182, 212, 0.45); color: var(--rf-text); }
.rf-page-card h2, .rf-page-card h3 { font-size: 1.25rem; font-weight: 700; margin: 0; }
.rf-page-card p { color: var(--rf-muted); margin: 0; flex: 1; }
.rf-page-card__more { color: var(--rf-cyan); font-weight: 600; font-size: 0.9rem; }
.rf-page-card .rf-feature__icon { margin-bottom: 0.25rem; }

/* Pasos numerados */
.rf-steps { list-style: none; counter-reset: paso; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); padding: 0; margin: 0; }
.rf-steps li { counter-increment: paso; position: relative; padding: 1.5rem 1.5rem 1.5rem 4.25rem; background: var(--rf-surface); border: 1px solid var(--rf-border); border-radius: 1rem; }
.rf-steps li::before { content: counter(paso); position: absolute; left: 1.25rem; top: 1.4rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--rf-cyan), var(--rf-violet)); }
.rf-steps h3 { font-size: 1.05rem; font-weight: 700; margin: 0 0 0.35rem; }
.rf-steps p { color: var(--rf-muted); margin: 0; font-size: 0.95rem; }

/* ERP: funciones en rejilla y barra de país */
.rf-erp-checks--grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 0.75rem 1.5rem; max-width: 60rem; margin: 0 auto; }
.rf-country-bar { display: flex; align-items: center; justify-content: center; gap: 0.6rem; margin: 1.5rem auto 0; padding: 0.85rem 1.25rem; max-width: 48rem; border-radius: 999px; border: 1px solid rgba(6, 182, 212, 0.4); background: rgba(6, 182, 212, 0.08); color: var(--rf-text); text-decoration: none; font-weight: 600; text-align: center; }
.rf-country-bar:hover { background: rgba(6, 182, 212, 0.16); color: var(--rf-text); }

/* Portada con imagen al lado: el título comparte columna y no puede ser tan grande */
.rf-page-hero--split .rf-subpage-hero__title { font-size: clamp(1.85rem, 3.2vw, 2.6rem); line-height: 1.15; }

/* Blog */
.rf-erp-chip.is-active { border-color: var(--rf-cyan); color: var(--rf-cyan); }
.rf-post-card { display: flex; flex-direction: column; border-radius: var(--rf-radius); overflow: hidden; background: var(--rf-surface); border: 1px solid var(--rf-border); transition: transform var(--rf-transition), border-color var(--rf-transition); }
.rf-post-card:hover { transform: translateY(-4px); border-color: rgba(6, 182, 212, 0.5); }
.rf-post-card__media { aspect-ratio: 1200 / 630; overflow: hidden; display: block; }
.rf-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.rf-post-card__media--placeholder { display: grid; place-items: center; font-size: 2.5rem; color: #fff; background: linear-gradient(135deg, rgba(6, 182, 212, 0.55), rgba(139, 92, 246, 0.55)); }
.rf-post-card__body { padding: 1.25rem 1.4rem 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; }
.rf-post-card__meta { font-size: 0.8rem; color: var(--rf-muted); }
.rf-post-card__meta a { color: var(--rf-cyan); text-decoration: none; }
.rf-post-card h3 { font-size: 1.15rem; font-weight: 700; margin: 0; line-height: 1.35; }
.rf-post-card h3 a { color: var(--rf-text); text-decoration: none; }
.rf-post-card h3 a:hover { color: var(--rf-cyan); }
.rf-post-card p { color: var(--rf-muted); font-size: 0.95rem; margin: 0; }
.rf-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 3rem; }
.rf-pagination a, .rf-pagination span { padding: 0.5rem 0.9rem; border-radius: 0.6rem; border: 1px solid var(--rf-border); color: var(--rf-text); text-decoration: none; }
.rf-pagination span[aria-current] { background: linear-gradient(135deg, var(--rf-cyan), var(--rf-violet)); border-color: transparent; color: #fff; }
.rf-post__title { font-size: clamp(1.9rem, 4vw, 3rem); max-width: 56rem; margin-left: auto; margin-right: auto; }
.rf-post__byline { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.25rem; margin-top: 1.25rem; color: var(--rf-muted); font-size: 0.9rem; }
.rf-post__cover img { width: 100%; height: auto; border-radius: var(--rf-radius); margin-bottom: 2rem; }
.rf-post__aside { position: sticky; top: 6rem; display: grid; gap: 1.5rem; }
.rf-toc { background: var(--rf-surface); border: 1px solid var(--rf-border); border-radius: 1rem; padding: 1.1rem 1.25rem; }
.rf-toc__title { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-muted); margin: 0 0 0.75rem; }
.rf-toc ol { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.45rem; font-size: 0.9rem; }
.rf-toc a { color: var(--rf-text); text-decoration: none; }
.rf-toc a:hover { color: var(--rf-cyan); }
.rf-share { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.rf-share span { width: 100%; font-size: 0.85rem; color: var(--rf-muted); }
.rf-share a { width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--rf-border); color: var(--rf-text); text-decoration: none; }
.rf-share a:hover { border-color: var(--rf-cyan); color: var(--rf-cyan); }
.rf-post__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; }
.rf-post__tags a { font-size: 0.85rem; color: var(--rf-cyan); text-decoration: none; padding: 0.25rem 0.7rem; border: 1px solid rgba(6, 182, 212, 0.35); border-radius: 999px; }
.rf-post__cta { margin-top: 2.5rem; padding: 1.5rem; border-radius: 1rem; background: rgba(6, 182, 212, 0.08); border: 1px solid rgba(6, 182, 212, 0.3); display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }
.rf-post__cta p { margin: 0; font-weight: 600; }
.rf-post__author { display: flex; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--rf-border); }
.rf-post__author p { color: var(--rf-muted); margin: 0.25rem 0 0; font-size: 0.95rem; }
.rf-prose h2[id] { scroll-margin-top: 6rem; }

/* Libro de reclamaciones */
.rf-claim { max-width: 56rem; margin-top: 3rem; }
.rf-claim h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; }
.rf-claim__step { font-size: 1.05rem; font-weight: 700; color: var(--rf-cyan); margin: 1.5rem 0 1rem; }
.rf-claim .form-control, .rf-claim .form-select { background: var(--rf-surface-elevated); border-color: var(--rf-border); color: var(--rf-text); }
