/* RankingC3 Core: estilos base del diseño (réplica de Avada) y componentes.
 * Colores: variables del Kit (--e-global-color-*) con respaldo. */

/* ---------- Base (en lugar del reset de Hello Elementor) ---------- */
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }
a { text-decoration: none; transition: color .2s ease; }
.rc3-sitio .elementor-widget-text-editor p { margin: 0 0 20px; }
.rc3-sitio .elementor-heading-title { margin: 0; }
.rc3-sitio h1, .rc3-sitio h2, .rc3-sitio h3, .rc3-sitio h4 { margin: 0; }
/* Márgenes de los títulos de Avada (h1 0,55 em arriba y abajo; h2 0,4 em abajo). */
.rc3-sitio h1.elementor-heading-title { margin: .55em 0; }
.rc3-sitio h2.elementor-heading-title { margin: 0 0 .4em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* Iconos de botón con su ancho natural (como los iconos de fuente de Avada), no un cuadrado de 1 em. */
.rc3-sitio .elementor-button-icon svg { width: auto; height: 1em; }

/* ---------- Header (header «v1» de Avada) ---------- */
.rc3-header { box-shadow: none; transition: box-shadow .2s ease; }
.rc3-header.elementor-sticky--effects { box-shadow: 0 1px 3px rgba(0, 0, 0, .118); }
.rc3-header .rc3-nav { align-self: center; margin-top: 3px; }
.rc3-header .rc3-nav .elementor-nav-menu--main .elementor-item { line-height: 16px; padding-left: 0; padding-right: 0; }
/* Separación de 40 px solo entre ítems (sin relleno antes del primero ni después del botón), como Avada. */
.rc3-header .rc3-nav .elementor-nav-menu--main > ul > li + li { margin-left: 40px; }
/* «Contacto» como botón (Roboto 500 14/17, 1 px de espaciado, gris #A3A3A3, radio 2 px). */
.rc3-header .rc3-nav .elementor-nav-menu--main .rc3-menu-boton > a.elementor-item {
	padding: 13px 29px; border-radius: 2px;
	background: var(--e-global-color-rc3gris, #A3A3A3); color: #FFF;
	font-family: Roboto, sans-serif; font-weight: 500; font-size: 14px; line-height: 17px; letter-spacing: 1px;
}

/* Dos filas entre 921 y 1112 px de ventana (menos de 1099 px útiles: el menú baja bajo el logo): fila de 96 px,
 * alineado a la derecha, 25 px a la derecha de cada ítem (incluido el botón), como el «mobile nav padding» de Avada. */
@media (min-width: 921px) and (max-width: 1112px) {
	.rc3-header .rc3-header__logo { margin-bottom: 11px !important; }
	.rc3-header .rc3-nav.elementor-widget { width: 100%; margin-top: 0; transform: translateY(-1.5px); min-height: 96px; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-end !important; }
	.rc3-header .rc3-nav .elementor-nav-menu--main { margin-left: auto; margin-right: 0; }
	.rc3-header .rc3-nav .elementor-nav-menu--main .elementor-item { padding-left: 0 !important; padding-right: 25px !important; }
	.rc3-header .rc3-nav .elementor-nav-menu--main > ul > li + li { margin-left: 0; }
	.rc3-header .rc3-nav .elementor-nav-menu--main .rc3-menu-boton > a.elementor-item,
	.rc3-header .rc3-nav .elementor-nav-menu--main .rc3-menu-boton:last-child > a.elementor-item { margin-left: 0; margin-right: 25px; padding: 13px 29px !important; }
}
@media (min-width: 921px) and (max-width: 1024px) {
	.rc3-header .rc3-nav .elementor-nav-menu--main { display: block !important; }
	.rc3-header .rc3-nav .elementor-menu-toggle,
	.rc3-header .rc3-nav .elementor-nav-menu--dropdown { display: none !important; }
}
/* Menú móvil (≤920 px, como Avada): header de 120 px, icono de 21 px, lista «modern» de 50 px. */
@media (max-width: 920px) {
	.rc3-header { padding-top: 20px !important; padding-bottom: 20px !important; }
	.rc3-header .rc3-header__logo { margin-top: 0 !important; margin-bottom: 0 !important; }
	.rc3-header .rc3-nav { position: static; align-self: flex-start; }
	.rc3-header .rc3-nav .elementor-menu-toggle { margin-top: 8px; padding: 0; }
	.rc3-header .rc3-nav .elementor-nav-menu--dropdown { left: 0 !important; width: 100% !important; top: 100% !important; padding-top: 0; }
	.rc3-header .rc3-nav .elementor-nav-menu--dropdown a { border-bottom: 1px solid rgba(204, 204, 204, 0); }
	.rc3-header .rc3-nav .elementor-nav-menu--dropdown .rc3-menu-boton > a { background: #FFF !important; color: #333 !important; }
	.rc3-header .rc3-header__fila { position: static; }
}

/* ---------- Secciones ---------- */
.rc3-s05 { position: relative; }
.rc3-s01 .elementor-background-video-hosted { object-fit: cover; }
/* Fondo fijo de «Quiénes somos»: Elementor lo aplica desde 1100 px; se extiende a 1025–1099 (escritorio) y
   en pantallas táctiles (iPad en horizontal incluido) vuelve a scroll, iOS no soporta fixed. */
@media (min-width: 1025px) { .rc3-s10.elementor-element { background-attachment: fixed; } }
@media (hover: none) { .rc3-s10.elementor-element { background-attachment: scroll !important; } }

/* Tarjetas de «Elige la medición». */
/* Como el h3 de Avada (márgenes de 1 em) con el icono flotante: el icono no suma alto. */
.rc3-tarjeta .rc3-tarjeta__cabecera { margin: var(--e-global-typography-rc3tarjeta-font-size, 25px) 0; align-items: flex-start; }
.rc3-tarjeta .rc3-tarjeta__cabecera > .elementor-widget-image { height: 0; overflow: visible; }

/* Cifras: caja con borde del color del fondo (como el counter box de Avada). */
.rc3-cifra { border: 1px solid var(--e-global-color-rc3violeta, #5564E5); }
.rc3-cifra .elementor-icon-wrapper { padding-bottom: 16px; line-height: 0; }
.rc3-cifra .elementor-icon { line-height: 0; }
.rc3-cifra .elementor-counter { flex-direction: column; }
.rc3-cifra .elementor-counter-title { text-align: center; }

/* ---------- Empresas premiadas: grilla de logos con «Ver más» ---------- */
.rc3-logos { background: var(--e-global-color-rc3fondo, #EEE); }
.rc3-logos__grilla { padding-bottom: 32px; }
.rc3-logos__grilla .rc3-logos__item img { width: 202px; }
.rc3-logos__mas { max-height: 0; overflow: hidden; opacity: 0; padding-bottom: 0; transition: max-height .5s ease, opacity .5s ease .5s; }
.rc3-logos__mas.is-abierto { max-height: 1500px; overflow: visible; opacity: 1; padding-bottom: 32px; transition: max-height .5s ease, opacity .5s ease; }
.elementor-editor-active .rc3-logos__mas { max-height: none; opacity: 1; }
.rc3-vermas .elementor-button { display: flex; width: 151px; height: 50px; margin: 0 auto; align-items: center; justify-content: center; }
@media (max-width: 600px) {
	.rc3-logos__grilla { grid-template-columns: repeat(2, 1fr) !important; column-gap: 10px !important; }
	.rc3-logos__grilla .rc3-logos__item img { width: 140px; }
	.rc3-logos__mas.is-abierto { max-height: 1900px; }
}

/* ---------- Acordeones (toggles de Avada) ---------- */
.rc3-acordeon .e-n-accordion-item-title { padding: 10px 0 10px 25px; border: 0 !important; align-items: flex-start; }
.rc3-acordeon .e-n-accordion-item-title-header { margin-top: .2px; }
.rc3-acordeon--categorias .e-n-accordion-item-title-icon > span {
	display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px;
	background: var(--e-global-color-rc3pizarra, #212934);
}
.rc3-acordeon .e-n-accordion-item { border-bottom: 1px solid transparent; }
.rc3-acordeon--anios .e-n-accordion-item { border-bottom-color: var(--e-global-color-accent, #F5C242); }
.rc3-acordeon .rc3-acordeon__contenido { background: #FFF; padding: 10px 20px 15px; border: 0 !important; }
.rc3-acordeon--anios .e-n-accordion-item-title-icon { width: 24px; justify-content: center; }

/* ---------- Tablas de ganadores ---------- */
.rc3-tabla { width: 100%; max-width: 100%; margin: auto; border: 0; border-collapse: collapse; background: #FFF; }
.rc3-tabla th { padding: 1px; letter-spacing: normal; text-align: center; color: #FFF; font-family: 'Roboto Slab', serif; font-weight: 300; font-size: 19px; line-height: 1.35; }
.rc3-tabla--cultura thead { background: var(--e-global-color-secondary, #AE8838); }
.rc3-tabla--iniciativas thead { background: var(--e-global-color-rc3gris, #A3A3A3); }
.rc3-tabla td { padding: 1px 1px 1px 25px; text-align: left; font-size: 14px; line-height: 1.4; letter-spacing: .285px; }
.rc3-tabla tbody tr:nth-child(odd) td { background: var(--e-global-color-rc3grisclaro, #E6E8EB); }

/* ---------- Carruseles (flechas de Avada: círculo negro 60 % de 30 px) ---------- */
.rc3-carrusel .elementor-swiper-button {
	width: 30px; height: 30px; border-radius: 16px; background: rgba(0, 0, 0, .6);
	display: flex; align-items: center; justify-content: center; opacity: .8;
}
.rc3-carrusel .elementor-swiper-button:hover { opacity: 1; }
.rc3-carrusel .elementor-swiper-button-prev { left: 16px; }
.rc3-carrusel .elementor-swiper-button-next { right: 16px; }
.rc3-carrusel .elementor-image-carousel-wrapper { padding: 8px 0; }
.rc3-acordeon--anios .e-n-accordion-item-title { padding-bottom: 10.25px; }
.rc3-carrusel--borde .swiper-slide-image { border: 1px solid var(--e-global-color-rc3borde, #E9EAEE); }
.rc3-col--centrada { margin-left: auto; margin-right: auto; }

/* ---------- Pie ---------- */
.rc3-pie-menu .elementor-nav-menu--main > .elementor-nav-menu { border-top: 1px solid transparent; }
.rc3-pie-menu .elementor-nav-menu--main .elementor-item { padding: 8px 10px 8px 20px !important; border-bottom: 1px solid transparent; }
.rc3-redes .elementor-social-icon { background: transparent; }

/* ---------- Volver arriba (solo escritorio, como Avada) ---------- */
.rc3-totop {
	position: fixed; right: 75px; bottom: 0; z-index: 1000; width: 48px; height: 35px;
	display: flex; align-items: center; justify-content: center; border-radius: 4px 4px 0 0;
	background: #333; color: #FFF; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease;
}
.rc3-totop.is-visible { opacity: 1; visibility: visible; }
@media (max-width: 1024px) { .rc3-totop { display: none; } }
