/*
 * Globalfinanz Consejeros · estilos del tema.
 *
 * Los tarificadores meten Bootstrap 3 dentro del contenido (html{font-size:10px}, estilos de body, h*, a, p,
 * label…), así que: tamaños en px (nada de rem), clases propias con prefijo rcd- y estilos base con
 * `.rcd :where(…)`, que gana a los selectores de elemento de Bootstrap sin pisar las clases de los tarificadores.
 */

@font-face {
	font-family: Quicksand;
	src: url(../fonts/quicksand-latin.woff2) format("woff2");
	font-weight: 300 700;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: Quicksand;
	src: url(../fonts/quicksand-latin-ext.woff2) format("woff2");
	font-weight: 300 700;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--rcd-azul: #0e1f8f;
	--rcd-azul-osc: #0a1670;
	--rcd-rojo: #c10230;
	--rcd-rojo-vivo: #d4082e;
	--rcd-verde: #01b663;
	--rcd-texto: #373a41;
	--rcd-desc: #4b5162;
	--rcd-borde: #e1e4ef;
	--rcd-tinte: #eef0fa;
	--rcd-gris: #f5f5f5;
	--rcd-gris-pie: #e5e5e5;
	--rcd-gris-legal: #c8c8c8;
	--rcd-sombra: 0 12px 30px rgba(14, 31, 143, .10);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.rcd {
	margin: 0;
	font-family: Quicksand, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--rcd-texto);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
.rcd :where(h1, h2, h3, h4) { font-family: inherit; color: var(--rcd-azul); font-weight: 700; line-height: 1.2; margin: 0 0 16px; }
.rcd :where(h1) { font-size: 40px; }
.rcd :where(h2) { font-size: 32px; }
.rcd :where(h3) { font-size: 22px; }
.rcd :where(h4) { font-size: 18px; }
.rcd :where(p) { margin: 0 0 16px; }
.rcd :where(a) { color: var(--rcd-azul); }
.rcd :where(a:hover, a:focus) { color: var(--rcd-rojo); }
.rcd :where(img) { max-width: 100%; height: auto; vertical-align: middle; }
.rcd :where(strong, b) { font-weight: 700; }
.rcd :where(label) { font-weight: 500; }
.rcd :where(:focus-visible) { outline: 2px solid var(--rcd-azul); outline-offset: 2px; }

.rcd-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.rcd-saltar { position: absolute; left: 10px; top: -60px; z-index: 1000; background: var(--rcd-azul); color: #fff !important; padding: 10px 16px; border-radius: 0 0 8px 8px; text-decoration: none; }
.rcd-saltar:focus { top: 0; }

.rcd-ancho { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.rcd-estrecho { max-width: 900px; }

/* ---------- Iconos (máscara sobre assets/img/ico/*.svg, toman el color del texto) ---------- */
.rcd-ico { display: inline-block; width: 1em; height: 1em; flex: none; background: currentColor; -webkit-mask: var(--rcd-ico) center / contain no-repeat; mask: var(--rcd-ico) center / contain no-repeat; }
.rcd-ico-tel { --rcd-ico: url(../img/ico/tel.svg); }
.rcd-ico-menu { --rcd-ico: url(../img/ico/menu.svg); }
.rcd-ico-cerrar { --rcd-ico: url(../img/ico/cerrar.svg); }
.rcd-ico-flecha { --rcd-ico: url(../img/ico/flecha.svg); }
.rcd-ico-chevron { --rcd-ico: url(../img/ico/chevron.svg); }
.rcd-ico-facebook { --rcd-ico: url(../img/ico/facebook.svg); }
.rcd-ico-x { --rcd-ico: url(../img/ico/x.svg); }
.rcd-ico-linkedin { --rcd-ico: url(../img/ico/linkedin.svg); }
.rcd-ico-gf { --rcd-ico: url(../img/ico/gf.svg); }
.rcd-ico-administracion { --rcd-ico: url(../img/ico/administracion.svg); }
.rcd-ico-independiente { --rcd-ico: url(../img/ico/independiente.svg); }
.rcd-ico-colegios { --rcd-ico: url(../img/ico/colegios.svg); }
.rcd-ico-ong { --rcd-ico: url(../img/ico/ong.svg); }
.rcd-ico-ciber { --rcd-ico: url(../img/ico/ciber.svg); }
.rcd-ico-maletin { --rcd-ico: url(../img/ico/maletin.svg); }
.rcd-ico-globo { --rcd-ico: url(../img/ico/globo.svg); }
.rcd-ico-balanza { --rcd-ico: url(../img/ico/balanza.svg); }
.rcd-ico-escudo { --rcd-ico: url(../img/ico/escudo.svg); }
.rcd-ico-calculadora { --rcd-ico: url(../img/ico/calculadora.svg); }
.rcd-ico-buscar { --rcd-ico: url(../img/ico/buscar.svg); }
.rcd-ico-correo { --rcd-ico: url(../img/ico/correo.svg); }

/* ---------- Botones ---------- */
.rcd-boton {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: var(--rcd-azul); color: #fff; border: 2px solid var(--rcd-azul); border-radius: 50px;
	padding: 12px 30px; font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
.rcd-boton:hover, .rcd-boton:focus { background: var(--rcd-verde); border-color: var(--rcd-verde); color: #fff; text-decoration: none; }
.rcd-boton-peq { padding: 8px 20px; font-size: 15px; }
.rcd-boton-borde { background: transparent; color: var(--rcd-azul); }
.rcd-boton-blanco { background: #fff; border-color: #fff; color: var(--rcd-azul); }
.rcd-boton .rcd-ico { width: 18px; height: 18px; }

.rcd-tel { display: inline-flex; align-items: center; gap: 8px; color: var(--rcd-azul); font-weight: 600; text-decoration: none; white-space: nowrap; }
.rcd-tel:hover, .rcd-tel:focus { color: var(--rcd-rojo); text-decoration: none; }
.rcd-tel .rcd-ico { width: .95em; height: .95em; }

/* ---------- Cabecera ---------- */
.rcd-cab { position: relative; z-index: 100; background: #fff; border-bottom: 1px solid var(--rcd-borde); }
.rcd-cab-fila { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding-top: 22px; padding-bottom: 10px; }
.rcd-cab-tel { display: flex; flex-direction: column; line-height: 1.15; }
.rcd-cab-tel-txt { font-size: 15px; }
.rcd-cab-tel .rcd-tel { font-size: 25px; font-weight: 600; }
.rcd-logo { display: block; }
.rcd-logo img { display: block; width: 300px; height: auto; }
.rcd-cab-acc { justify-self: end; display: flex; align-items: center; gap: 10px; }
.rcd-menu-btn { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--rcd-borde); border-radius: 10px; background: #fff; color: var(--rcd-azul); font-size: 24px; cursor: pointer; }
.rcd-menu-abierto .rcd-menu-btn .rcd-ico { --rcd-ico: url(../img/ico/cerrar.svg); }

.rcd-menu { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.rcd-menu li { position: relative; margin: 0; }
.rcd-menu > li > a { display: flex; align-items: center; gap: 6px; padding: 12px 15px 14px; color: var(--rcd-texto); font-size: 16px; font-weight: 500; text-decoration: none; }
.rcd-menu > li > a:hover, .rcd-menu > li > a:focus, .rcd-menu > li:hover > a { color: var(--rcd-azul); text-decoration: none; }
.rcd-menu > .current-menu-item > a, .rcd-menu > .current-menu-ancestor > a, .rcd-menu > .current_page_parent > a { color: var(--rcd-azul); font-weight: 700; }
.rcd-menu > .menu-item-has-children > a::after { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: url(../img/ico/chevron.svg) center / contain no-repeat; mask: url(../img/ico/chevron.svg) center / contain no-repeat; transition: transform .15s; }
.rcd-menu .sub-menu {
	position: absolute; left: 0; top: 100%; min-width: 270px; list-style: none; margin: 0; padding: 8px 0;
	background: #fff; border: 1px solid var(--rcd-borde); border-radius: 12px; box-shadow: var(--rcd-sombra);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s;
}
.rcd-menu > li:hover > .sub-menu, .rcd-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.rcd-menu .sub-menu a { display: block; padding: 8px 20px; color: var(--rcd-texto); font-size: 15px; line-height: 1.35; text-decoration: none; }
.rcd-menu .sub-menu a:hover, .rcd-menu .sub-menu a:focus, .rcd-menu .sub-menu .current-menu-item > a { background: var(--rcd-tinte); color: var(--rcd-azul); }
.rcd-menu > .rcd-menu-contacto > a { color: var(--rcd-rojo); }

@media (max-width: 1080px) {
	.rcd-cab-fila { grid-template-columns: 1fr auto; padding-top: 14px; padding-bottom: 14px; }
	.rcd-cab-tel { display: none; }
	.rcd-logo img { width: 220px; }
	.rcd-menu-btn { display: inline-flex; }
	.rcd-nav { display: none; border-top: 1px solid var(--rcd-borde); max-height: calc(100vh - 72px); overflow-y: auto; }
	.rcd-menu-abierto .rcd-nav { display: block; }
	.rcd-menu { display: block; padding: 8px 0 16px; }
	.rcd-menu > li { border-bottom: 1px solid var(--rcd-borde); }
	.rcd-menu > li > a { justify-content: space-between; padding: 14px 4px; font-size: 17px; }
	.rcd-menu .sub-menu { position: static; display: none; min-width: 0; padding: 0 0 10px; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
	.rcd-menu > li.rcd-abierto > .sub-menu { display: block; }
	.rcd-menu > li.rcd-abierto > a::after { transform: rotate(180deg); }
	.rcd-menu .sub-menu a { padding: 9px 14px; }
}
@media (max-width: 480px) {
	.rcd-logo img { width: 170px; }
	.rcd-cab-acc .rcd-boton-peq { padding: 8px 14px; font-size: 14px; }
}

/* ---------- Secciones ---------- */
/* Solo vertical: con .rcd-ancho en el mismo elemento no tiene que quitarle el margen lateral. */
.rcd-seccion { padding-top: 64px; padding-bottom: 64px; }
.rcd-seccion-gris { background: var(--rcd-gris); }
.rcd-centro { text-align: center; }
.rcd-centro .rcd-intro { margin-left: auto; margin-right: auto; }
.rcd-intro { max-width: 780px; font-size: 18px; color: var(--rcd-desc); }
.rcd-antetitulo { display: block; margin: 0 0 10px; color: var(--rcd-rojo); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rcd-seccion-tit { margin-bottom: 12px; }
.rcd-seccion-tit + .rcd-intro { margin-bottom: 36px; }
.rcd-acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }

.rcd-banda-titulo { background: var(--rcd-gris); padding: 46px 0; }
.rcd-banda-titulo h1 { margin: 0; text-align: center; }
.rcd-banda-meta { margin: 10px 0 0; text-align: center; color: var(--rcd-desc); font-size: 15px; }
.rcd-banda-meta a { color: inherit; }

/* Portada: cabecera de texto */
.rcd-hero { padding: 56px 0 40px; text-align: center; }
.rcd-hero h1 { max-width: 1000px; margin: 0 auto 18px; font-size: 36px; }
.rcd-hero .rcd-intro { margin: 0 auto; }
.rcd-hero-foto { margin-top: 32px; }
.rcd-hero-foto img { display: block; width: 100%; height: auto; border-radius: 16px; }

/* ---------- Rejillas y tarjetas (como las de responsabilidadprofesional.es) ---------- */
.rcd-grid { display: grid; gap: 20px; }
.rcd-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rcd-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rcd-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1080px) { .rcd-grid-4, .rcd-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .rcd-grid-2, .rcd-grid-3, .rcd-grid-4 { grid-template-columns: minmax(0, 1fr); } }

.rcd-tarjeta {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rcd-borde); border-radius: 14px;
	padding: 22px 20px 20px; color: var(--rcd-texto); text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s;
}
a.rcd-tarjeta:hover, a.rcd-tarjeta:focus, .rcd-tarjeta-enlace:hover { border-color: var(--rcd-azul); box-shadow: var(--rcd-sombra); transform: translateY(-2px); color: var(--rcd-texto); text-decoration: none; }
.rcd-tarjeta-ico { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 20px; border-radius: 12px; background: var(--rcd-tinte); color: var(--rcd-azul); font-size: 28px; }
.rcd-tarjeta h3 { font-size: 19px; margin: 0 0 8px; }
.rcd-tarjeta p { flex: 1; margin: 0 0 16px; font-size: 15px; color: var(--rcd-desc); }
.rcd-tarjeta p:last-child { margin-bottom: 0; }
.rcd-cta { display: inline-flex; align-items: center; gap: 8px; color: var(--rcd-azul); font-size: 15px; font-weight: 700; text-decoration: none; }
.rcd-cta .rcd-ico { width: 18px; height: 18px; color: var(--rcd-rojo-vivo); transition: transform .15s; }
a.rcd-tarjeta:hover .rcd-cta .rcd-ico, .rcd-cta:hover .rcd-ico { transform: translateX(3px); }

/* Casos reales: tarjeta con número */
.rcd-caso { position: relative; padding-top: 20px; }
.rcd-caso-num { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 14px; border-radius: 50%; background: #fdecef; color: var(--rcd-rojo); font-size: 15px; font-weight: 700; }
.rcd-caso h3 { font-size: 17px; }
.rcd-caso p { font-size: 14.5px; }
.rcd-caso strong { color: var(--rcd-texto); }

/* Lista con la marca de Globalfinanz como viñeta */
.rcd-lista { list-style: none; margin: 0 0 20px; padding: 0; }
.rcd-lista li { position: relative; margin: 0 0 10px; padding-left: 30px; }
.rcd-lista li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background: var(--rcd-rojo); -webkit-mask: url(../img/ico/gf.svg) center / contain no-repeat; mask: url(../img/ico/gf.svg) center / contain no-repeat; }

/* Banda azul de cierre */
.rcd-banda-azul { background: var(--rcd-azul); color: #fff; padding: 56px 0; text-align: center; }
.rcd-banda-azul h2 { color: #fff; margin-bottom: 10px; }
.rcd-banda-azul p { color: rgba(255, 255, 255, .85); font-size: 18px; margin: 0 0 26px; }
.rcd-banda-azul .rcd-boton-blanco:hover, .rcd-banda-azul .rcd-boton-blanco:focus { background: var(--rcd-verde); border-color: var(--rcd-verde); color: #fff; }

/* Texto corrido (páginas convertidas y entradas) */
.rcd-texto { font-size: 17px; }
.rcd-texto h2 { font-size: 28px; margin-top: 36px; }
.rcd-texto h3 { font-size: 22px; margin-top: 28px; }
.rcd-texto ul, .rcd-texto ol { margin: 0 0 20px; padding-left: 24px; }
.rcd-texto li { margin-bottom: 6px; }
.rcd-texto blockquote { margin: 24px 0; padding: 16px 22px; border-left: 4px solid var(--rcd-rojo); background: var(--rcd-gris); border-radius: 0 10px 10px 0; }
.rcd-texto table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.rcd-texto th, .rcd-texto td { border: 1px solid var(--rcd-borde); padding: 8px 10px; text-align: left; }
.rcd-texto .alignleft { float: left; margin: 4px 24px 12px 0; }
.rcd-texto .alignright { float: right; margin: 4px 0 12px 24px; }
.rcd-texto .aligncenter { display: block; margin: 0 auto 20px; }
.rcd-texto img { border-radius: 10px; }

/* Preguntas frecuentes */
.rcd-faq { border: 1px solid var(--rcd-borde); border-radius: 12px; background: #fff; margin: 0 0 12px; }
.rcd-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; color: var(--rcd-azul); font-weight: 700; font-size: 17px; cursor: pointer; list-style: none; }
.rcd-faq summary::-webkit-details-marker { display: none; }
.rcd-faq summary::after { content: ""; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: url(../img/ico/chevron.svg) center / contain no-repeat; mask: url(../img/ico/chevron.svg) center / contain no-repeat; transition: transform .15s; }
.rcd-faq[open] summary::after { transform: rotate(180deg); }
.rcd-faq > div { padding: 0 20px 16px; }

/* ---------- Tarificador (tarificadores-cd, HTML de fusion builder + Bootstrap 3) ---------- */
.rcd-banda-tarif { background: var(--rcd-gris-pie); padding: 56px 0; }
.rcd .rcd-tarif .post-content { margin: 0; }
.rcd .rcd-tarif .fusion-fullwidth { background: transparent !important; padding: 0 !important; border: 0 !important; }
.rcd .rcd-tarif .fusion-row { max-width: 1040px; margin: 0 auto; }
.rcd .rcd-tarif .fusion-row::after, .rcd .rcd-tarif form::after { content: ""; display: table; clear: both; }
.rcd .rcd-tarif .fusion-one-half { float: left; width: 48%; margin: 0; }
.rcd .rcd-tarif .fusion-one-half.fusion-column-last { float: right; }
.rcd .rcd-tarif .fusion-clearfix, .rcd .rcd-tarif .fusion-sep-clear { clear: both; }
.rcd .rcd-tarif .fusion-separator { display: none; }
.rcd .rcd-tarif :is(h2, h3, strong, label, .btn) { font-family: inherit; }
.rcd .rcd-tarif h2 { font-size: 32px; color: var(--rcd-azul); text-align: center; margin: 0 0 30px; }
.rcd .rcd-tarif .fusion-column-wrapper > h3 { font-size: 21px; text-align: center; margin: 0 0 8px; }
.rcd .rcd-tarif .fusion-column-wrapper > h3 span { color: var(--rcd-azul); }
.rcd .rcd-tarif .fusion-column-wrapper > p { font-size: 16px; text-align: center; color: var(--rcd-desc); margin: 0 0 10px; }
.rcd .rcd-tarif #divFormulario { margin: 30px 0 0; padding-top: 28px; border-top: 1px solid #d2d4dc; text-align: center; font-size: 22px; font-weight: 600; color: var(--rcd-rojo); }
.rcd .rcd-tarif #divFormulario span { color: #7a7f8c; font-weight: 500; }
.rcd .rcd-tarif #divFormulario + h3 { margin: 10px 0 0; text-align: center; font-size: 28px; color: var(--rcd-azul); }
.rcd .rcd-tarif form.formulario { margin-top: 24px; padding: 8px 32px 30px; background: #fff; border-radius: 16px; box-shadow: 0 6px 24px rgba(0, 0, 0, .06); }
.rcd .rcd-tarif .form-control, .rcd .rcd-tarif .bootstrap-select > .btn { height: 46px; font-size: 16px; border-color: #d2d4dc; box-shadow: none; }
.rcd .rcd-tarif .input-group-addon { background: var(--rcd-tinte); border-color: #d2d4dc; color: var(--rcd-azul); }
.rcd .rcd-tarif .input-group .form-control { border-radius: 0 10px 10px 0; }
.rcd .rcd-tarif .input-group-addon:first-child { border-radius: 10px 0 0 10px; }
.rcd .rcd-tarif .bootstrap-select > .btn { border-radius: 10px; }
.rcd .rcd-tarif .form-control:focus, .rcd .rcd-tarif .bootstrap-select .btn:focus { border-color: var(--rcd-azul) !important; }
.rcd .rcd-tarif .etiqueta { font-size: 15px; font-weight: 600; color: var(--rcd-texto); margin-bottom: 6px; }
.rcd .rcd-tarif .heleido { border-radius: 6px; }
.rcd .rcd-tarif .heleido + span a, .rcd .rcd-tarif .btn-group + span a { font-size: 14px; color: var(--rcd-azul); }
.rcd .rcd-tarif .btn-enviar { background: var(--rcd-azul); border: 0; border-radius: 50px; color: #fff; font-size: 17px; font-weight: 700; line-height: 46px; padding: 0 30px; transition: background .15s; }
.rcd .rcd-tarif .btn-enviar:hover, .rcd .rcd-tarif .btn-enviar:focus { background: var(--rcd-verde); color: #fff; }
.rcd .rcd-tarif .mensaje-error { font-size: 14px; }
.home .rcd-tarif h2 { display: none; }
/* Ciberriesgos (snippet CyberSeguro): formulario de una columna */
.rcd .rcd-tarif-ciber form { padding: 26px 26px 28px; background: #fff; border: 1px solid var(--rcd-borde); border-radius: 16px; box-shadow: 0 6px 24px rgba(0, 0, 0, .06); }
.rcd .rcd-tarif-ciber h2 { font-size: 26px; margin-bottom: 6px; }
.rcd .rcd-tarif-ciber .form-group, .rcd .rcd-tarif-ciber .input-group { margin-bottom: 12px; }
.rcd .rcd-tarif-ciber #divFormulario { margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 560px) {
	.rcd .rcd-tarif-ciber form { padding: 20px 10px; }
}
@media (max-width: 800px) {
	.rcd .rcd-tarif .fusion-one-half, .rcd .rcd-tarif .fusion-one-half.fusion-column-last { float: none; width: 100%; }
	.rcd .rcd-tarif .fusion-column-wrapper > p { margin-bottom: 22px; }
	.rcd .rcd-tarif form.formulario { padding: 4px 16px 22px; }
	.rcd .rcd-tarif #divFormulario { font-size: 19px; }
	.rcd .rcd-tarif #divFormulario + h3 { font-size: 23px; }
	.rcd-banda-tarif { padding: 36px 0; }
}

/* ---------- Blog ---------- */
.rcd-entrada { padding: 0; overflow: hidden; }
.rcd-entrada-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--rcd-tinte); }
.rcd-entrada-img img { width: 100%; height: 100%; object-fit: cover; }
.rcd-entrada-cuerpo { display: flex; flex-direction: column; flex: 1; padding: 20px; }
.rcd-entrada-tit { font-size: 19px; margin: 0 0 6px; }
.rcd-entrada-tit a { color: var(--rcd-azul); text-decoration: none; }
.rcd-entrada-tit a:hover { color: var(--rcd-rojo); text-decoration: none; }
.rcd-entrada-fecha { font-size: 13px; color: var(--rcd-desc); margin: 12px 0 10px; text-align: center; }
.rcd-tarjeta p.rcd-entrada-fecha { flex: none; font-size: 13px; margin: 0 0 10px; text-align: left; }
/* Entrada sin imagen destacada: la marca en el hueco de la foto */
.rcd-entrada-img:not(:has(img)) { display: flex; align-items: center; justify-content: center; color: var(--rcd-azul); }
.rcd-entrada-img .rcd-ico { width: 64px; height: 64px; opacity: .35; }
.rcd-articulo { max-width: 900px; }
.rcd-articulo-img { margin: 0 0 30px; }
.rcd-articulo-img img { width: 100%; border-radius: 14px; }

.rcd-paginacion { margin-top: 40px; }
.rcd-paginacion ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.rcd-paginacion a, .rcd-paginacion span { display: block; min-width: 42px; padding: 9px 14px; border: 1px solid var(--rcd-borde); border-radius: 50px; text-align: center; color: var(--rcd-azul); text-decoration: none; font-weight: 600; }
.rcd-paginacion .current { background: var(--rcd-azul); border-color: var(--rcd-azul); color: #fff; }
.rcd-paginacion .dots { border: 0; }

/* ---------- Páginas convertidas de fusion builder ---------- */
.rcd-foto { padding-top: 30px; position: relative; z-index: 1; }
.rcd-foto img { display: block; width: 100%; aspect-ratio: 1100 / 280; object-fit: cover; border-radius: 16px; }
/* Foto seguida de la banda gris del tarificador (12772, 19221): la mitad inferior de la foto se solapa con el gris,
   que crece lo mismo por arriba para que el formulario no se mueva. --rcd-solape = mitad del alto de la foto. */
.rcd-foto + .rcd-pagina > .rcd-banda-tarif:first-child { --rcd-solape: calc((min(100vw, 1240px) - 40px) * 280 / 1100 / 2); margin-top: calc(-1 * var(--rcd-solape)); padding-top: calc(56px + var(--rcd-solape)); }
.rcd-bloque { padding: 40px 0; }
.rcd-bloque:not(.rcd-seccion-gris) + .rcd-bloque:not(.rcd-seccion-gris) { padding-top: 0; }
.rcd-bloque.rcd-seccion-gris { margin: 30px 0; }
.rcd-bloque.rcd-seccion-gris + .rcd-bloque.rcd-seccion-gris { margin-top: -30px; }
.rcd-bloque > .rcd-ancho > :last-child, .rcd-col > :last-child, .rcd-col-caja > :last-child { margin-bottom: 0; }
.rcd-bloque h2 { font-size: 28px; }
.rcd-bloque h3 { font-size: 21px; }
.rcd-bloque :is(p, ul, .rcd-cols) + :is(h2, h3) { margin-top: 32px; }
.rcd-bloque h2.rcd-centro + p.rcd-centro { max-width: 860px; margin-left: auto; margin-right: auto; font-size: 18px; color: var(--rcd-desc); }
.rcd-bloque ul:not([class]), .rcd-bloque ol { margin: 0 0 20px; padding-left: 24px; }
.rcd-bloque table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.rcd-bloque th, .rcd-bloque td { border: 1px solid var(--rcd-borde); padding: 8px 10px; text-align: left; }
.rcd-bloque img { max-width: 100%; height: auto; }
/* URLs y palabras largas no ensanchan la página; en móvil las tablas hacen scroll dentro */
.rcd-pagina, .rcd-texto { overflow-wrap: break-word; }
.rcd-pagina td a, .rcd-texto td a, .rcd-pagina p a, .rcd-texto p a { overflow-wrap: anywhere; }
@media (max-width: 760px) {
	.rcd-pagina table, .rcd-texto table { display: block; max-width: 100%; overflow-x: auto; }
}
.rcd-rojo { color: var(--rcd-rojo); }
.rcd-sep { height: 1px; margin: 36px 0; border: 0; background: var(--rcd-borde); }
.rcd-cols { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 30px 40px; margin: 0 0 30px; }
.rcd-cols:last-child { margin-bottom: 0; }
.rcd-col { grid-column: span 12; }
.rcd-col-1_2 { grid-column: span 6; }
.rcd-col-1_3 { grid-column: span 4; }
.rcd-col-2_3 { grid-column: span 8; }
.rcd-col-1_4 { grid-column: span 3; }
.rcd-col-3_4 { grid-column: span 9; }
.rcd-col-caja { padding: 26px 26px 24px; border-radius: 14px; background: var(--rcd-gris); }
.rcd-seccion-gris .rcd-col-caja { background: #fff; }
@media (max-width: 1080px) { .rcd-col-1_4 { grid-column: span 6; } }
@media (max-width: 760px) {
	.rcd-cols > .rcd-col { grid-column: span 12; }
	.rcd-cols { gap: 24px; }
	.rcd-bloque { padding: 30px 0; }
	.rcd-bloque h2 { font-size: 24px; }
	.rcd-col-caja { padding: 20px 18px; }
	.rcd-foto { padding-top: 20px; }
	.rcd-foto img { aspect-ratio: 16 / 7; border-radius: 12px; }
	.rcd-foto + .rcd-pagina > .rcd-banda-tarif:first-child { --rcd-solape: calc((100vw - 40px) * 7 / 16 / 2); padding-top: calc(36px + var(--rcd-solape)); }
}
.rcd-cajas { display: grid; gap: 20px; }
.rcd-caja p { flex: none; }
.rcd-caja ul { margin: 0 0 16px; padding-left: 22px; font-size: 15px; color: var(--rcd-desc); }
.rcd-faqs { margin: 0 0 20px; }
.rcd-boton-linea { margin: 24px 0; }
.rcd-figura { margin: 0 0 24px; }
.rcd-figura img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.rcd-video { position: relative; aspect-ratio: 16 / 9; margin: 0 0 24px; }
.rcd-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 12px; }

/* msh-global (17113): franja de logos, pilares, cifras y mapa */
.rcd-msh-logos { padding: 22px 0; background: #333; }
.rcd-msh-logos .rcd-ancho { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.rcd-msh-logos img { display: block; width: auto; }
.rcd-msh-logos a:first-child img { height: 70px; }
.rcd-msh-logos a:last-child img { height: 30px; }
.rcd-pilar { position: relative; padding-top: 34px; text-align: center; }
.rcd-pilar-num { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 14px; border-radius: 50%; background: var(--rcd-rojo); color: #fff; font-size: 22px; font-weight: 700; }
.rcd-cifras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; text-align: center; }
.rcd-cifra strong { display: block; color: var(--rcd-rojo); font-size: 48px; line-height: 1.1; }
.rcd-cifra span { display: block; margin-top: 6px; color: var(--rcd-azul); font-weight: 600; }
.rcd-mapa { position: relative; aspect-ratio: 4 / 3; }
.rcd-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 12px; }
.rcd-bloque h3 a { color: inherit; text-decoration: none; }
.rcd-bloque h3 a:hover { color: var(--rcd-rojo); }
.rcd-msh-reunion .wpcf7 { max-width: 760px; margin: 0 auto; }
@media (max-width: 760px) {
	.rcd-msh-logos .rcd-ancho { justify-content: center; }
	.rcd-msh-logos a:first-child img { height: 54px; }
	.rcd-msh-logos a:last-child img { height: 24px; }
	.rcd-cifras { grid-template-columns: minmax(0, 1fr); }
	.rcd-cifra strong { font-size: 40px; }
}

/* Formularios de contacto dentro del contenido (CF7 13254, 17376, 13585) */
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 { max-width: 640px; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-form { font-size: 15px; font-weight: 600; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-form > p, .rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-form > div { position: relative; margin: 0 0 14px; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 :is(input[type=text], input[type=email], input[type=tel], input[type=date], select, textarea) {
	display: block; width: 100%; height: 46px; margin-top: 4px; padding: 0 16px; border: 1px solid #d2d4dc; border-radius: 10px;
	background: #fff; font-family: inherit; font-size: 16px; font-weight: 400; color: var(--rcd-texto);
}
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 textarea { height: auto; min-height: 120px; padding: 12px 16px; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 :is(input, select, textarea):focus { border-color: var(--rcd-azul); outline: none; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 label { display: block; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-acceptance label { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-acceptance input { width: 18px; height: 18px; margin: 0; accent-color: var(--rcd-azul); }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-list-item { margin: 0; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 input[type=submit] { height: 46px; margin-top: 10px; padding: 0 34px; border: 0; border-radius: 50px; background: var(--rcd-azul); color: #fff; font-family: inherit; font-size: 17px; font-weight: 700; cursor: pointer; transition: background .15s; }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 input[type=submit]:hover, .rcd :is(.rcd-pagina, .rcd-texto) .wpcf7 input[type=submit]:focus { background: var(--rcd-verde); }
.rcd :is(.rcd-pagina, .rcd-texto) .wpcf7-response-output { margin: 10px 0 0 !important; padding: 8px 14px !important; border-radius: 10px; font-weight: 400; }
.rcd .wpcf7 .cf7apps-honeypot-wrap input { width: 1px !important; height: 1px !important; padding: 0 !important; }
.rcd .wpcf7 .wpcf7-spinner { position: absolute; }
/* 13254 «Contacto abreviado» lleva nombre y email en dos div flotantes al 45 % */
.rcd .wpcf7-form > div[style*="float"]:has(+ div[style*="float"]) ~ p { clear: both; }
/* 17376 (msh-global): rejilla cf-container de globalfinanz.es */
.rcd .cf-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.rcd .cf-container > div { margin: 0 !important; }
.rcd .cf-container .cf-push-3 { grid-column: 1 / -1; }
.rcd .cf-container .fechacal_btn img { display: inline-block; width: 18px; margin-right: 6px; vertical-align: -3px; }
@media (max-width: 560px) {
	.rcd .wpcf7-form > div[style*="float"] { float: none !important; width: 100% !important; }
	.rcd .wpcf7-form > div[style*="width:10%"] { display: none; }
	.rcd .cf-container { grid-template-columns: minmax(0, 1fr); }
}

.rcd-limpia { clear: both; height: 20px; }

/* Newsletter (plugin woobik-newsletters, shortcode [wbk-suscripcion]), solo en el blog.
   El formulario trae su propio CSS inline (clases .wbk-*) con las variables --rcd-*; aquí solo la caja. */
.rcd-news { margin-top: 50px; padding: 30px; border-radius: 16px; background: var(--rcd-tinte); }
.rcd-news h2 { font-size: 24px; margin: 0 0 8px; }
.rcd-news > p { margin: 0 0 18px; color: var(--rcd-desc); }
.rcd-news .rcd-lista { margin-bottom: 20px; }
.rcd-news .wbk-aviso { margin-bottom: 18px; }
@media (max-width: 560px) {
	.rcd-news { padding: 24px 16px; }
}

/* ---------- Pie (como el de responsabilidadprofesional.es) ---------- */
.rcd-pie { margin-top: 0; }
.rcd-pie-corte { position: relative; height: 110px; margin-top: 30px; background: #fff; }
.rcd-pie-corte svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: var(--rcd-gris-pie); transform: scaleY(-1) scaleX(-1); }
.rcd-pie-marca-gf { position: absolute; right: 0; top: 0; width: 120px; height: 115px; background: var(--rcd-gris-pie); -webkit-mask: url(../img/ico/gf.svg) center / contain no-repeat; mask: url(../img/ico/gf.svg) center / contain no-repeat; }
.rcd-pie-gris { background: var(--rcd-gris-pie); padding: 10px 0 34px; }
.rcd-pie-fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: center; padding: 26px 0; }
.rcd-pie-fila + .rcd-pie-fila { border-top: 1px solid #d2d2d2; }
.rcd-pie-tit span { display: block; font-size: 16px; font-weight: 600; }
.rcd-pie-tit strong { display: block; color: var(--rcd-azul); font-size: 60px; font-weight: 500; line-height: 1.05; }
.rcd-pie-tels { display: grid; grid-template-columns: repeat(2, auto); justify-content: start; gap: 12px 60px; }
.rcd-pie-tels .rcd-tel { font-size: 26px; }
.rcd-pie-horario { grid-column: 1 / -1; margin: 6px 0 0; font-size: 14px; }

/* Formulario «Te llamamos» (CF7 13146: los textos «Nombre:» y «Teléfono:» van sueltos en el <p>) */
.rcd-pie-form .wpcf7-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.rcd-pie-form .wpcf7-form > p { margin: 0; font-size: 0; }
.rcd-pie-form .wpcf7-form > p:nth-of-type(3) { grid-column: 1 / -1; order: -1; font-size: 13px; }
.rcd-pie-form .wpcf7-form > p:has(input[type=submit]), .rcd-pie-form .wpcf7-form > input[type=submit] { font-size: 16px; }
.rcd-pie-form input[type=text], .rcd-pie-form input[type=tel] { width: 100%; height: 46px; padding: 0 18px; border: 0; border-radius: 50px; background: #fff; font-family: inherit; font-size: 16px; color: var(--rcd-texto); }
.rcd-pie-form input[type=submit] { height: 46px; padding: 0 34px; border: 0; border-radius: 50px; background: var(--rcd-azul); color: #fff; font-family: inherit; font-size: 17px; font-weight: 700; text-transform: none; cursor: pointer; transition: background .15s; }
.rcd-pie-form input[type=submit]:hover, .rcd-pie-form input[type=submit]:focus { background: var(--rcd-verde); }
.rcd-pie-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.rcd-pie-form .wpcf7-acceptance label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.rcd-pie-form .wpcf7-acceptance input { width: 18px; height: 18px; margin: 0; accent-color: var(--rcd-azul); }
.rcd-pie-form .wpcf7-acceptance + a, .rcd-pie-form p a { color: var(--rcd-azul); font-size: 13px; }
.rcd-pie-form .wpcf7-not-valid-tip { font-size: 13px; padding: 4px 18px 0; }
.rcd-pie-form .wpcf7-response-output { grid-column: 1 / -1; margin: 4px 0 0 !important; padding: 8px 14px !important; border-radius: 10px; font-size: 14px; }
.rcd-pie-form .wpcf7-form > p { position: relative; }
.rcd-pie-form .cf7apps-honeypot-wrap input { width: 1px !important; height: 1px !important; padding: 0 !important; }
.rcd-pie-form .wpcf7-spinner { display: none; }

.rcd-pie-legal { background: var(--rcd-gris-legal); padding: 26px 0 22px; color: #555; font-size: 14px; }
.rcd-pie-legal-fila { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 30px; align-items: start; }
.rcd-pie-marca { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.rcd-pie-marca img { width: 240px; }
.rcd-redes { display: flex; gap: 8px; }
.rcd-redes a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #8a8a8a; color: #fff; font-size: 15px; transition: background .15s; }
.rcd-redes a:hover, .rcd-redes a:focus { background: var(--rcd-azul); color: #fff; }
.rcd-pie-texto p { margin: 0 0 12px; text-align: justify; line-height: 1.45; }
.rcd-pie-enlaces { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 22px; }
.rcd-pie-enlaces a { color: #555; text-decoration: none; }
.rcd-pie-enlaces a:hover, .rcd-pie-enlaces a:focus { color: var(--rcd-azul); }

@media (max-width: 900px) {
	.rcd-pie-corte { height: 50px; }
	.rcd-pie-marca-gf { width: 76px; height: 72px; top: -12px; }
	.rcd-pie-fila { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.rcd-pie-tit strong { font-size: 44px; }
	.rcd-pie-legal-fila { grid-template-columns: minmax(0, 1fr); }
	.rcd-pie-enlaces { justify-content: center; }
}
@media (max-width: 560px) {
	.rcd-pie-form .wpcf7-form { grid-template-columns: minmax(0, 1fr); }
	.rcd-pie-form input[type=submit] { width: 100%; }
	.rcd-pie-tels { grid-template-columns: minmax(0, 1fr); }
	.rcd-pie-texto p { text-align: left; }
}

/* ---------- Móvil: tipografía ---------- */
@media (max-width: 760px) {
	.rcd :where(h1) { font-size: 30px; }
	.rcd :where(h2) { font-size: 26px; }
	.rcd :where(h3) { font-size: 20px; }
	.rcd-seccion { padding-top: 44px; padding-bottom: 44px; }
	.rcd-hero { padding: 32px 0 28px; }
	.rcd-hero h1 { font-size: 26px; }
	.rcd-intro { font-size: 17px; }
	.rcd-banda-titulo { padding: 32px 0; }
	.rcd .rcd-tarif h2 { font-size: 26px; }
	.rcd-banda-azul { padding: 44px 0; }
}
