/* RiberaCuida — arquitectura municipio / servicio / ficha */
.rc-municipio, .rc-servicio--pagina, .rc-relacionados { max-width: 1200px; margin: 2rem auto; }
.rc-municipio__titulo { font-family: 'Kanit', sans-serif; color: #1f3d29; display: flex; flex-wrap: wrap; align-items: baseline; gap: .75rem; }
.rc-municipio__total { font-size: 1rem; font-weight: 500; color: #5b5e5a; }
.rc-indice { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; background: #f6f7f4; border: 1px solid #e6e9e2; border-radius: 12px; padding: 1.25rem; margin: 1rem 0 2.5rem; }
.rc-indice__raiz { font-size: 1rem; margin: 0 0 .5rem; color: #2f6237; font-family: 'Kanit', sans-serif; }
.rc-indice ul { list-style: none; margin: 0; padding: 0; }
.rc-indice li { margin: .2rem 0; }
.rc-indice a { color: #1f3d29; text-decoration: none; }
.rc-indice a:hover, .rc-indice a:focus { text-decoration: underline; }
.rc-count { color: #5b5e5a; font-size: .9em; }
.rc-servicio { scroll-margin-top: 6rem; margin: 0 0 2rem; }
.rc-lista__meta { display: block; font-size: .9rem; color: #5b5e5a; }
.rc-lista__meta a { color: #2f6237; }
.rc-badge-supra { background: #fff3cd; color: #664d03; border-radius: 4px; padding: 0 .35rem; }
.rc-atienden-titulo { margin: 1rem 0 .25rem; font-weight: 600; color: #5b5e5a; }
.rc-ver-todos { margin-top: .75rem; font-weight: 600; }
.rc-ver-todos a { color: #2f6237; }
.rc-relacionados h2 { font-family: 'Kanit', sans-serif; font-size: 1.35rem; color: #1f3d29; }
/* Migas de pan */
.rc-breadcrumbs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: .875rem; }
.rc-breadcrumbs li + li::before { content: "/"; margin-right: .25rem; color: #8a8f88; }
.rc-breadcrumbs a { color: #2f6237; }
/* Reportar error: enlace discreto bajo los datos de contacto */
.rc-reportar { margin: .75rem 0 0; font-size: .9rem; color: #5b5e5a; line-height: 1.5; }
.rc-reportar__pregunta { margin-right: .25rem; }
.rc-reportar .rc-reportar-btn,
.rc-reportar .rc-reportar-btn:hover,
.rc-reportar .rc-reportar-btn:focus { all: unset; }
.rc-reportar .rc-reportar-btn { display: inline; cursor: pointer; color: #2f6237; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; font-size: inherit; line-height: inherit; }
.rc-reportar .rc-reportar-btn:hover { color: #1f3d29; text-decoration-thickness: 2px; }
.rc-reportar .rc-reportar-btn:focus-visible { outline: 2px solid #2f6237; outline-offset: 2px; border-radius: 2px; }
.rc-reportar .rc-reportar-btn i { font-size: .95em; margin-right: .15rem; }
.rc-reportar-dialog__ayuda { color: #5b5e5a; margin: 0 0 .5rem; }
.rc-reportar-dialog { border: none; border-radius: 12px; padding: 0; width: min(640px, calc(100vw - 32px)); max-height: 90vh; box-shadow: 0 20px 50px rgba(0,0,0,.3); }
.rc-reportar-dialog::backdrop { background: rgba(0,0,0,.5); }
.rc-reportar-dialog__inner { padding: 1.5rem; overflow-y: auto; max-height: 90vh; box-sizing: border-box; }
.rc-reportar-dialog__cerrar { float: right; background: none; border: none; font-size: 1.75rem; line-height: 1; cursor: pointer; color: #5b5e5a; }
.rc-reportar-dialog__recurso { background: #f6f7f4; border-radius: 8px; padding: .75rem 1rem; font-size: .95rem; margin: .5rem 0 1rem; }
.rc-reportar-dialog__recurso dt { font-weight: 600; float: left; clear: left; margin-right: .4rem; }
.rc-reportar-dialog__recurso dd { margin: 0; word-break: break-all; }
/* Cabecera de portada y landings */
.rc-cabecera { max-width: 1200px; margin: 2rem auto 1.5rem; }
.rc-cabecera__h1 { font-family: 'Kanit', sans-serif; color: #1f3d29; font-size: clamp(1.75rem, 4vw, 2.6rem); line-height: 1.15; margin: 0 0 .75rem; }
.rc-cabecera__intro { font-size: 1.125rem; color: #3c3f3b; max-width: 70ch; margin: 0; }
.rc-landing { max-width: 1200px; margin: 0 auto 2rem; }
.rc-landing .rc-indice { display: block; }
.rc-landing .rc-indice ul { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
/* Intro bajo el mapa */
.rc-intro { max-width: 1200px; margin: 1.5rem auto 1.25rem; }
/* Enlazado a municipios cercanos */
.rc-cercanos { max-width: 1200px; margin: 2.5rem auto 1rem; padding-top: 1.5rem; border-top: 1px solid #e6e9e2; }
.rc-cercanos h2 { font-family: 'Kanit', sans-serif; font-size: 1.3rem; color: #1f3d29; margin: 0 0 .75rem; }
.rc-cercanos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.rc-cercanos a { display: inline-block; padding: .45rem .9rem; border: 1px solid #cfd8c9; border-radius: 999px; background: #f6f7f4; color: #1f3d29; text-decoration: none; font-weight: 500; }
.rc-cercanos a:hover, .rc-cercanos a:focus { background: #2f6237; border-color: #2f6237; color: #fff; }
/* Listado solo con nombre */
/* Formulario del modal: colores de la web y botón de tamaño normal */
.rc-reportar-dialog .gform_wrapper.gform-theme--framework {
	--gf-color-primary: #2f6237;
	--gf-color-primary-rgb: 47, 98, 55;
	--gf-color-primary-contrast: #fff;
	--gf-color-primary-darker: #1f3d29;
	--gf-color-primary-lighter: #4f8a3c;
	--gf-ctrl-outline-color-focus: #7ab069;
	--gf-ctrl-border-color-focus: #2f6237;
}
.rc-reportar-dialog .gform_footer { margin-top: 1rem; padding: 0; }
.rc-reportar-dialog .gform_wrapper .gform_footer input[type="submit"],
.rc-reportar-dialog .gform_wrapper .gform_footer button {
	background: #2f6237 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: .7rem 1.5rem !important;
	height: auto !important;
	min-height: 0 !important;
	width: auto !important;
	line-height: 1.3 !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	cursor: pointer;
}
.rc-reportar-dialog .gform_wrapper .gform_footer input[type="submit"]:hover,
.rc-reportar-dialog .gform_wrapper .gform_footer input[type="submit"]:focus-visible { background: #1f3d29 !important; }
.rc-reportar-dialog .gform_wrapper .gform_footer input[type="submit"]:focus-visible { outline: 3px solid #7ab069 !important; outline-offset: 2px; }

/* ===== Rediseño 30/09: localidades, categorías y listados ===== */

/* Localidades: lista tipográfica a columnas, sin cajas */
.rc-municipios { max-width: 1200px; margin: 2.5rem auto; }
.rc-municipios h2 { font-family: 'Kanit', sans-serif; color: #1f3d29; font-size: 1.5rem; margin: 0 0 1rem; }
.rc-municipios ul { list-style: none; margin: 0; padding: 0; column-width: 230px; column-gap: 2.5rem; }
.rc-municipios li { break-inside: avoid; border-bottom: 1px solid #e6e9e2; }
.rc-municipios a { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; line-height: 1.35; padding: .6rem .1rem; color: #1f3d29; text-decoration: none; }
.rc-municipios__nombre { font-weight: 600; } /* los nombres largos se parten en dos líneas, nunca se cortan */
.rc-municipios__n { color: #6b6f69; font-variant-numeric: tabular-nums; font-size: .95rem; }
.rc-municipios a:hover .rc-municipios__nombre, .rc-municipios a:focus-visible .rc-municipios__nombre { text-decoration: underline; text-underline-offset: 3px; }
.rc-municipios a:focus-visible { outline: 2px solid #2f6237; outline-offset: 2px; }

/* Categorías del municipio: tarjeta sobria, punto con el color del mapa */
.rc-categorias { max-width: 1200px; margin: 0 auto 2.5rem; }
.rc-categorias ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .75rem; }
.rc-categorias__item > a, .rc-categorias__item > div { display: block; height: 100%; box-sizing: border-box; padding: 1rem 1.1rem; border: 1px solid #e3e7df; border-radius: 10px; background: #fff; color: #1f3d29; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.rc-categorias__item > a:hover, .rc-categorias__item > a:focus-visible { border-color: #9fb89a; box-shadow: 0 2px 8px rgba(31, 61, 41, .08); }
.rc-categorias__item > a:focus-visible { outline: 2px solid #2f6237; outline-offset: 2px; }
.rc-categorias__cab { display: flex; align-items: center; gap: .55rem; }
.rc-categorias__punto { flex: none; width: .7rem; height: .7rem; border-radius: 50%; }
.rc-categorias__nombre { font-weight: 600; font-size: 1.05rem; line-height: 1.3; }
.rc-categorias__count { margin-left: auto; color: #6b6f69; font-size: .875rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-categorias__servicios { display: block; margin-top: .45rem; padding-left: 1.25rem; color: #6b6f69; font-size: .875rem; line-height: 1.45; }

/* Secciones y listados de recursos */
.rc-servicio { scroll-margin-top: 6rem; margin: 0 0 2.25rem; }
.rc-servicio__titulo { font-family: 'Kanit', sans-serif; font-size: 1.3rem; color: #1f3d29; margin: 0 0 .5rem; padding-bottom: .4rem; border-bottom: 1px solid #d5dccf; }
.rc-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); column-gap: 2rem; }
.rc-lista__item { border-bottom: 1px solid #eef0ea; }
.rc-lista__item > a.rc-lista__nombre { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .1rem; color: #1f2a22; font-weight: 500; text-decoration: none; line-height: 1.35; }
.rc-lista__item > a.rc-lista__nombre::after { content: "›"; color: #9aa196; font-size: 1.2rem; line-height: 1; flex: none; }
.rc-lista__item > a.rc-lista__nombre:hover { color: #2f6237; }
.rc-lista__item > a.rc-lista__nombre:hover::after { color: #2f6237; }
.rc-lista__item > a.rc-lista__nombre:focus-visible { outline: 2px solid #2f6237; outline-offset: 2px; }
.rc-lista__meta { display: block; margin: -.35rem 0 .6rem; font-size: .85rem; }
.rc-badge-supra { background: #f3efe2; color: #6a5a2a; border-radius: 4px; padding: .05rem .4rem; }
.rc-ver-todos a { font-weight: 600; text-decoration: none; }
.rc-ver-todos a:hover { text-decoration: underline; }
/* Lista de servicios en la landing de categoría (mismo diseño que Localidades) */
.rc-servicios { margin: 1rem auto 2.5rem; }

/* Enlace de vuelta a la portada del pueblo: separado de los chips de municipios cercanos */
.rc-volver { max-width: 1200px; margin: 2.5rem auto 1rem; padding-top: 1.25rem; border-top: 1px solid #d5dccf; font-weight: 600; }
.rc-volver a { color: #2f6237; text-decoration: none; font-size: 1.05rem; }
.rc-volver a:hover, .rc-volver a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
