/* Fuentes alojadas localmente (descargadas de Google Fonts, licencia OFL). */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(fonts/montserrat-normal-latin-ext.woff2) format('woff2');
  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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(fonts/montserrat-normal-latin.woff2) format('woff2');
  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: 'Playfair Display';
  font-style: italic;
  font-weight: 600 700;
  font-display: swap;
  src: url(fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
  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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600 700;
  font-display: swap;
  src: url(fonts/playfair-display-italic-latin.woff2) format('woff2');
  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: 'Roboto';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/roboto-normal-latin-ext.woff2) format('woff2');
  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;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/roboto-normal-latin.woff2) format('woff2');
  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;
}

/* Recursos Contables — estilos de marca (sitio y editor). Referencia visual: recursoscontables.lovable.app */

:root {
	--rc-blue: #2c23e5;
	--rc-magenta: #d74ed4;
	--rc-violet: #6511a8;
	--rc-cyan: #00b1c9;
	--rc-accent: #f5a623;
	--rc-ink: #333333;
	--rc-night: #0d0719;
	--rc-body: #54595f;
	--rc-lilac: #edebfc;
	--rc-soft: #faf9fc;
	--rc-muted: #a79fc2;
	--rc-font-display: "Montserrat", ui-sans-serif, system-ui, sans-serif;
	--rc-font-body: "Roboto", ui-sans-serif, system-ui, sans-serif;
	--rc-font-serif: "Playfair Display", Georgia, serif;
	--rc-gradient-overlay: linear-gradient(180deg, rgba(13, 48, 195, 0.68) 0%, rgba(101, 17, 168, 0.85) 100%);
	--rc-gradient-cta: linear-gradient(126deg, rgba(44, 35, 229, 0.9) 0%, rgba(101, 17, 168, 0.85) 55%, rgba(0, 177, 201, 0.78) 100%);

}

/* Tipografía: Kadence imprime sus variables en :root después de este archivo; definirlas en body les gana. */
body {
	--global-body-font-family: var(--rc-font-body);
	--global-heading-font-family: var(--rc-font-display);
	--global-primary-nav-font-family: var(--rc-font-display);
}

body,
.editor-styles-wrapper {
	font-family: var(--rc-font-body);
	color: var(--rc-body);
}

h1, h2, h3, h4, h5, h6,
.wp-block-button__link {
	font-family: var(--rc-font-display);
}

/* ---------- Utilidades ---------- */

.rc-eyebrow {
	display: block;
	font-family: var(--rc-font-display);
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--rc-magenta) !important;
	margin-bottom: 0;
}

.rc-pill {
	display: table;
	padding: 6px 16px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 999px;
	font-family: var(--rc-font-display);
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #fff;
}

.rc-pill.has-text-align-center { margin-left: auto !important; margin-right: auto !important; }

.rc-serif {
	font-family: var(--rc-font-serif);
	font-style: italic;
}

.rc-gradient-text {
	background-image: linear-gradient(90deg, var(--rc-magenta) 0%, var(--rc-blue) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rc-magenta { color: var(--rc-magenta); }

/* ---------- Botones ----------
   Kadence aplica su propio hover (fondo de la paleta, letra blanca, sombra); cada variante define el suyo
   con !important para que el texto siempre se lea. */

.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 14px 30px;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

[class*="rc-btn-"] .wp-block-button__link,
[class*="rc-btn-"] .wp-block-button__link:hover,
[class*="rc-btn-"] .wp-block-button__link:focus { box-shadow: none !important; }

.rc-btn-primary .wp-block-button__link { background: var(--rc-blue); color: #fff; }
.rc-btn-primary .wp-block-button__link:hover,
.rc-btn-primary .wp-block-button__link:focus { background: #1d16c7 !important; color: #fff !important; transform: scale(1.04); }

.rc-btn-light .wp-block-button__link { background: #fff; color: var(--rc-ink); }
.rc-btn-light .wp-block-button__link:hover,
.rc-btn-light .wp-block-button__link:focus { background: #fff !important; color: var(--rc-blue) !important; transform: scale(1.04); }

.rc-btn-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--rc-blue) !important;
	border: 1.5px solid var(--rc-blue);
	padding: 10px 24px;
}
.rc-btn-outline .wp-block-button__link:hover,
.rc-btn-outline .wp-block-button__link:focus { background: var(--rc-lilac) !important; color: var(--rc-blue) !important; border-color: var(--rc-blue) !important; }

.rc-btn-text .wp-block-button__link {
	background: transparent !important;
	color: var(--rc-blue) !important;
	padding-left: 0;
	padding-right: 0;
}
.rc-btn-text .wp-block-button__link:hover,
.rc-btn-text .wp-block-button__link:focus { background: transparent !important; color: var(--rc-magenta) !important; }

.rc-btn-ghost .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, 0.7); }
.rc-btn-ghost .wp-block-button__link:hover,
.rc-btn-ghost .wp-block-button__link:focus { background: rgba(255, 255, 255, 0.15) !important; color: #fff !important; border-color: #fff !important; }

/* Ícono de flecha (SVG) para enlaces tipo "Conócenos" */
.rc-btn-arrow .wp-block-button__link::after {
	content: "";
	width: 16px;
	height: 16px;
	flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.2s ease;
}
.rc-btn-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }

/* ---------- Secciones de la portada ---------- */

/* Separación vertical entre secciones (como Lovable: 120px) y márgenes laterales (24px) */
.rc-section { margin-top: 120px !important; padding-left: 24px; padding-right: 24px; }

/* Portada: carrusel de 2 diapositivas (video / foto del equipo) con degradado azul → violeta */
.rc-hero-slider {
	position: relative;
	height: 680px;
	border-radius: 0 0 24px 24px;
	overflow: hidden;
	background: var(--rc-ink);
	margin-top: 0 !important;
}
.rc-hero-slider .rc-slide { margin: 0 !important; }
/* Temas clásicos: el grupo envuelve su contenido en .wp-block-group__inner-container */
.rc-hero-slider > .wp-block-group__inner-container { position: relative; height: 100%; }
/* Antes de que cargue el script (y sin JavaScript) solo se ve la primera diapositiva */
.rc-hero-slider:not(.is-ready) .rc-slide ~ .rc-slide { display: none; }
.rc-hero-slider.is-ready .rc-slide {
	position: absolute;
	inset: 0;
	min-height: 100% !important;
	opacity: 0;
	transition: opacity 1s ease;
}
.rc-hero-slider.is-ready .rc-slide.is-active { opacity: 1; z-index: 1; }
.rc-hero-slider.is-ready .rc-slide .wp-block-cover__inner-container {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 1s ease, transform 1s ease;
}
.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container { opacity: 1; transform: none; }
.rc-hero.wp-block-cover { padding-top: 112px; padding-bottom: 64px; }

.rc-slider-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	transform: translateY(-50%);
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 999px;
	background: transparent;
	color: #fff;
	backdrop-filter: blur(4px);
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.rc-slider-arrow:hover, .rc-slider-arrow:focus-visible { background: rgba(255, 255, 255, 0.2); color: #fff; }
.rc-slider-arrow--prev { left: 24px; }
.rc-slider-arrow--next { right: 24px; }
.rc-slider-dots {
	position: absolute;
	bottom: 28px;
	left: 50%;
	z-index: 2;
	display: flex;
	gap: 8px;
	transform: translateX(-50%);
}
.rc-slider-dot {
	width: 14px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #fff;
	opacity: 0.45;
	cursor: pointer;
	transition: width 0.3s ease, opacity 0.3s ease;
}
.rc-slider-dot.is-active { width: 40px; opacity: 1; }

/* En el editor: diapositivas apiladas y separadas para editarlas */
.editor-styles-wrapper .rc-hero-slider { height: auto; border-radius: 0; }
.editor-styles-wrapper .rc-hero-slider .rc-slide + .rc-slide { margin-top: 8px !important; }
.rc-hero .wp-block-cover__background { background: var(--rc-gradient-overlay) !important; opacity: 0.45 !important; }
.rc-hero h1,
.rc-hero h2 {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: #fff;
}
.rc-hero p:not(.rc-pill) { font-size: 18px; color: rgba(255, 255, 255, 0.9); }

/* "Tu negocio merece un aliado" */
.rc-aliado-section { position: relative; isolation: isolate; }
.rc-aliado-section::before {
	content: "";
	position: absolute;
	inset: -48px 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 30% 40% at 18% 40%, rgba(215, 78, 212, 0.10) 0, transparent 100%),
		radial-gradient(ellipse 30% 40% at 82% 65%, rgba(44, 35, 229, 0.08) 0, transparent 100%);
	pointer-events: none;
}
.rc-aliado { align-items: center !important; gap: 56px !important; }

/* Tarjeta con marco degradado desplazado y burbuja flotante */
.rc-aliado-media { position: relative; }
.rc-aliado-media::before {
	content: "";
	position: absolute;
	inset: 24px -18px -18px 24px;
	border-radius: 28px;
	background: linear-gradient(135deg, var(--rc-magenta) 0%, var(--rc-blue) 100%);
	opacity: 0.9;
	z-index: 0;
}
.rc-aliado-card.wp-block-cover {
	position: relative;
	z-index: 1;
	border-radius: 24px;
	overflow: hidden;
	min-height: 440px;
	box-shadow: 0 30px 60px -20px rgba(13, 7, 25, 0.45);
}
.rc-aliado-card .wp-block-cover__image-background { transition: transform 0.8s ease; }
.rc-aliado-media:hover .rc-aliado-card .wp-block-cover__image-background { transform: scale(1.05); }
.rc-aliado-card .wp-block-cover__background {
	background: linear-gradient(0deg, rgba(13, 7, 25, 0.8) 0%, rgba(13, 7, 25, 0.35) 40%, rgba(0, 0, 0, 0) 70%) !important;
	opacity: 1 !important;
}
.rc-aliado-card .wp-block-cover__inner-container { padding: 8px; }
.rc-aliado-card h2 {
	display: inline-block;
	margin: 0 !important;
	padding: 18px 22px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	background: rgba(13, 7, 25, 0.42);
	-webkit-backdrop-filter: blur(12px) saturate(1.2);
	backdrop-filter: blur(12px) saturate(1.2);
	font-size: clamp(22px, 2.1vw, 28px);
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #fff;
}
.rc-aliado-card h2 .rc-magenta {
	font-family: var(--rc-font-serif);
	font-style: italic;
	font-weight: 700;
	color: #fff;
	padding: 0 0.04em 0.04em;
	background-image: linear-gradient(90deg, var(--rc-magenta) 0%, var(--rc-cyan) 100%);
	background-repeat: no-repeat;
	background-size: 100% 0.12em;
	background-position: 0 92%;
}
.rc-aliado-badge {
	position: absolute;
	z-index: 2;
	top: 40px;
	right: -28px;
	padding: 14px 18px 14px 58px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 40px -12px rgba(44, 35, 229, 0.35);
	animation: rc-flotar 5s ease-in-out infinite;
}
.rc-aliado-badge::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--rc-magenta), var(--rc-blue));
}
.rc-aliado-badge::after {
	content: "";
	position: absolute;
	left: 22px;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rc-aliado-badge p { margin: 0 !important; line-height: 1.3; }
.rc-aliado-badge__titulo { font-family: var(--rc-font-display); font-weight: 700; font-size: 14px !important; color: var(--rc-ink); }
.rc-aliado-badge__sub { font-size: 12px !important; color: var(--rc-body); }
@keyframes rc-flotar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* Texto */
.rc-aliado-text > * { margin-bottom: 0 !important; }
.rc-aliado-text > * + * { margin-top: 16px !important; }
.rc-aliado-text .rc-eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.rc-aliado-text .rc-eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.rc-aliado-titulo {
	margin-top: 10px !important;
	font-size: clamp(26px, 2.6vw, 34px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--rc-ink);
}
.rc-aliado-titulo .rc-serif { font-weight: 700; }
.rc-aliado-text p { font-size: 16px; line-height: 1.65; color: var(--rc-body); }
.rc-aliado-text p.rc-aliado-lead { font-size: 17px; }
.rc-aliado-text strong { color: var(--rc-ink); }

/* Pilares: orden, respaldo, tiempo */
.rc-pilares.wp-block-columns { gap: 12px !important; margin-top: 20px !important; margin-bottom: 0; }
.rc-pilar {
	position: relative;
	padding: 16px;
	border: 1px solid var(--rc-lilac);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 30px -18px rgba(44, 35, 229, 0.3);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.rc-pilar:hover { transform: translateY(-4px); border-color: rgba(44, 35, 229, 0.25); box-shadow: 0 18px 36px -18px rgba(44, 35, 229, 0.45); }
.rc-pilar::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	padding: 8px;
	margin-bottom: 10px;
	border-radius: 10px;
	background-color: var(--rc-blue);
	-webkit-mask-size: 18px;
	mask-size: 18px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	box-sizing: content-box;
}
/* Fondo lila del ícono: la máscara recorta el ::before, así que el recuadro va en ::after detrás */
.rc-pilar::after {
	content: "";
	position: absolute;
	top: 16px;
	left: 16px;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--rc-lilac);
	z-index: -1;
}
.rc-pilar { isolation: isolate; }
.rc-pilar--orden::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E"); }
.rc-pilar--respaldo::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.8-7 9-4-1.2-7-4.5-7-9V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.8-7 9-4-1.2-7-4.5-7-9V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.rc-pilar--tiempo::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.rc-pilar h3 { margin: 0 !important; font-size: 15px; font-weight: 700; color: var(--rc-ink); }
.rc-aliado-text .rc-pilar p { margin-top: 4px !important; margin-bottom: 0 !important; font-size: 15px; line-height: 1.5; }

/* Cita destacada */
.rc-aliado-text p.rc-aliado-quote {
	position: relative;
	margin-top: 20px !important;
	padding: 14px 18px 14px 22px;
	border-radius: 0 16px 16px 0;
	background: linear-gradient(90deg, var(--rc-lilac) 0%, rgba(237, 235, 252, 0.3) 100%);
	font-size: 15px;
}
.rc-aliado-quote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 4px;
	background: linear-gradient(180deg, var(--rc-magenta), var(--rc-blue));
}

/* Firma */
.rc-firma-row { display: flex; align-items: center; gap: 12px !important; margin-top: 20px !important; }
.rc-firma-row > * { margin: 0 !important; }
.rc-aliado-text .rc-firma-logo { flex: none; margin: 0 !important; }
.rc-aliado-text .rc-firma-logo img {
	display: block;
	width: 46px;
	height: 46px;
	padding: 9px;
	box-sizing: border-box;
	border: 1px solid var(--rc-lilac);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 20px -10px rgba(44, 35, 229, 0.4);
	object-fit: contain;
}
.rc-firma { font-family: var(--rc-font-display); font-weight: 700; color: var(--rc-ink) !important; font-size: 15px !important; line-height: 1.3 !important; }
.rc-firma-sub { display: block; margin-top: 2px; font-family: var(--rc-font-body); font-style: normal; font-weight: 500; color: #a82ea5; font-size: 14px; line-height: 1.3; }
.rc-aliado-text .wp-block-buttons { margin-top: 20px !important; gap: 24px; align-items: center; }

/* En el editor la burbuja no debe tapar nada ni moverse */
.editor-styles-wrapper .rc-aliado-badge { position: static; animation: none; margin-top: 16px; display: inline-block; }

@media (prefers-reduced-motion: reduce) {
	.rc-aliado-badge { animation: none; }
	.rc-pilar, .rc-aliado-card .wp-block-cover__image-background { transition: none; }
}

/* Tarjetas de servicios */
.rc-servicios h2 { color: var(--rc-ink); font-weight: 700; max-width: 700px; margin-left: auto; margin-right: auto; }
/* Tarjetas de igual alto: el botón queda abajo y alineado entre las cuatro */
.rc-servicios-grid.wp-block-columns { align-items: stretch !important; }
.rc-service-card { display: flex; flex-direction: column; align-items: center; text-align: center; }
.rc-service-card > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.rc-service-card .wp-block-image { width: 100%; }
.rc-service-card .wp-block-buttons { margin-top: auto !important; padding-top: 20px; justify-content: center; }
.rc-service-card .wp-block-image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 20px;
}
.rc-tag {
	display: inline-block;
	margin-top: 20px !important;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--rc-lilac);
	color: var(--rc-blue);
	font-family: var(--rc-font-display);
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
.rc-service-card h3 { font-size: 22px; font-weight: 700; color: var(--rc-ink); margin: 12px 0 0 !important; line-height: 1.3; }
.rc-service-card p:not(.rc-tag) { font-size: 15px; color: var(--rc-body); margin-top: 8px !important; }

/* Sección Servicios. Solo CSS: el HTML no cambia.
   Reglas: centrado explícito, sin líneas decorativas, un radio (20 px), un acento, movimiento solo con transform/opacity. */
.rc-servicios {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1290px;
	padding-top: 88px !important;
	padding-bottom: 72px !important;
	border-radius: 0;
	background: none;
	text-align: center;
}
.rc-servicios + * { margin-top: 0 !important; }
.rc-servicios .rc-eyebrow,
.rc-confianza .rc-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; }
.rc-servicios .rc-eyebrow::before,
.rc-servicios .rc-eyebrow::after,
.rc-confianza .rc-eyebrow::before,
.rc-confianza .rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-servicios h2 {
	max-width: 760px;
	margin: 16px auto 0 !important;
	font-size: clamp(26px, 3vw, 38px) !important;
	line-height: 1.25 !important;
	text-wrap: balance;
}
.rc-servicios-grid.wp-block-columns { gap: 28px !important; margin-top: 56px !important; }

.rc-servicios .rc-service-card {
	position: relative;
	overflow: hidden;
	padding-bottom: 32px;
	background: #fff;
	border: 1px solid rgba(44, 35, 229, 0.08);
	border-radius: 20px;
	box-shadow: 0 18px 40px -26px rgba(44, 35, 229, 0.45);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.rc-servicios .rc-service-card:hover { transform: translateY(-4px); box-shadow: 0 26px 46px -26px rgba(44, 35, 229, 0.5); }

.rc-servicios .rc-service-card .wp-block-image { overflow: hidden; margin: 0 !important; }
.rc-servicios .rc-service-card .wp-block-image img {
	border-radius: 0;
	height: 230px;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.rc-servicios .rc-service-card:hover .wp-block-image img { transform: scale(1.04); }

.rc-servicios .rc-service-card > :not(.wp-block-image) { padding-left: 24px; padding-right: 24px; }
.rc-servicios .rc-tag { margin-top: 24px !important; padding: 6px 16px; background: var(--rc-lilac); color: var(--rc-blue); }
.rc-servicios .rc-service-card h3 { margin-top: 14px !important; font-size: 17px; white-space: nowrap; }
.rc-servicios .rc-service-card p:not(.rc-tag) { min-height: 3.2em; }
.rc-servicios .rc-service-card .wp-block-buttons { padding-left: 24px; padding-right: 24px; }

.rc-servicios .rc-btn-outline .wp-block-button__link {
	border-radius: 999px;
	padding: 12px 28px;
	font-weight: 700;
	letter-spacing: 1.2px;
	transition: background 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.rc-servicios .rc-btn-outline .wp-block-button__link:hover,
.rc-servicios .rc-btn-outline .wp-block-button__link:focus-visible {
	background: var(--rc-blue) !important;
	border-color: var(--rc-blue) !important;
	color: #fff !important;
}

/* Revisión v3: fotos con mismo tratamiento, tarjetas alineadas a la izquierda, precio "desde", subtítulo y cierre. */
.rc-servicios .rc-service-card .wp-block-image { position: relative; }
.rc-servicios .rc-service-card { align-items: flex-start; text-align: left; }
.rc-servicios .rc-service-card .wp-block-buttons { justify-content: flex-start; }
.rc-servicios .rc-service-card h3 { margin-top: 12px !important; }
.rc-servicios .rc-service-card p:not(.rc-tag):not(.rc-precio) { min-height: 4.8em; }
.rc-servicios .rc-tag { margin: 24px 0 0 24px !important; }
.rc-precio {
	margin-top: 14px !important;
	font-family: var(--rc-font-display);
	font-size: 16px !important;
	font-weight: 700;
	color: var(--rc-ink) !important;
}
.rc-servicios .rc-service-card .wp-block-buttons { margin-top: auto !important; padding-top: 8px; }
.rc-servicios-sub {
	max-width: 60ch;
	margin: 16px auto 0 !important;
	font-size: 17px;
	line-height: 1.6;
	color: var(--rc-body);
}
.rc-servicios-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin-top: 64px !important;
}
.rc-servicios-cta .wp-block-buttons { gap: 24px; }
.rc-servicios-cta-texto {
	margin: 0 !important;
	font-family: var(--rc-font-display);
	font-size: 18px !important;
	font-weight: 700;
	color: var(--rc-ink) !important;
}

@media (prefers-reduced-motion: reduce) {
	.rc-servicios .rc-service-card, .rc-servicios .rc-service-card .wp-block-image img { transition: none; }
	.rc-servicios .rc-service-card:hover, .rc-servicios .rc-service-card:hover .wp-block-image img { transform: none; }
}
@media (max-width: 781px) {
	.rc-servicios { padding-top: 64px !important; padding-bottom: 56px !important; }
	.rc-servicios-grid.wp-block-columns { margin-top: 40px !important; }
}

/* Testimonios + logos (fondo oscuro) */
.rc-confianza {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--rc-night);
	padding: 96px 24px !important;
	text-align: center;
}
.rc-confianza::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 40% 50% at 15% 10%, rgba(215, 78, 212, 0.18) 0, transparent 100%),
		radial-gradient(ellipse 45% 50% at 85% 45%, rgba(44, 35, 229, 0.22) 0, transparent 100%);
	pointer-events: none;
}
/* Kadence (tema clásico) envuelve el contenido del grupo en .wp-block-group__inner-container */
.rc-confianza > *,
.rc-confianza > .wp-block-group__inner-container > * { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; }
.rc-confianza > .wp-block-group__inner-container { max-width: none; }
.rc-confianza h2 { margin-top: 12px !important; font-size: clamp(30px, 3.6vw, 42px); font-weight: 800; line-height: 1.2; color: #fff; }
p.rc-confianza-sub { margin-top: 12px !important; font-size: 16px; color: var(--rc-muted); }

/* Cita destacada en tarjeta de vidrio */
.rc-confianza .rc-testimonio.wp-block-quote {
	position: relative;
	max-width: 820px !important;
	margin: 48px auto 0 !important;
	padding: 48px 56px 36px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.02) 100%);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.6);
	text-align: center;
}
.rc-testimonio.wp-block-quote::before {
	content: "\201C";
	position: absolute;
	top: -30px;
	left: 50%;
	width: 60px;
	height: 60px;
	margin-left: -30px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--rc-magenta), var(--rc-blue));
	font-family: var(--rc-font-serif);
	font-size: 54px;
	line-height: 76px;
	color: #fff;
	box-shadow: 0 12px 30px -8px rgba(215, 78, 212, 0.6);
}
.rc-testimonio p { margin: 0 !important; font-family: var(--rc-font-serif); font-style: italic; font-size: clamp(19px, 2vw, 24px); line-height: 1.55; color: #e5e1f5; text-align: center; }
.rc-testimonio strong { color: #fff; font-weight: 700; }
.rc-testimonio cite {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	font-family: var(--rc-font-display);
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #fff;
}
.rc-testimonio cite::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: var(--rc-magenta); }

/* Testimonios en video (Shorts verticales): tarjeta tipo historia con el nombre sobre la imagen */
.rc-videos.wp-block-columns { gap: 20px !important; margin-top: 56px !important; margin-bottom: 0; text-align: left; }
.rc-video {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	background: #1a1230;
	box-shadow: 0 24px 50px -28px rgba(0, 0, 0, 0.8);
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.rc-video:hover { transform: translateY(-6px); border-color: rgba(215, 78, 212, 0.55); }
.rc-video .rc-video__thumb { margin: 0 !important; }
.rc-video .rc-video__thumb a { display: block; position: relative; }
.rc-video .rc-video__thumb img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; transition: transform 0.6s ease; }
.rc-video:hover .rc-video__thumb img { transform: scale(1.06); }
.rc-video .rc-video__thumb a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(13, 7, 25, 0.92) 0%, rgba(13, 7, 25, 0.35) 38%, rgba(13, 7, 25, 0) 60%);
}
.rc-video .rc-video__thumb a::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='white'/%3E%3C/svg%3E") 55% 50% / 20px no-repeat,
		linear-gradient(135deg, var(--rc-magenta), var(--rc-blue));
	box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.6);
	transition: transform 0.25s ease;
}
.rc-video:hover .rc-video__thumb a::after { transform: scale(1.12); }
.rc-video p { position: absolute; z-index: 3; left: 18px; right: 18px; margin: 0 !important; pointer-events: none; }
p.rc-video__nombre { bottom: 40px; font-family: var(--rc-font-display); font-size: 16px; font-weight: 700; line-height: 1.25; color: #fff; }
p.rc-video__cargo { bottom: 18px; font-size: 13px; line-height: 1.3; color: #d6d0ea; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.rc-logos-titulo {
	margin-top: 72px !important;
	font-family: var(--rc-font-display);
	font-size: 12px !important;
	font-weight: 800;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--rc-muted) !important;
}

/* Carrusel infinito de logos: cada fila tiene los logos duplicados y se desplaza -50%. Bordes difuminados. */
.rc-confianza > .rc-marquee,
.rc-confianza > .wp-block-group__inner-container > .rc-marquee { max-width: 1400px; }
.rc-marquee {
	overflow: hidden;
	margin-top: 28px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.rc-marquee + .rc-marquee { margin-top: 18px; }
.rc-marquee .rc-marquee__track {
	display: flex;
	flex-wrap: nowrap !important;
	gap: 18px;
	width: max-content;
	animation: rc-marquee 75s linear infinite;
}
.rc-marquee.rc-marquee--reverse .rc-marquee__track { animation-direction: reverse; animation-duration: 80s; }
.rc-marquee:hover .rc-marquee__track { animation-play-state: paused; }
.rc-marquee .wp-block-image { margin: 0 !important; flex: 0 0 auto; }
.rc-marquee .wp-block-image img {
	width: 112px;
	height: 112px;
	object-fit: contain;
	padding: 6px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.7);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rc-marquee .wp-block-image img:hover { transform: translateY(-4px) scale(1.04); box-shadow: 0 16px 30px -12px rgba(215, 78, 212, 0.55); }
.rc-marquee .rc-marquee__track { padding: 6px 0; }
@keyframes rc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rc-marquee .rc-marquee__track { animation: none; flex-wrap: wrap !important; width: auto; justify-content: center; } }

/* Llamado final "¿Te ayudamos?": degradado sólido a la izquierda que se desvanece para dejar ver al equipo */
.rc-cta.wp-block-cover {
	width: calc(100% - 48px);
	max-width: 1240px;
	margin: 120px auto !important;
	padding: 56px 64px;
	border-radius: 32px;
	overflow: hidden;
	box-shadow: 0 40px 80px -40px rgba(44, 35, 229, 0.55);
}
.rc-cta .wp-block-cover__background { opacity: 1 !important; }
.rc-cta.wp-block-cover::after {
	content: "";
	position: absolute;
	inset: auto auto -120px -80px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(215, 78, 212, 0.45) 0%, transparent 70%);
	pointer-events: none;
}
.rc-cta img.wp-block-cover__image-background { object-position: 80% 22%; }
/* Escritorio: el equipo completo (5 personas) a la derecha, a altura completa, con borde izquierdo difuminado */
@media (min-width: 782px) {
	/* Foto a color natural: el fondo pasa de azul a gris, el tono de fondo de la foto, y la foto se desvanece hacia la izquierda */
	.rc-cta.wp-block-cover { isolation: isolate; background: linear-gradient(90deg, #2c23e5 0%, #4a3fc2 32%, #7d7ab3 60%, #b9b8c6 100%); }
	.rc-cta .wp-block-cover__background { background: none !important; }
	.rc-cta img.wp-block-cover__image-background {
		object-fit: contain !important;
		object-position: right center !important;
		left: auto !important;
		right: 0 !important;
		width: auto !important;
		height: 100% !important;
		max-width: none !important;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.5) 12%, #000 30%);
		mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.5) 12%, #000 30%);
	}
}
.rc-cta .wp-block-cover__inner-container { position: relative; z-index: 2; }
.rc-cta .wp-block-cover__inner-container > * { margin-left: 0 !important; }
.rc-cta-eyebrow.rc-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: rgba(255, 255, 255, 0.85) !important; }
.rc-cta-eyebrow.rc-eyebrow::before { background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)) !important; }
.rc-cta-eyebrow.rc-eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.rc-cta h2 { margin-top: 12px !important; font-size: clamp(36px, 4.4vw, 56px); font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.rc-cta h2 .rc-serif {
	font-family: var(--rc-font-serif);
	font-style: italic;
	font-weight: 700;
	color: #fff;
	padding: 0 0.04em 0.04em;
	background-image: linear-gradient(90deg, var(--rc-magenta) 0%, var(--rc-cyan) 100%);
	background-repeat: no-repeat;
	background-size: 100% 0.12em;
	background-position: 0 92%;
}
.rc-cta p.rc-cta-texto { margin-top: 16px !important; max-width: 460px; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, 0.9); }
.rc-cta .wp-block-buttons { margin-top: 28px !important; gap: 12px; }
.rc-cta .rc-btn-light .wp-block-button__link { color: var(--rc-blue); box-shadow: 0 12px 30px -10px rgba(13, 7, 25, 0.5) !important; }
.rc-cta .rc-btn-ghost .wp-block-button__link { background: rgba(255, 255, 255, 0.08); color: #fff; border: 1.5px solid rgba(255, 255, 255, 0.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.rc-cta p.rc-cta-contacto { margin-top: 22px !important; font-size: 14px; color: rgba(255, 255, 255, 0.75); }
.rc-cta p.rc-cta-contacto a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.35); }
.rc-cta p.rc-cta-contacto a:hover { border-bottom-color: #fff; }

@media (max-width: 781px) {
	.rc-cta.wp-block-cover { width: calc(100% - 32px); margin: 80px auto !important; padding: 36px 24px; border-radius: 24px; min-height: 640px !important; align-items: flex-end !important; }
	.rc-cta .wp-block-buttons { gap: 10px !important; }
	.rc-cta .wp-block-buttons .wp-block-button { width: 100%; }
	.rc-cta .wp-block-buttons .wp-block-button__link { width: 100%; justify-content: center; }
	.rc-cta .wp-block-cover__background {
		background: linear-gradient(0deg, rgba(44, 35, 229, 0.97) 0%, rgba(80, 26, 200, 0.9) 45%, rgba(101, 17, 168, 0.3) 68%, rgba(101, 17, 168, 0) 85%) !important;
	}
	.rc-cta img.wp-block-cover__image-background { object-position: 58% 0%; }
	.rc-cta p.rc-cta-texto { font-size: 16px; }
}

/* Carrito lateral: encabezado, estado vacío y estado con productos (marca, sin degradados) */
#cart-drawer .drawer-header { padding: 20px 24px; border-bottom: 1px solid var(--rc-lilac); }
#cart-drawer .side-cart-header { margin: 0; font-family: var(--rc-font-display); font-size: 19px; font-weight: 800; color: var(--rc-ink); letter-spacing: -0.01em; }
#cart-drawer .drawer-content { padding: 24px; }
#cart-drawer .woocommerce-mini-cart__empty-message { display: none; }

/* Botones del carrito */
.rc-cart-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	padding: 14px 20px;
	border: 1.5px solid var(--rc-blue);
	border-radius: 999px;
	font-family: var(--rc-font-display);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.rc-cart-btn--primary { background: var(--rc-blue); color: #fff !important; }
.rc-cart-btn--primary:hover, .rc-cart-btn--primary:focus-visible { background: #1b14b8; border-color: #1b14b8; }
.rc-cart-btn--ghost { background: #fff; color: var(--rc-blue) !important; }
.rc-cart-btn--ghost:hover, .rc-cart-btn--ghost:focus-visible { background: var(--rc-lilac); }

/* Estado vacío */
.rc-cart-empty { text-align: center; padding: 32px 4px 8px; }
.rc-cart-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--rc-lilac);
	color: var(--rc-blue);
}
.rc-cart-empty__icon svg { width: 30px; height: 30px; }
.rc-cart-empty__title { margin: 0 0 8px; font-family: var(--rc-font-display); font-size: 18px; font-weight: 800; color: var(--rc-ink); }
.rc-cart-empty__text { max-width: 280px; margin: 0 auto 24px; font-size: 14px; line-height: 1.6; color: var(--rc-body); }
.rc-cart-empty__wa { display: inline-block; margin-top: 18px; font-size: 13px; font-weight: 700; color: var(--rc-blue); text-underline-offset: 4px; }

/* Estado con productos */
#cart-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; overflow-x: clip; }
#cart-drawer .woocommerce-mini-cart-item { position: relative; padding: 16px 40px 16px 0; border-bottom: 1px solid var(--rc-lilac); }
#cart-drawer .woocommerce-mini-cart-item > a { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--rc-ink); text-decoration: none; }
#cart-drawer .woocommerce-mini-cart-item img { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 12px; object-fit: cover; }
#cart-drawer .woocommerce-mini-cart-item .quantity { display: block; margin-top: 8px; padding-left: 78px; font-size: 13px; color: var(--rc-body); }
/* Quitar producto: X dibujada en SVG (sin el carácter ×), sin fondo ni resaltado al tocar */
#cart-drawer a.remove.remove_from_cart_button {
	position: absolute;
	top: 16px;
	right: 2px;
	width: 26px;
	height: 26px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 50%;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='%2354595f' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
#cart-drawer a.remove.remove_from_cart_button:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='%232c23e5' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
#cart-drawer a.remove.remove_from_cart_button:active { transform: scale(0.86); }
#cart-drawer a.remove.remove_from_cart_button:focus-visible { outline: 2px solid var(--rc-blue); outline-offset: 2px; }

/* Sin resaltado de toque ni contorno al hacer clic dentro del carrito (se mantiene el foco visible para teclado) */
#cart-drawer a,
#cart-drawer button { -webkit-tap-highlight-color: transparent; }
#cart-drawer :focus:not(:focus-visible) { outline: none; }

/* Animaciones del carrito lateral: entran al abrirse el panel (Kadence pone la clase en el body). Sin movimiento si se pide reducirlo. */
@keyframes rc-drawer-in { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
@keyframes rc-cart-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes rc-cart-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rc-cart-pop { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	body.showing-popup-drawer-from-right #cart-drawer .drawer-inner { animation: rc-drawer-in 0.45s cubic-bezier(0.16, 1, 0.3, 1) backwards; }
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-empty__icon { animation: rc-cart-pop 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.15s backwards; }
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-empty > :not(.rc-cart-empty__icon) { animation: rc-cart-rise 0.55s cubic-bezier(0.16, 1, 0.3, 1) backwards; }
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-empty > :nth-child(2) { animation-delay: 0.25s; }
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-empty > :nth-child(3) { animation-delay: 0.32s; }
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-empty > :nth-child(4) { animation-delay: 0.39s; }
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-empty > :nth-child(5) { animation-delay: 0.46s; }
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart-item { animation: rc-cart-fade 0.5s ease backwards; }
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart-item:nth-child(1) { animation-delay: 0.2s; }
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart-item:nth-child(2) { animation-delay: 0.28s; }
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart-item:nth-child(3) { animation-delay: 0.36s; }
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart-item:nth-child(n+4) { animation-delay: 0.44s; }
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart__total,
	body.showing-popup-drawer-from-right #cart-drawer .woocommerce-mini-cart__buttons,
	body.showing-popup-drawer-from-right #cart-drawer .rc-cart-continue { animation: rc-cart-rise 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s backwards; }
}

#cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; margin: 22px 0 16px; font-size: 15px; color: var(--rc-ink); }
#cart-drawer .woocommerce-mini-cart__total strong { font-family: var(--rc-font-display); font-weight: 800; }
#cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
#cart-drawer .woocommerce-mini-cart__buttons .button.checkout { background: var(--rc-blue) !important; color: #fff !important; }
#cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; color: var(--rc-blue) !important; }
#cart-drawer .woocommerce-mini-cart__buttons .button {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 14px 20px;
	border: 1.5px solid var(--rc-blue) !important;
	border-radius: 999px;
	font-family: var(--rc-font-display);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}
.rc-cart-continue { margin: 14px 0 0; text-align: center; }
.rc-cart-continue a { font-size: 13px; font-weight: 700; color: var(--rc-blue); text-underline-offset: 4px; }

/* En el editor las animaciones distraen */
.editor-styles-wrapper .rc-marquee .rc-marquee__track { animation: none; flex-wrap: wrap !important; width: auto; }

@media (max-width: 781px) {
	.rc-hero-slider { height: 600px; }
	.rc-slider-arrow { display: none; }
	.rc-section { margin-top: 80px !important; }
	.rc-aliado { gap: 48px !important; }
	.rc-aliado-card.wp-block-cover { min-height: 340px; }
	.rc-aliado-media::before { inset: 16px -10px -10px 16px; }
	.rc-aliado-badge { top: auto; bottom: -22px; right: 12px; }
	.rc-pilar { display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; align-items: start; }
	.rc-pilar::before { grid-row: span 2; margin-bottom: 0; }
	.rc-pilar > * { grid-column: 2; }
	.rc-confianza { padding: 72px 16px !important; }
	.rc-confianza .rc-testimonio.wp-block-quote { padding: 44px 22px 28px !important; }
	.rc-videos.wp-block-columns { margin-top: 40px !important; gap: 12px !important; }
	.rc-confianza .rc-videos.wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; }
	.rc-video .rc-video__thumb a::after { width: 36px; height: 36px; top: 10px; right: 10px; background-size: 16px, auto; }
	.rc-video p { left: 12px; right: 12px; }
	p.rc-video__nombre { bottom: 32px; font-size: 14px; }
	p.rc-video__cargo { bottom: 12px; font-size: 11px; }
	.rc-marquee .wp-block-image img { width: 84px; height: 84px; border-radius: 16px; }
}

/* Modal de testimonios en video (lo abre rc-front.js) */
.rc-video-modal {
	width: min(92vw, calc(86vh * 9 / 16));
	max-width: none;
	max-height: none;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}
.rc-video-modal::backdrop { background: rgba(13, 7, 25, 0.86); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.rc-video-modal[open] { animation: rc-modal-in 0.25s ease; }
.rc-video-modal__frame { position: relative; aspect-ratio: 9 / 16; border-radius: 18px; overflow: hidden; background: #000; box-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.8); }
.rc-video-modal iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rc-video-modal__close {
	position: absolute;
	top: -14px;
	right: -14px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--rc-ink);
	cursor: pointer;
	box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.5);
}
.rc-video-modal__close:hover, .rc-video-modal__close:focus { background: #fff; color: var(--rc-magenta); }
html.rc-modal-open { overflow: hidden; }
@keyframes rc-modal-in { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: none; } }
@media (max-width: 781px) { .rc-video-modal__close { top: 8px; right: 8px; } }
@media (prefers-reduced-motion: reduce) { .rc-video-modal[open] { animation: none; } }

/* ---------- Pie de página (rc-footer.php) ---------- */
.rc-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--rc-night);
	color: #c9c2df;
	font-family: var(--rc-font-body);
	font-size: 15px;
}
.rc-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--rc-magenta) 0%, var(--rc-blue) 60%, var(--rc-cyan) 100%);
}
.rc-footer::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 35% 60% at 0% 0%, rgba(215, 78, 212, 0.14) 0, transparent 100%),
		radial-gradient(ellipse 35% 70% at 100% 100%, rgba(44, 35, 229, 0.18) 0, transparent 100%);
	pointer-events: none;
}
.rc-footer__inner { max-width: 1240px; margin: 0 auto; padding: 72px 24px 0; }
.rc-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 48px; }
.rc-footer ul { margin: 0; padding: 0; list-style: none; }
.rc-footer a { color: inherit; text-decoration: none; transition: color 0.2s ease; }
.rc-footer a:hover, .rc-footer a:focus-visible { color: #fff; }

.rc-footer__logo { display: inline-block; }
.rc-footer__logo img { display: block; width: 190px; height: auto; }
.rc-footer__brand p { margin: 20px 0 0; max-width: 320px; line-height: 1.65; color: var(--rc-muted); }
.rc-footer__social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px !important; }
.rc-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	color: #fff;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.rc-footer__social a:hover, .rc-footer__social a:focus-visible {
	transform: translateY(-3px);
	border-color: transparent;
	background: linear-gradient(135deg, var(--rc-magenta), var(--rc-blue));
}

.rc-footer__title {
	margin: 6px 0 20px !important;
	font-family: var(--rc-font-display);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #fff;
}
.rc-footer__col li + li { margin-top: 12px; }

.rc-footer nav.rc-footer__col a::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 2px;
	margin-right: 0;
	vertical-align: middle;
	border-radius: 2px;
	background: var(--rc-magenta);
	transition: width 0.2s ease, margin-right 0.2s ease;
}
.rc-footer nav.rc-footer__col a:hover::before, .rc-footer nav.rc-footer__col a:focus-visible::before { width: 12px; margin-right: 8px; }
.rc-footer__contacto a { display: inline-flex; align-items: flex-start; gap: 12px; line-height: 1.45; }
.rc-footer__contacto svg { flex: none; margin-top: 1px; color: var(--rc-magenta); }

.rc-footer__interes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 56px;
	padding: 18px 22px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.03);
}
.rc-footer__interes > span { font-family: var(--rc-font-display); font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rc-muted); }
.rc-footer__interes ul { display: flex; flex-wrap: wrap; gap: 10px; }
.rc-footer__interes a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	font-size: 14px;
	color: #e5e1f5;
}
.rc-footer__interes a svg { width: 14px; height: 14px; opacity: 0.7; }
.rc-footer__interes a:hover, .rc-footer__interes a:focus-visible { background: rgba(215, 78, 212, 0.22); }

.rc-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	margin-top: 40px;
	padding: 24px 0 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 13px;
	color: var(--rc-muted);
}
.rc-footer__bottom p { margin: 0; }

@media (max-width: 1024px) {
	.rc-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
	.rc-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.rc-footer__inner { padding: 56px 20px 0; }
	.rc-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
	.rc-footer__contacto { grid-column: 1 / -1; }
	.rc-footer__interes { margin-top: 40px; }
	.rc-footer__bottom { flex-direction: column; }
}

/* Scroll suave (Lenis): sin el scroll-behavior nativo, que pelea con Lenis, y con el video del modal clicable
   (lenis.css desactiva los clics en iframes mientras suaviza). */
html.lenis { scroll-behavior: auto !important; }
.lenis.lenis-smooth .rc-video-modal iframe { pointer-events: auto; }

/* Revelado al entrar en pantalla (rc-front.js). Se usa la propiedad translate para no chocar con los hover (transform). */
.rc-reveal.rc-reveal {
	opacity: 0;
	translate: 0 24px;
	transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1) var(--rc-delay, 0ms), translate 0.7s cubic-bezier(0.16, 1, 0.3, 1) var(--rc-delay, 0ms);
}
.rc-reveal.rc-reveal.is-visible { opacity: 1; translate: 0 0; }
@media (prefers-reduced-motion: reduce) {
	.rc-reveal.rc-reveal { opacity: 1; translate: none; transition: none; }
}

/* Hero: entrada escalonada del texto y zoom suave del fondo en cada diapositiva activa (rc-front.js marca .is-active).
   Sin JavaScript o con reducción de movimiento, el contenido queda visible y estático. */
.rc-hero-slider.is-ready .rc-slide .wp-block-cover__inner-container { opacity: 1; transform: none; transition: none; }
@media (prefers-reduced-motion: no-preference) {
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container > * {
		animation: rc-hero-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) backwards;
	}
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container > *:nth-child(1) { animation-delay: 0.15s; }
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container > *:nth-child(2) { animation-delay: 0.3s; }
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container > *:nth-child(3) { animation-delay: 0.45s; }
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container > *:nth-child(4) { animation-delay: 0.6s; }
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__inner-container > *:nth-child(n+5) { animation-delay: 0.75s; }
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__image-background,
	.rc-hero-slider.is-ready .rc-slide.is-active .wp-block-cover__video-background {
		animation: rc-hero-zoom 9s ease-out backwards;
	}
	.rc-hero-slider.is-ready .rc-slider-dots { animation: rc-hero-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.9s backwards; }
}
@keyframes rc-hero-in {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}
@keyframes rc-hero-zoom {
	from { transform: scale(1.08); }
	to { transform: scale(1); }
}

/* Contraste AA: eyebrows sobre fondo claro y enlace de la página actual en el menú */
.rc-servicios .rc-eyebrow, .rc-aliado-text .rc-eyebrow { color: #a82ea5 !important; }
/* Menú del encabezado. El estado lo marca el body según la fila fija (item-is-stuck): en tableta y escritorio.
   Al fijarse el encabezado tiene fondo blanco y los enlaces van en gris oscuro; arriba, sobre el hero transparente, van en blanco.
   La página actual se distingue por el subrayado. */
body:has(.item-is-stuck) .site-header .menu-item > a { color: #333 !important; }
body.transparent-header:not(:has(.item-is-stuck)) .site-header .current-menu-item > a { color: #fff !important; }
.site-header .current-menu-item > a,
.site-header a[aria-current="page"] { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: 6px !important; }

/* Controles de pausa (WCAG 2.2.2): carrusel del hero y logos de Testimonios */
.rc-slider-pause {
	width: 30px;
	height: 30px;
	margin-right: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease;
}
.rc-slider-pause:hover { background: rgba(255, 255, 255, 0.32); }
.rc-marquee-pause {
	display: table;
	margin: 0 auto 16px;
	padding: 8px 16px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 999px;
	background: transparent;
	color: #fff;
	font-family: var(--rc-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
}
.rc-marquee-pause:hover { background: rgba(255, 255, 255, 0.12); }
.rc-slider-pause:focus-visible, .rc-marquee-pause:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.rc-marquee.is-paused .rc-marquee__track { animation-play-state: paused; }

/* Área de toque de 24 px (WCAG 2.5.8) sin cambiar el punto visible: el relleno es transparente y el fondo se recorta al contenido */
.rc-slider-dot { box-sizing: content-box; padding: 9px 5px; background-clip: content-box; }

/* Texto solo para lectores de pantalla (p. ej. "de Servicios Contables" en cada botón "Ver planes") */
.rc-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Sin desplazamiento horizontal: el panel y sus elementos se recortan dentro del carrito mientras se animan
   (overflow-x: clip no crea barras de desplazamiento internas, a diferencia de hidden). */
#cart-drawer,
#cart-drawer .drawer-inner,
#cart-drawer .drawer-content { overflow-x: clip; }

/* Al quitar un producto, WooCommerce bloquea la fila (BlockUI). Sin caja: la fila se atenúa, la X se oculta
   y el indicador de carga aparece en el lugar de la X (centrado sobre ella: 26 px de X, 18 px de indicador). */
#cart-drawer .blockUI.blockOverlay { background: transparent !important; opacity: 1 !important; cursor: progress !important; }
#cart-drawer .blockUI.blockOverlay::before {
	content: "" !important;
	position: absolute;
	top: 20px;
	right: 6px;
	left: auto;
	width: 18px;
	height: 18px;
	margin: 0;
	border: 2px solid var(--rc-lilac);
	border-top-color: var(--rc-blue);
	border-radius: 50%;
	animation: rc-cart-spin 0.8s linear infinite;
}
#cart-drawer li:has(> .blockUI.blockOverlay) > :not(.blockUI) { opacity: 0.4; transition: opacity 0.2s ease; }
#cart-drawer li:has(> .blockUI.blockOverlay) > a.remove.remove_from_cart_button { opacity: 0; }
@keyframes rc-cart-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #cart-drawer .blockUI.blockOverlay::before { animation-duration: 2.4s; } }

/* ===== Landing de Servicios (/servicios/). Clases rc-sv-*; el HTML lo genera scripts/build-servicios.py =====
   Este tema envuelve el contenido de cada grupo en .wp-block-group__inner-container: el layout va en ese contenedor. */
.rc-sv-hero {
	position: relative;
	margin-top: 0 !important;
	padding: 176px 24px 96px;
	background: var(--rc-night);
	text-align: center;
}
.rc-sv-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 90% at 50% 0%, rgba(44, 35, 229, 0.42), transparent 70%);
	pointer-events: none;
}
.rc-sv-hero > * { position: relative; }
.rc-sv-hero .rc-eyebrow,
.rc-sv-cat .rc-eyebrow,
.rc-sv-etapa .rc-eyebrow,
.rc-ct-main .rc-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; }
.rc-sv-hero .rc-eyebrow::before, .rc-sv-hero .rc-eyebrow::after,
.rc-sv-cat .rc-eyebrow::before, .rc-sv-cat .rc-eyebrow::after,
.rc-sv-etapa .rc-eyebrow::before, .rc-sv-etapa .rc-eyebrow::after,
.rc-ct-main .rc-eyebrow::before, .rc-ct-main .rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-sv-hero .rc-eyebrow { color: rgba(255, 255, 255, 0.85) !important; }
.rc-sv-cat .rc-eyebrow, .rc-sv-etapa .rc-eyebrow, .rc-ct-main .rc-eyebrow { color: #a82ea5 !important; }
.rc-sv-hero h1 { margin: 16px auto 0 !important; font-size: clamp(34px, 4.6vw, 56px); font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; color: #fff; text-wrap: balance; }
.rc-sv-hero h1 .rc-serif { font-family: var(--rc-font-serif); font-style: italic; font-weight: 700; }
.rc-sv-hero .rc-sv-sub { max-width: 60ch; margin: 20px auto 0 !important; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, 0.88); }
.rc-sv-hero .wp-block-buttons { margin-top: 32px !important; gap: 12px; }
.rc-sv-chips { margin-top: 48px !important; }
.rc-sv-chips > .wp-block-group__inner-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.rc-sv-chip { margin: 0 !important; }
.rc-sv-chip a {
	display: inline-block;
	padding: 10px 20px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	font-family: var(--rc-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	transition: background 0.25s ease, border-color 0.25s ease;
}
.rc-sv-chip a:hover, .rc-sv-chip a:focus-visible { background: rgba(255, 255, 255, 0.14); border-color: #fff; }

.rc-sv-cat { scroll-margin-top: 96px; text-align: center; }
.rc-sv-cat h2, .rc-sv-etapa h2, .rc-ct-main h2 { max-width: 760px; margin: 12px auto 0 !important; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; font-weight: 800; color: var(--rc-ink); text-wrap: balance; }
.rc-sv-intro { max-width: 58ch; margin: 14px auto 0 !important; color: var(--rc-body); }
.rc-sv-grid { margin-top: 56px !important; text-align: left; }
.rc-sv-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
	justify-content: center;
	gap: 28px;
}
.rc-sv-card {
	overflow: hidden;
	margin: 0 !important;
	background: #fff;
	border: 1px solid rgba(44, 35, 229, 0.08);
	border-radius: 20px;
	box-shadow: 0 18px 40px -26px rgba(44, 35, 229, 0.45);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.rc-sv-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.rc-sv-card:hover { transform: translateY(-4px); box-shadow: 0 26px 46px -26px rgba(44, 35, 229, 0.5); }
.rc-sv-card .wp-block-image { margin: 0 !important; overflow: hidden; }
.rc-sv-card .wp-block-image img { display: block; width: 100%; height: 200px; object-fit: cover; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-sv-card:hover .wp-block-image img { transform: scale(1.04); }
.rc-sv-card__body { flex: 1; padding: 24px; }
.rc-sv-card__body > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.rc-sv-card__body > .wp-block-group__inner-container > * { margin-block: 0 !important; }
.rc-sv-card__body > .wp-block-group__inner-container > .rc-sv-desc { margin-top: 8px !important; }
.rc-sv-card__body > .wp-block-group__inner-container > .rc-sv-incluye { margin-top: 16px !important; }
.rc-sv-card__body > .wp-block-group__inner-container > .rc-sv-precio { margin-top: auto !important; }
.rc-sv-card__body > .wp-block-group__inner-container > .wp-block-buttons { margin-top: 16px !important; }
.rc-sv-card h3 { overflow: hidden; font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--rc-ink); white-space: nowrap; text-overflow: ellipsis; }
.rc-sv-desc { display: -webkit-box; overflow: hidden; font-size: 15px; line-height: 1.6; color: var(--rc-body); -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.rc-sv-card .rc-sv-incluye { display: grid; gap: 8px; padding: 0 !important; list-style: none; font-size: 15px; line-height: 1.45; color: var(--rc-ink); }
.rc-sv-incluye li { position: relative; padding-left: 22px; }
.rc-sv-incluye li::before { content: ""; position: absolute; left: 1px; top: 0.4em; width: 11px; height: 6px; border-left: 2px solid var(--rc-blue); border-bottom: 2px solid var(--rc-blue); transform: rotate(-45deg); }
.rc-sv-precio { padding-top: 22px; font-family: var(--rc-font-display); font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--rc-ink) !important; }
.rc-sv-precio__sub { display: block; margin-top: 2px; font-family: var(--rc-font-body); font-size: 13px; font-weight: 400; color: var(--rc-body); }
.rc-sv-card .wp-block-button { width: 100%; }
.rc-sv-card .wp-block-button__link { width: 100%; justify-content: center; }
.rc-sv-card .rc-btn-outline .wp-block-button__link { border-radius: 999px; padding: 12px 28px; font-weight: 700; letter-spacing: 1.2px; }
.rc-sv-card .rc-btn-outline .wp-block-button__link:hover, .rc-sv-card .rc-btn-outline .wp-block-button__link:focus-visible { background: var(--rc-blue) !important; border-color: var(--rc-blue) !important; color: #fff !important; }

/* Cuatro productos: cuatro columnas desde 1320 px (con menos, el título "Renta Express 1ª categoría" no cabe en una línea); en medianas, dos y dos. */
@media (min-width: 782px) {
	.rc-sv-grid--n4 > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 340px)); }
}
@media (min-width: 1320px) {
	.rc-sv-grid--n4 > .wp-block-group__inner-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rc-sv-grid--n4 .rc-sv-card h3 { font-size: 16px; }
}
@media (max-width: 781px) {
	.rc-sv-hero { padding: 136px 20px 72px; }
	.rc-sv-grid { margin-top: 40px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.rc-sv-card, .rc-sv-card .wp-block-image img { transition: none; }
	.rc-sv-card:hover, .rc-sv-card:hover .wp-block-image img { transform: none; }
}

/* ===== Servicios: foto grande bajo el hero, selector "según tu etapa" y fotos de categoría ===== */
.rc-sv-hero { padding-bottom: 184px; }
.rc-ct-hero { padding-bottom: 96px; }
.rc-sv-foto { position: relative; z-index: 2; max-width: 1148px; margin: -96px auto 0 !important; padding: 0 24px; }
.rc-sv-foto .wp-block-image { margin: 0 !important; }
.rc-sv-foto__img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 30%; border-radius: 28px; box-shadow: 0 40px 80px -40px rgba(44, 35, 229, 0.55); }

.rc-sv-etapa { text-align: center; }
.rc-sv-etapa__grid { margin-top: 48px !important; text-align: left; }
.rc-sv-etapa__grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.rc-sv-etapa__card { margin: 0 !important; }
.rc-sv-etapa__card a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	box-sizing: border-box;
	height: 100%;
	padding: 24px 52px 24px 24px;
	background: #fff;
	border: 1px solid rgba(44, 35, 229, 0.1);
	border-radius: 20px;
	text-decoration: none;
	transition: border-color 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}
.rc-sv-etapa__card a::after { content: ""; position: absolute; right: 22px; bottom: 20px; width: 18px; height: 18px; background: var(--rc-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-sv-etapa__card a:hover, .rc-sv-etapa__card a:focus-visible { border-color: rgba(44, 35, 229, 0.45); transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(44, 35, 229, 0.5); }
.rc-sv-etapa__card a:hover::after { transform: translateX(4px); }
.rc-sv-etapa__t { font-family: var(--rc-font-display); font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--rc-ink); }
.rc-sv-etapa__s { font-size: 15px; line-height: 1.55; color: var(--rc-body); }

.rc-sv-cat .rc-sv-banner { max-width: 1100px !important; margin: 44px auto 0 !important; }
.rc-sv-banner img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: 50% 30%; border-radius: 24px; box-shadow: 0 26px 50px -30px rgba(44, 35, 229, 0.4); }
#servicios-contables .rc-sv-banner img { object-position: 50% 35%; }
#servicios-laborales .rc-sv-banner img { object-position: 50% 30%; }
#operacion-renta .rc-sv-banner img { object-position: 50% 40%; }
#creacion-de-empresas-y-oficina-virtual .rc-sv-banner img { object-position: 50% 0%; }

/* ===== Contacto ===== */
.rc-ct-grid { margin-top: 56px !important; text-align: left; }
.rc-ct-grid > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 32px; align-items: start; }
.rc-ct-card { padding: 36px; background: #fff; border: 1px solid rgba(44, 35, 229, 0.08); border-radius: 20px; box-shadow: 0 18px 40px -26px rgba(44, 35, 229, 0.45); }
.rc-ct-form h3 { margin: 0 !important; font-size: 22px; font-weight: 800; color: var(--rc-ink); }
.rc-ct-nota { margin: 6px 0 24px !important; font-size: 13px; color: var(--rc-body); }
.rc-ct-foto { margin: 0 !important; }
.rc-ct-foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 62% 40%; border-radius: 20px; }
.rc-ct-canales { margin-top: 12px; }
.rc-ct-canal { position: relative; margin: 0 !important; padding: 16px 0 16px 60px; border-bottom: 1px solid var(--rc-lilac); font-size: 15px; line-height: 1.5; color: var(--rc-ink); }
.rc-ct-canal::before { content: ""; position: absolute; left: 0; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; background: var(--rc-lilac) center / 20px 20px no-repeat; }
.rc-ct-canal--tel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.rc-ct-canal--wa::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
.rc-ct-canal--mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.rc-ct-canal--dir::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 0 0-14 0c0 4.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.rc-ct-canal__k { display: block; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rc-body); }
.rc-ct-canal a { font-weight: 700; color: var(--rc-ink); text-decoration: none; }
.rc-ct-canal a:hover, .rc-ct-canal a:focus-visible { color: var(--rc-blue); text-decoration: underline; text-underline-offset: 3px; }
.rc-ct-canal a.rc-ct-canal__ir { display: block; margin-top: 2px; font-size: 13px; color: var(--rc-blue); }
.rc-ct-redes { margin: 18px 0 0 !important; }
.rc-ct-redes a { display: inline-block; margin: 6px 6px 0 0; padding: 8px 14px; border: 1px solid rgba(44, 35, 229, 0.18); border-radius: 999px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; color: var(--rc-blue); text-decoration: none; transition: background 0.2s ease; }
.rc-ct-redes a:hover, .rc-ct-redes a:focus-visible { background: var(--rc-lilac); }
.rc-ct-redes a:visited, .rc-ct-redes a:hover, .rc-ct-redes a:focus-visible, .rc-ct-redes a:active { color: var(--rc-blue) !important; }

/* Contacto: sin etiqueta sobre "¿Te ayudamos?", la sección arranca más cerca del encabezado */
.rc-section.rc-ct-main { margin-top: 80px !important; margin-bottom: 96px !important; }
.rc-ct-main h2 { margin-top: 0 !important; }
@media (max-width: 781px) { .rc-section.rc-ct-main { margin-top: 56px !important; margin-bottom: 64px !important; } }

/* Mapa de la oficina ([rc_mapa], rc-datos.php) */
.rc-ct-mapa { margin: 0 !important; }
.rc-ct-lado .rc-mapa iframe { height: 340px; }
.rc-mapa { position: relative; overflow: hidden; background: var(--rc-lilac); border: 1px solid rgba(44, 35, 229, 0.08); border-radius: 20px; box-shadow: 0 18px 40px -26px rgba(44, 35, 229, 0.45); }
.rc-mapa iframe { display: block; width: 100%; height: 400px; border: 0; }
.rc-mapa__ir { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; background: #fff; border-radius: 999px; box-shadow: 0 8px 20px -8px rgba(13, 7, 25, 0.35); font-family: var(--rc-font-display); font-size: 13px; font-weight: 800; color: var(--rc-blue); text-decoration: none; }
.rc-mapa__ir::before { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 0 0-14 0c0 4.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-mapa__ir:hover, .rc-mapa__ir:focus-visible { background: var(--rc-lilac); }
@media (max-width: 781px) { .rc-mapa iframe { height: 320px; } .rc-mapa__ir { padding: 8px 14px; font-size: 12px; } }

/* Redes: ícono de cada red (trazos estilo Lucide, ISC; TikTok dibujado aquí) con el color del texto */
.rc-ct-redes a { display: inline-flex; align-items: center; gap: 6px; }
/* Las 5 redes en una sola fila: botones más ajustados; en pantallas muy angostas solo el ícono (el nombre queda para lectores de pantalla) */
.rc-ct-redes { display: flex; flex-wrap: nowrap; gap: 6px; }
.rc-ct-redes a { flex: 0 1 auto; margin: 0 !important; padding: 7px 10px !important; font-size: 12px !important; white-space: nowrap; }
.rc-ct-lado { container-type: inline-size; }
@container (max-width: 524px) {
	.rc-ct-redes { justify-content: flex-start; gap: 8px; }
	.rc-ct-redes a { justify-content: center; width: 44px; height: 44px; padding: 0 !important; font-size: 0 !important; border-radius: 50% !important; }
	.rc-ct-redes a::before { width: 18px; height: 18px; }
}
.rc-ct-redes a::before { content: ""; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.rc-ct-redes a[href*="instagram"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='20'%20height='20'%20x='2'%20y='2'%20rx='5'/%3E%3Cpath%20d='M16%2011.37A4%204%200%201%201%2012.63%208%204%204%200%200%201%2016%2011.37z'/%3E%3Cpath%20d='M17.5%206.5h.01'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20width='20'%20height='20'%20x='2'%20y='2'%20rx='5'/%3E%3Cpath%20d='M16%2011.37A4%204%200%201%201%2012.63%208%204%204%200%200%201%2016%2011.37z'/%3E%3Cpath%20d='M17.5%206.5h.01'/%3E%3C/svg%3E"); }
.rc-ct-redes a[href*="facebook"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M18%202h-3a5%205%200%200%200-5%205v3H7v4h3v8h4v-8h3l1-4h-4V7a1%201%200%200%201%201-1h3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M18%202h-3a5%205%200%200%200-5%205v3H7v4h3v8h4v-8h3l1-4h-4V7a1%201%200%200%201%201-1h3z'/%3E%3C/svg%3E"); }
.rc-ct-redes a[href*="linkedin"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M16%208a6%206%200%200%201%206%206v7h-4v-7a2%202%200%200%200-4%200v7h-4v-7a6%206%200%200%201%206-6z'/%3E%3Crect%20width='4'%20height='12'%20x='2'%20y='9'/%3E%3Ccircle%20cx='4'%20cy='4'%20r='2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M16%208a6%206%200%200%201%206%206v7h-4v-7a2%202%200%200%200-4%200v7h-4v-7a6%206%200%200%201%206-6z'/%3E%3Crect%20width='4'%20height='12'%20x='2'%20y='9'/%3E%3Ccircle%20cx='4'%20cy='4'%20r='2'/%3E%3C/svg%3E"); }
.rc-ct-redes a[href*="tiktok"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%203v11.5a3.5%203.5%200%201%201-3.5-3.5'/%3E%3Cpath%20d='M14%203c.5%202.5%202.5%204.5%205%205'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%203v11.5a3.5%203.5%200%201%201-3.5-3.5'/%3E%3Cpath%20d='M14%203c.5%202.5%202.5%204.5%205%205'/%3E%3C/svg%3E"); }
.rc-ct-redes a[href*="youtube"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%2017a24%2024%200%200%201%200-10%202%202%200%200%201%201.4-1.4%2049.6%2049.6%200%200%201%2016.2%200A2%202%200%200%201%2021.5%207a24%2024%200%200%201%200%2010%202%202%200%200%201-1.4%201.4%2049.6%2049.6%200%200%201-16.2%200A2%202%200%200%201%202.5%2017'/%3E%3Cpath%20d='m10%2015%205-3-5-3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%2017a24%2024%200%200%201%200-10%202%202%200%200%201%201.4-1.4%2049.6%2049.6%200%200%201%2016.2%200A2%202%200%200%201%2021.5%207a24%2024%200%200%201%200%2010%202%202%200%200%201-1.4%201.4%2049.6%2049.6%200%200%201-16.2%200A2%202%200%200%201%202.5%2017'/%3E%3Cpath%20d='m10%2015%205-3-5-3z'/%3E%3C/svg%3E"); }

/* Formulario de Contacto (Fluent Forms #3) compacto: correo y teléfono en la misma fila y menos aire entre campos */
.rc-ct-form.rc-ct-card { padding: 28px 32px; }
.rc-ct-form .rc-ct-nota { margin-bottom: 16px !important; }
.fluent_form_3 fieldset { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; }
.fluent_form_3 fieldset > * { grid-column: 1 / -1; }
.fluent_form_3 fieldset > .ff-el-group:has(input[name="email"]), .fluent_form_3 fieldset > .ff-el-group:has(input[name="telefono"]) { grid-column: auto; }
.fluent_form_3 .ff-el-group { margin-bottom: 14px; }
.fluent_form_3 .ff-name-field-wrapper .ff-el-group { margin-bottom: 0; }
.fluent_form_3 .ff-name-field-wrapper { margin-bottom: 14px; }
.fluent_form_3 .ff-el-input--label { margin-bottom: 4px; }
.fluent_form_3 .ff-el-form-control { padding: 10px 14px; }
.fluent_form_3 textarea.ff-el-form-control { height: 104px; min-height: 104px; }
.fluent_form_3 .ff-el-tc { margin: 2px 0 4px; font-size: 14px; }
.fluent_form_3 .ff_submit_btn_wrapper, .rc-ct-form .fluentform, .rc-ct-form .fluentform form { margin-bottom: 0 !important; }
.rc-ct-form .wp-block-shortcode, .rc-ct-form > .wp-block-group__inner-container > :last-child { margin-bottom: 0 !important; }
@media (max-width: 767px) { .fluent_form_3 .ff-name-field-wrapper .ff-t-cell + .ff-t-cell .ff-el-group, .fluent_form_3 .ff-name-field-wrapper .ff-t-cell:first-child .ff-el-group { margin-bottom: 14px; } .fluent_form_3 .ff-name-field-wrapper { margin-bottom: 0; } }
@media (max-width: 600px) { .fluent_form_3 fieldset > .ff-el-group:has(input[name="email"]), .fluent_form_3 fieldset > .ff-el-group:has(input[name="telefono"]) { grid-column: 1 / -1; } .rc-ct-form.rc-ct-card { padding: 24px; } }

/* Formularios de Fluent Forms con la marca (Contacto, Cotizar, Plantillas) */
.fluentform .ff-el-form-control { padding: 12px 14px; font-family: var(--rc-font-body); font-size: 16px; background: #fff; border: 1.5px solid rgba(44, 35, 229, 0.18); border-radius: 12px; box-shadow: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.fluentform .ff-el-form-control:focus { border-color: var(--rc-blue); box-shadow: 0 0 0 3px rgba(44, 35, 229, 0.15); outline: none; }
.fluentform .ff-el-input--label label { font-size: 14px; font-weight: 700; color: var(--rc-ink); }
.fluentform .ff-btn-submit { padding: 14px 32px !important; background: var(--rc-blue) !important; border-radius: 999px !important; font-family: var(--rc-font-display) !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: 0.08em; text-transform: uppercase; color: #fff !important; transition: background 0.2s ease; }
.fluentform .ff-btn-submit:hover, .fluentform .ff-btn-submit:focus-visible { background: #1b14b8 !important; }

@media (max-width: 1100px) {
	.rc-sv-etapa__grid > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.rc-ct-grid > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 781px) {
	.rc-sv-hero { padding-bottom: 120px; }
	.rc-ct-hero { padding-bottom: 72px; }
	.rc-sv-foto { margin-top: -56px !important; padding: 0 16px; }
	.rc-sv-foto__img img { aspect-ratio: 3 / 2; border-radius: 20px; }
	.rc-sv-banner img { aspect-ratio: 3 / 2; border-radius: 20px; }
	.rc-ct-card { padding: 24px; }
}
@media (max-width: 560px) {
	.rc-sv-etapa__grid > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.rc-sv-etapa__card a, .rc-sv-etapa__card a::after { transition: none; }
	.rc-sv-etapa__card a:hover, .rc-sv-etapa__card a:hover::after { transform: none; }
}


/* ===== Nosotros ===== */
.rc-ns-sec { text-align: center; }
.rc-ns-sec .rc-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; color: #a82ea5 !important; }
.rc-ns-sec .rc-eyebrow::before, .rc-ns-sec .rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-ns-sec h2 { max-width: 760px; margin: 12px auto 0 !important; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; font-weight: 800; color: var(--rc-ink); text-wrap: balance; }

.rc-ns-historia__grid { margin-top: 56px !important; text-align: left; }
.rc-ns-historia__grid > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 64px; align-items: center; }
.rc-ns-retrato { margin: 0 !important; }
.rc-ns-retrato img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 10%; border-radius: 24px; box-shadow: 0 26px 50px -30px rgba(44, 35, 229, 0.4); }
.rc-ns-texto { margin: 0 0 18px !important; font-size: 17px; line-height: 1.75; color: var(--rc-body); }
.rc-ns-ceo { margin: 28px 0 0 !important; padding-left: 16px; border-left: 3px solid var(--rc-blue); }
.rc-ns-ceo__n { display: block; font-family: var(--rc-font-display); font-size: 19px; font-weight: 800; line-height: 1.3; color: var(--rc-ink); }
.rc-ns-ceo__r { display: block; margin-top: 2px; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rc-body); }
.rc-ns-historia__texto .wp-block-buttons { margin-top: 28px !important; }

.rc-ns-equipo__grid { margin-top: 56px !important; }
.rc-ns-equipo__grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; gap: 36px 28px; }
.rc-ns-persona { margin: 0 !important; }
.rc-ns-persona .wp-block-image { margin: 0 !important; }
.rc-ns-persona__foto img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; border-radius: 20px; box-shadow: 0 18px 40px -28px rgba(44, 35, 229, 0.45); }
.rc-ns-persona h3 { margin: 18px 0 0 !important; overflow: hidden; font-size: 18px; font-weight: 800; line-height: 1.3; color: var(--rc-ink); white-space: nowrap; text-overflow: ellipsis; }
.rc-ns-persona__area { margin: 4px 0 0 !important; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rc-blue); }

.rc-ns-foto { margin-bottom: 0 !important; }
@media (min-width: 1320px) {
	.rc-ns-equipo__grid > .wp-block-group__inner-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rc-ns-persona h3 { font-size: 17px; }
}
@media (max-width: 900px) {
	.rc-ns-historia__grid > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.rc-ns-retrato { max-width: 380px; margin: 0 auto !important; }
}
@media (max-width: 560px) {
	.rc-ns-equipo__grid > .wp-block-group__inner-container { grid-template-columns: minmax(0, 340px); }
	.rc-ns-equipo__grid { margin-top: 40px !important; }
	.rc-ns-historia__grid { margin-top: 40px !important; }
}

/* El tema anula el relleno lateral del hero en grupos de ancho completo: sin esto, el texto toca los bordes en móvil. */
.rc-sv-hero > .wp-block-group__inner-container { box-sizing: border-box; padding-inline: 20px; }
@media (max-width: 560px) {
	.rc-ns-persona__foto img { aspect-ratio: 1 / 1; object-position: 50% 8%; }
}

/* Servicios: hero sin foto grande debajo, más sobrio (sin el espacio que dejaba el solape de la foto). */
.rc-sv-hero.rc-sv-hero--simple { padding-bottom: 96px; }
@media (max-width: 781px) {
	.rc-sv-hero.rc-sv-hero--simple { padding-bottom: 64px; }
}

/* Servicios: cada categoría lleva un ícono (sin fotos) y un separador fino entre categorías. */
.rc-sv-ico { width: 56px; height: 56px; margin: 0 auto 20px !important; border-radius: 50%; background: var(--rc-lilac) center / 26px 26px no-repeat; }
#servicios-contables .rc-sv-ico { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='2'%20width='16'%20height='20'%20rx='2'/%3E%3Cpath%20d='M8%206h8M8%2010h.01M12%2010h.01M16%2010h.01M8%2014h.01M12%2014h.01M16%2014h.01M8%2018h.01M12%2018h.01M16%2018h.01'/%3E%3C/svg%3E"); }
#servicios-laborales .rc-sv-ico { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17%2021v-2a4%204%200%200%200-4-4H7a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='10'%20cy='7'%20r='4'/%3E%3Cpath%20d='M21%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75'/%3E%3C/svg%3E"); }
#operacion-renta .rc-sv-ico { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3E%3Cpath%20d='M14%202v6h6M8%209h2M8%2013h8M8%2017h8'/%3E%3C/svg%3E"); }
#creacion-de-empresas-y-oficina-virtual .rc-sv-ico { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%2022V4a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v18z'/%3E%3Cpath%20d='M6%2012H4a2%202%200%200%200-2%202v6a2%202%200%200%200%202%202h2M18%209h2a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202h-2M10%206h4M10%2010h4M10%2014h4M10%2018h4'/%3E%3C/svg%3E"); }
.rc-sv-cat + .rc-sv-cat { margin-top: 72px !important; }
.rc-sv-cat + .rc-sv-cat::before { content: ""; display: block; width: min(100%, 1100px); height: 1px; margin: 0 auto 72px; background: var(--rc-lilac); }
.rc-sv-cat .rc-sv-grid { margin-top: 48px !important; }

/* ===== Ficha de servicio (minimalista) ===== */
html:has(body.single-product) { scroll-padding-top: 110px; }
.single-product .product-title.product-above { margin-bottom: 28px; }
.single-product .kadence-breadcrumbs, .single-product .kadence-breadcrumbs a { font-size: 13px; color: var(--rc-body); text-decoration: none; }
.single-product .kadence-breadcrumbs a:hover, .single-product .kadence-breadcrumbs a:focus-visible { color: var(--rc-blue); text-decoration: underline; text-underline-offset: 3px; }
.single-product .kadence-breadcrumbs .bc-delimiter { margin: 0 6px; opacity: 0.5; }

.single-product div.product.type-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 72px; align-items: start; padding: 0; background: transparent; box-shadow: none; }
.single-product div.product.type-product > * { grid-column: 1 / -1; }
.single-product div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; float: none !important; width: 100% !important; margin: 0 !important; align-self: center; }
.single-product div.product > .summary { grid-column: 2; grid-row: 1; float: none !important; width: 100% !important; margin: 0 !important; padding: 0; align-self: center; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 24px; box-shadow: 0 26px 50px -30px rgba(44, 35, 229, 0.4); }
.single-product .woocommerce-product-gallery__trigger { display: none !important; }

.rc-pd-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 14px !important; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: #a82ea5; }
.rc-pd-eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.single-product .summary .product_title { margin: 0 !important; font-size: clamp(28px, 3vw, 40px); font-weight: 800; line-height: 1.15; letter-spacing: -0.01em; color: var(--rc-ink); text-wrap: balance; }
.single-product .summary > p.price { margin: 18px 0 0 !important; font-family: var(--rc-font-display); font-size: 26px; font-weight: 800; line-height: 1.2; color: var(--rc-ink); }
.single-product .summary .price small, .single-product .summary .rc-pd-desde { font-family: var(--rc-font-body); font-size: 14px; font-weight: 400; color: var(--rc-body); }
.single-product .summary:has(.single_variation .price) > p.price { display: none; }
.single-product .woocommerce-product-details__short-description { margin-top: 16px; font-size: 16px; line-height: 1.7; color: var(--rc-body); }
.single-product .woocommerce-product-details__short-description p { margin: 0; }

.single-product .summary form.cart { margin: 28px 0 0; }
.single-product .summary table.variations, .single-product .summary table.variations tbody, .single-product .summary table.variations tr, .single-product .summary table.variations th, .single-product .summary table.variations td { display: block; width: 100%; margin: 0; padding: 0; border: 0; }
.single-product .summary table.variations label { display: block; margin: 0 0 8px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rc-body); }
.single-product .summary table.variations select { width: 100%; height: 52px; padding: 0 44px 0 16px; font-family: var(--rc-font-body); font-size: 16px; color: var(--rc-ink); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 16px !important; border: 1.5px solid rgba(44, 35, 229, 0.18); border-radius: 12px; box-shadow: none; -webkit-appearance: none; appearance: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.single-product .summary table.variations select:focus { border-color: var(--rc-blue); box-shadow: 0 0 0 3px rgba(44, 35, 229, 0.15); outline: none; }
.single-product .summary a.reset_variations { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--rc-blue); text-decoration: none; }
.single-product .summary a.reset_variations[style*="hidden"] { display: none; }
.single-product .summary a.reset_variations:hover, .single-product .summary a.reset_variations:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.single-product .single_variation { margin: 20px 0 0; }
.single-product .single_variation:empty { display: none; }
.single-product .single_variation .price { font-family: var(--rc-font-display); font-size: 26px; font-weight: 800; color: var(--rc-ink); }
.single-product .single_variation .woocommerce-variation-description p { margin: 6px 0 0; font-size: 14px; color: var(--rc-body); }
.single-product .woocommerce-variation-add-to-cart { margin-top: 24px; }
.single-product .single_add_to_cart_button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 0 32px !important; line-height: 1.2 !important; font-family: var(--rc-font-display) !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: 1.4px; text-transform: uppercase; color: #fff !important; background: var(--rc-blue) !important; border: 0 !important; border-radius: 999px !important; box-shadow: 0 14px 30px -14px rgba(44, 35, 229, 0.7); transition: background 0.2s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.single-product .single_add_to_cart_button:hover, .single-product .single_add_to_cart_button:focus-visible { background: #1b14b8 !important; transform: translateY(-2px); }
.single-product .single_add_to_cart_button:focus-visible, .single-product select:focus-visible { outline: 3px solid rgba(44, 35, 229, 0.35); outline-offset: 3px; }
.single-product .single_add_to_cart_button.disabled, .single-product .single_add_to_cart_button.wc-variation-selection-needed { opacity: 0.4; cursor: not-allowed; box-shadow: none; transform: none; }
.rc-pd-ayuda { margin: 18px 0 0 !important; font-size: 14px; color: var(--rc-body); }
.rc-pd-ayuda a { font-weight: 700; color: var(--rc-blue); text-decoration: none; }
.rc-pd-ayuda a:hover, .rc-pd-ayuda a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.single-product .product_meta { display: none; }

/* Descripción sin pestañas */
.single-product .woocommerce-tabs { width: 100%; max-width: 860px; margin: 88px auto 0; padding: 64px 0 0; border: 0 !important; border-top: 1px solid var(--rc-lilac) !important; background: none; box-shadow: none; }
.single-product .woocommerce-tabs ul.tabs { display: none; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel { margin: 0; padding: 0 !important; background: none; border: 0 !important; box-shadow: none; }
.single-product .woocommerce-tabs .wc-tab h2 { margin: 0 0 24px; font-size: 24px; font-weight: 800; line-height: 1.2; color: var(--rc-ink); }
.single-product .woocommerce-tabs .wc-tab ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 40px; margin: 0; padding: 0; list-style: none; }
.single-product .woocommerce-tabs .wc-tab li { position: relative; margin: 0; padding-left: 30px; font-size: 15.5px; line-height: 1.5; color: var(--rc-ink); }
.single-product .woocommerce-tabs .wc-tab li::before { content: ""; position: absolute; left: 0; top: 0.1em; width: 20px; height: 20px; border-radius: 50%; background: var(--rc-lilac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px 12px no-repeat; }
.single-product .woocommerce-tabs .wc-tab > p { margin: 36px 0 0; padding-left: 16px; border-left: 3px solid var(--rc-lilac); font-size: 14.5px; line-height: 1.65; color: var(--rc-body); }

/* También te puede interesar: tarjetas de Servicios (.rc-sv-card) */
.rc-pd-rel { margin-top: 96px; text-align: center; }
.rc-pd-rel > h2 { margin: 0; font-size: clamp(24px, 2.6vw, 32px); font-weight: 800; color: var(--rc-ink); text-wrap: balance; }
.rc-pd-rel .rc-sv-grid { margin-top: 40px !important; }
.rc-pd-rel .rc-sv-card h3 { display: -webkit-box; min-height: 2.6em; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

@media (max-width: 900px) {
	.single-product div.product.type-product { grid-template-columns: minmax(0, 1fr); }
	.single-product div.product > .woocommerce-product-gallery, .single-product div.product > .summary { grid-column: 1; grid-row: auto; }
	.single-product div.product > .summary { margin-top: 32px !important; }
	.single-product .woocommerce-tabs { margin-top: 64px; padding-top: 48px; }
	.single-product .woocommerce-tabs .wc-tab ul { grid-template-columns: minmax(0, 1fr); }
	.rc-pd-rel { margin-top: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	.single-product .single_add_to_cart_button { transition: none; }
	.single-product .single_add_to_cart_button:hover { transform: none; }
}

/* ===== Agregar al carrito: botón con estados, aviso rediseñado y contador del carrito animado ===== */
.single-product .single_add_to_cart_button { position: relative; overflow: hidden; }
.single-product .single_add_to_cart_button.rc-loading { pointer-events: none; color: transparent !important; }
.single-product .single_add_to_cart_button.rc-loading::after { content: ""; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border: 2.5px solid rgba(255, 255, 255, 0.3); border-top-color: #fff; border-radius: 50%; animation: rc-spin 0.7s linear infinite; }
.single-product .single_add_to_cart_button.rc-added { gap: 10px; animation: rc-btn-pop 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-atc__check { width: 20px; height: 20px; fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.rc-atc__check path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: rc-draw 0.45s 0.1s ease-out forwards; }
@keyframes rc-spin { to { transform: rotate(360deg); } }
@keyframes rc-draw { to { stroke-dashoffset: 0; } }
@keyframes rc-btn-pop { 0% { transform: scale(0.97); } 60% { transform: scale(1.02); } 100% { transform: scale(1); } }

.rc-bump .header-cart-total { animation: rc-badge-bump 0.7s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes rc-badge-bump { 0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(215, 78, 212, 0.55); } 40% { transform: scale(1.5); } 100% { transform: scale(1); box-shadow: 0 0 0 14px rgba(215, 78, 212, 0); } }

/* Aviso "se ha agregado a tu carrito" (cuando la página se recarga con el aviso de WooCommerce) */
.woocommerce-notices-wrapper .woocommerce-message { position: relative; display: flex; flex-direction: row !important; align-items: center; gap: 14px; margin: 0 0 28px; padding: 14px 16px; font-size: 15px; line-height: 1.45; color: var(--rc-ink); background: #fff !important; border: 1px solid rgba(44, 35, 229, 0.14) !important; border-radius: 16px; box-shadow: 0 18px 40px -26px rgba(44, 35, 229, 0.5); animation: rc-notice-in 0.55s cubic-bezier(0.16, 1, 0.3, 1) both; }
.woocommerce-notices-wrapper .woocommerce-message::before { content: ""; position: static; order: -1 !important; flex: none; width: 38px; height: 38px; margin: 0; font-size: 0; border-radius: 50%; background-color: var(--rc-lilac) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; background-position: center; background-size: 18px 18px; background-repeat: no-repeat; animation: rc-notice-pop 0.5s 0.18s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.woocommerce-notices-wrapper .woocommerce-message .button { order: 3; flex: none; margin: 0 0 0 auto; padding: 11px 22px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: #fff !important; background: var(--rc-blue) !important; border: 0; border-radius: 999px; transition: background 0.2s ease; }
.woocommerce-notices-wrapper .woocommerce-message .button:hover, .woocommerce-notices-wrapper .woocommerce-message .button:focus-visible { background: #1b14b8 !important; }
@keyframes rc-notice-in { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes rc-notice-pop { from { opacity: 0; transform: scale(0.4); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
	.woocommerce-notices-wrapper .woocommerce-message { display: grid !important; grid-template-columns: 38px minmax(0, 1fr); align-items: center; column-gap: 12px; }
	.woocommerce-notices-wrapper .woocommerce-message::before { float: none !important; margin: 0 !important; }
	.woocommerce-notices-wrapper .woocommerce-message .button { grid-column: 1 / -1; grid-row: 2; display: block !important; width: 100%; margin: 14px 0 0 !important; text-align: center; }
}


@media (prefers-reduced-motion: reduce) {
	.single-product .single_add_to_cart_button.rc-added, .rc-bump .header-cart-total, .woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-message::before { animation: none; }
	.rc-atc__check path { animation: none; stroke-dashoffset: 0; }
}
.rc-pd-rel .rc-sv-incluye { margin: 16px 0 0; }

/* "IVA incluido" junto a los precios */
.rc-iva { font-family: var(--rc-font-body); font-size: 13px; font-weight: 400; color: var(--rc-body); }
@keyframes rc-dd-in { from { opacity: 0; transform: translateY(-6px) scale(0.98); } to { opacity: 1; transform: none; } }
/* ===== Búsqueda dentro del navbar ===== */
.site-main-header-inner-wrap { position: relative; }
.rc-hsearch { position: absolute; z-index: 20; top: 50%; right: 0; left: clamp(190px, 24%, 320px); height: 48px; transform: translateY(-50%); visibility: hidden; pointer-events: none; transition: visibility 0s 0.45s; }
.rc-hsearch.is-open { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.rc-hsearch__form { position: relative; display: flex; align-items: center; height: 48px; margin: 0; padding: 0 8px 0 18px; background: #fff; border: 1px solid rgba(44, 35, 229, 0.16); border-radius: 999px; box-shadow: 0 16px 36px -22px rgba(13, 7, 25, 0.55); clip-path: inset(0 0 0 calc(100% - 48px) round 999px); opacity: 0; transition: clip-path 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease; }
.rc-hsearch.is-open .rc-hsearch__form { clip-path: inset(0 0 0 0 round 999px); opacity: 1; }
.rc-hsearch__ico { flex: none; width: 20px; height: 20px; margin-right: 12px; background: var(--rc-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-hsearch__q { flex: 1; min-width: 0; height: 100%; padding: 0; font-family: var(--rc-font-body); font-size: 15.5px; color: var(--rc-ink); background: transparent; border: 0 !important; box-shadow: none !important; outline: none !important; opacity: 0; transition: opacity 0.25s ease 0.18s; }
.rc-hsearch__q::placeholder { color: var(--rc-body); opacity: 0.8; }
.rc-hsearch__q::-webkit-search-cancel-button { display: none; }
.rc-hsearch__x { flex: none; display: grid; place-items: center; width: 34px; height: 34px; margin-left: 8px; padding: 0; color: var(--rc-body); background: var(--rc-lilac); border: 0; border-radius: 50%; cursor: pointer; opacity: 0; transition: opacity 0.25s ease 0.18s, background 0.2s ease, color 0.2s ease; }
.rc-hsearch__x::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-hsearch__x:hover, .rc-hsearch__x:focus-visible { color: #fff; background: var(--rc-blue); }
.rc-hsearch.is-open .rc-hsearch__q, .rc-hsearch.is-open .rc-hsearch__x { opacity: 1; }
.rc-hsearch__form:focus-within { border-color: var(--rc-blue); box-shadow: 0 0 0 3px rgba(44, 35, 229, 0.16), 0 16px 36px -22px rgba(13, 7, 25, 0.55); }
html.rc-search-open .site-header-main-section-right .header-navigation, html.rc-search-open .site-header-main-section-right .header-cart-wrap, html.rc-search-open .site-header-main-section-right .search-toggle-open-container { opacity: 0; pointer-events: none; transition: opacity 0.2s ease; }
.site-header-main-section-right .header-navigation, .site-header-main-section-right .header-cart-wrap, .site-header-main-section-right .search-toggle-open-container { transition: opacity 0.3s ease 0.1s; }

.rc-hsearch__panel { position: absolute; top: calc(100% + 12px); left: 0; right: 0; max-height: min(60vh, 440px); padding: 8px; overflow: auto; background: #fff; border: 1px solid rgba(44, 35, 229, 0.14); border-radius: 20px; box-shadow: 0 28px 56px -26px rgba(44, 35, 229, 0.4), 0 2px 8px rgba(13, 7, 25, 0.05); animation: rc-dd-in 0.28s cubic-bezier(0.16, 1, 0.3, 1); transform-origin: top center; }
.rc-hsearch__panel[hidden] { display: none; }
.rc-hsearch__tit { margin: 8px 10px 10px; font-family: var(--rc-font-display); font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rc-body); }
.rc-hsearch__chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 10px 10px; }
.rc-hsearch__chip { display: inline-block; padding: 9px 16px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.4px; color: var(--rc-blue); text-decoration: none; background: var(--rc-lilac); border-radius: 999px; transition: background 0.2s ease, color 0.2s ease; }
.rc-hsearch__chip:hover, .rc-hsearch__chip:focus-visible { color: #fff; background: var(--rc-blue); }
.rc-hsearch__op { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; align-items: center; padding: 12px 14px; color: var(--rc-ink); text-decoration: none; border-radius: 14px; transition: background 0.15s ease; }
.rc-hsearch__op:hover, .rc-hsearch__op.is-active { background: rgba(44, 35, 229, 0.06); }
.rc-hsearch__t { font-size: 15px; font-weight: 700; line-height: 1.3; }
.rc-hsearch__c { grid-column: 1; font-family: var(--rc-font-display); font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #a82ea5; }
.rc-hsearch__p { grid-column: 2; grid-row: 1 / span 2; font-family: var(--rc-font-display); font-size: 14px; font-weight: 800; color: var(--rc-ink); white-space: nowrap; }
.rc-hsearch__vacio { margin: 0; padding: 18px 14px; font-size: 14.5px; color: var(--rc-body); }
.rc-hsearch__todos { display: block; margin: 4px 0 0; padding: 12px 14px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 800; letter-spacing: 1.2px; text-align: center; text-transform: uppercase; color: var(--rc-blue); text-decoration: none; border-top: 1px solid var(--rc-lilac); }
.rc-hsearch__todos:hover, .rc-hsearch__todos:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	.rc-hsearch__form, .rc-hsearch__q, .rc-hsearch__x { transition: opacity 0.01s; }
	.rc-hsearch__panel { animation: none; }
}

/* ===== Listados: búsqueda y categorías ===== */
:is(body.search, body.tax-product_cat, body.post-type-archive-product) { background: #fff; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .content-bg { background: transparent; box-shadow: none; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section { position: relative; overflow: hidden; background: var(--rc-night); }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 120% at 50% 0%, rgba(44, 35, 229, 0.42), transparent 70%); pointer-events: none; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section .hero-section-overlay { display: none; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section .entry-hero-container-inner { background: none !important; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section .hero-container { position: relative; padding-top: 56px; padding-bottom: 76px; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section .page-title { margin: 0; font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; text-align: center; color: #fff; text-wrap: balance; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section .page-title span { font-family: var(--rc-font-serif); font-style: italic; font-weight: 700; }
body.search .product-archive-hero-section .page-title span::before { content: "“"; }
body.search .product-archive-hero-section .page-title span::after { content: "”"; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) #primary .content-container { padding-top: 0; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .woocommerce-products-header { margin: 0; }
:is(body.search, body.tax-product_cat, body.post-type-archive-product) .kadence-shop-top-row { display: none; }

.rc-bus { position: relative; z-index: 2; display: flex; align-items: center; max-width: 680px; height: 60px; margin: -30px auto 0; padding: 0 8px 0 22px; background: #fff; border: 1px solid rgba(44, 35, 229, 0.16); border-radius: 999px; box-shadow: 0 22px 44px -26px rgba(44, 35, 229, 0.55); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.rc-bus:focus-within { border-color: var(--rc-blue); box-shadow: 0 0 0 3px rgba(44, 35, 229, 0.16), 0 22px 44px -26px rgba(44, 35, 229, 0.55); }
.rc-bus__ico { flex: none; width: 22px; height: 22px; margin-right: 14px; background: var(--rc-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-bus__q { flex: 1; min-width: 0; height: 100%; padding: 0; font-family: var(--rc-font-body); font-size: 16px; color: var(--rc-ink); background: transparent; border: 0 !important; box-shadow: none !important; outline: none !important; }
.rc-bus__q::-webkit-search-cancel-button { display: none; }
.rc-bus__go { flex: none; height: 44px; padding: 0 26px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; color: #fff; background: var(--rc-blue); border: 0; border-radius: 999px; cursor: pointer; transition: background 0.2s ease; }
.rc-bus__go:hover, .rc-bus__go:focus-visible { background: #1b14b8; }
.rc-bus__n { margin: 28px 0 32px; font-size: 14px; text-align: center; color: var(--rc-body); }

.rc-loop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 340px)); gap: 28px; justify-content: center; margin: 0 0 96px; padding: 0; list-style: none; }
.rc-loop-card { margin: 0; padding: 0; list-style: none; background: none; box-shadow: none; }
.rc-loop-card .rc-sv-card { height: 100%; }
.rc-loop-grid .rc-sv-card h3 { display: -webkit-box; min-height: 2.6em; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.rc-vacio--bus { max-width: 560px; margin: 48px auto 96px; text-align: center; }
.rc-vacio--bus .rc-vacio__ico { display: block; width: 72px; height: 72px; margin: 0 auto 20px; background: var(--rc-lilac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / 32px 32px no-repeat; border-radius: 50%; }
.rc-vacio--bus h2 { margin: 0; font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; line-height: 1.25; color: var(--rc-ink); text-wrap: balance; }
.rc-vacio--bus p { margin: 12px 0 0; font-size: 15px; line-height: 1.6; color: var(--rc-body); }
.rc-bus__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 22px 0 28px; }
.rc-bus__chip { display: inline-block; padding: 10px 18px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.4px; color: var(--rc-blue); text-decoration: none; background: var(--rc-lilac); border-radius: 999px; transition: background 0.2s ease, color 0.2s ease; }
.rc-bus__chip:hover, .rc-bus__chip:focus-visible { color: #fff; background: var(--rc-blue); }
.rc-btn-solid { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 36px; font-family: var(--rc-font-display); font-size: 13px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; color: #fff !important; text-decoration: none; background: var(--rc-blue); border-radius: 999px; box-shadow: 0 14px 30px -14px rgba(44, 35, 229, 0.7); transition: background 0.2s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-btn-solid:hover, .rc-btn-solid:focus-visible { background: #1b14b8; transform: translateY(-2px); }
@media (max-width: 600px) {
	:is(body.search, body.tax-product_cat, body.post-type-archive-product) .product-archive-hero-section .hero-container { padding-top: 48px; padding-bottom: 64px; }
	.rc-bus { height: 54px; margin-left: 16px; margin-right: 16px; padding-left: 16px; }
	.rc-bus__go { padding: 0 18px; }
}
@media (prefers-reduced-motion: reduce) { .rc-btn-solid { transition: none; } .rc-btn-solid:hover { transform: none; } }

/* Servicios: foto de escritorio contable (calculadora, carpetas) de fondo del hero, sin personas, bajo una capa uniforme de la marca para que el texto blanco se lea bien */
.rc-sv-hero.rc-sv-hero--simple {
	background-color: var(--rc-night);
	background-image: linear-gradient(rgba(13, 7, 25, 0.82), rgba(13, 7, 25, 0.9)), url("/wp-content/uploads/2026/10/rc-servicio-contable-stock-1024x683.webp");
	background-position: center, center 40%;
	background-size: cover, cover;
	background-repeat: no-repeat;
}
/* Celulares: versión de 768 px (bajo la capa oscura no se nota y pesa menos); la precarga en rc-front.php usa los mismos cortes */
@media (max-width: 600px) { .rc-sv-hero.rc-sv-hero--simple { background-image: linear-gradient(rgba(13, 7, 25, 0.82), rgba(13, 7, 25, 0.9)), url("/wp-content/uploads/2026/10/rc-servicio-contable-stock-768x512.webp"); } }
@media (min-width: 901px) {
	.rc-sv-hero.rc-sv-hero--simple { background-image: linear-gradient(rgba(13, 7, 25, 0.82), rgba(13, 7, 25, 0.9)), url("/wp-content/uploads/2026/10/rc-servicio-contable-stock.webp"); }
}

/* ===== Nosotros: hero con foto de fondo, íconos en "Proceso" y equipo con movimiento ===== */
.rc-sv-hero.rc-ns-hero {
	padding-bottom: 104px;
	background-color: var(--rc-night);
	background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-santiago-1024x680.webp");
	background-position: center, center 70%;
	background-size: cover, cover;
	background-repeat: no-repeat;
}
/* Celulares: versión de 768 px (bajo la capa oscura no se nota y pesa menos); la precarga en rc-front.php usa los mismos cortes */
@media (max-width: 600px) { .rc-sv-hero.rc-ns-hero { background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-santiago-768x510.webp"); } }
@media (max-width: 781px) { .rc-sv-hero.rc-ns-hero { padding-bottom: 72px; } }

.rc-ns-proceso .rc-sv-etapa__card a::before { content: ""; flex: none; width: 46px; height: 46px; margin-bottom: 8px; background: var(--rc-lilac) center / 22px 22px no-repeat; border-radius: 50%; }
.rc-ns-proceso .rc-sv-etapa__card a[href$="#servicios-contables"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='2'%20width='16'%20height='20'%20rx='2'/%3E%3Cpath%20d='M8%206h8M8%2010h.01M12%2010h.01M16%2010h.01M8%2014h.01M12%2014h.01M16%2014h.01M8%2018h.01M12%2018h.01M16%2018h.01'/%3E%3C/svg%3E"); }
.rc-ns-proceso .rc-sv-etapa__card a[href$="#servicios-laborales"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17%2021v-2a4%204%200%200%200-4-4H7a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='10'%20cy='7'%20r='4'/%3E%3Cpath%20d='M21%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75'/%3E%3C/svg%3E"); }
.rc-ns-proceso .rc-sv-etapa__card a[href$="#operacion-renta"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3E%3Cpath%20d='M14%202v6h6M8%209h2M8%2013h8M8%2017h8'/%3E%3C/svg%3E"); }
.rc-ns-proceso .rc-sv-etapa__card a[href$="#creacion-de-empresas-y-oficina-virtual"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%232c23e5'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%2022V4a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v18z'/%3E%3Cpath%20d='M6%2012H4a2%202%200%200%200-2%202v6a2%202%200%200%200%202%202h2M18%209h2a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202h-2M10%206h4M10%2010h4M10%2014h4M10%2018h4'/%3E%3C/svg%3E"); }

.rc-ns-persona__foto { overflow: hidden; border-radius: 20px; box-shadow: 0 18px 40px -28px rgba(44, 35, 229, 0.45); }
.rc-ns-persona__foto img { border-radius: 0; box-shadow: none; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-ns-persona:hover .rc-ns-persona__foto img { transform: scale(1.045); }
.rc-ns-persona h3 { transition: color 0.25s ease; }
.rc-ns-persona:hover h3 { color: var(--rc-blue); }
@media (prefers-reduced-motion: reduce) { .rc-ns-persona__foto img { transition: none; } .rc-ns-persona:hover .rc-ns-persona__foto img { transform: none; } }

/* Llamado final "¿Te ayudamos?" entre 782 y 1439 px: la foto se queda en la mitad derecha (anclada abajo) y el texto en la
   izquierda, para que no se monten sobre las personas. El borde se funde solo en el fondo gris de la foto: la primera persona
   empieza al ~11 % del ancho y la cabeza más alta al ~12 % del alto. Desde 1440 px sigue el diseño de escritorio original. */
@media (min-width: 782px) and (max-width: 1439px) {
	.rc-cta .wp-block-cover__inner-container { max-width: 48% !important; margin-left: 0 !important; }
	.rc-cta img.wp-block-cover__image-background { top: auto !important; bottom: 0 !important; width: 54% !important; height: auto !important; max-height: 100% !important; object-fit: contain !important; object-position: right bottom !important; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 9%), linear-gradient(180deg, transparent 0%, #000 6%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0%, #000 9%), linear-gradient(180deg, transparent 0%, #000 6%); mask-composite: intersect; }
	.rc-cta p.rc-cta-texto { max-width: 100%; }
}

/* Lupa del encabezado móvil (la agrega setupHeaderSearch) y barra de búsqueda a todo el ancho en móvil */
.rc-msearch__btn { display: grid; place-items: center; width: 40px; height: 40px; margin-right: 2px; padding: 0; color: inherit; background: none; border: 0; border-radius: 50%; cursor: pointer; }
.rc-msearch__ico { width: 21px; height: 21px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-msearch__btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#mobile-header .rc-hsearch { left: 0; right: 0; }
#mobile-header .rc-hsearch__form { padding-left: 14px; }
#mobile-header .rc-hsearch__q { font-size: 16px; }
html.rc-search-open #mobile-header .site-header-main-section-right .site-header-item, html.rc-search-open #mobile-header .site-branding { opacity: 0; pointer-events: none; transition: opacity 0.2s ease; }
#mobile-header .site-header-main-section-right .site-header-item, #mobile-header .site-branding { transition: opacity 0.3s ease 0.1s; }

/* Estado "presionado" de los botones: el tema Kadence pinta :active con su propio color de fondo y el texto quedaba
   del mismo tono (botón sin texto visible al tocarlo). Cada estilo de botón define el suyo. */
.rc-btn-light .wp-block-button__link:active { background: #fff !important; color: var(--rc-blue) !important; transform: scale(0.98); }
.rc-btn-ghost .wp-block-button__link:active { background: rgba(255, 255, 255, 0.18) !important; color: #fff !important; transform: scale(0.98); }
.rc-btn-primary .wp-block-button__link:active { background: #1b14b8 !important; color: #fff !important; transform: scale(0.98); }
.rc-btn-outline .wp-block-button__link:active { background: var(--rc-blue) !important; border-color: var(--rc-blue) !important; color: #fff !important; transform: scale(0.98); }
.rc-btn-text .wp-block-button__link:active { background: transparent !important; color: var(--rc-blue) !important; }
@media (prefers-reduced-motion: reduce) { .wp-block-button__link:active { transform: none !important; } }

/* Ficha de servicio: las fotos de producto miden 782 px como máximo; a más de 520 px se ven blandas en pantallas de alta densidad. */
@media (min-width: 901px) {
	.single-product div.product.type-product { grid-template-columns: minmax(0, 520px) minmax(0, 1fr); }
}
.single-product div.product > .woocommerce-product-gallery { max-width: 520px; }
@media (max-width: 900px) { .single-product div.product > .woocommerce-product-gallery { justify-self: center; width: 100% !important; } }

/* ===== Recursos (/recursos/): biblioteca de plantillas [rc_recursos] y solicitud ===== */
.rc-rs-main { text-align: center; }
.rc-rs-main .rc-eyebrow, .rc-rs-pedir .rc-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; color: #a82ea5 !important; }
.rc-rs-main .rc-eyebrow::before, .rc-rs-main .rc-eyebrow::after, .rc-rs-pedir .rc-eyebrow::before, .rc-rs-pedir .rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-rs-main h2, .rc-rs-pedir h2 { max-width: 760px; margin: 12px auto 0 !important; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; font-weight: 800; color: var(--rc-ink); text-wrap: balance; }
.rc-rs { margin-top: 48px; text-align: left; }
.rc-rs-sub { margin: 0 0 18px; font-size: 20px; font-weight: 800; color: var(--rc-ink); }
.rc-rs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.rc-rs-card { position: relative; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 22px 22px 18px; background: #fff; border: 1px solid rgba(44, 35, 229, 0.12); border-radius: 18px; transition: border-color 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease; }
.rc-rs-card[hidden] { display: none; }
.rc-rs-card:hover, .rc-rs-card:focus-within { border-color: rgba(44, 35, 229, 0.4); transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(44, 35, 229, 0.5); }
.rc-rs-card__tipo { display: grid; place-items: center; width: 46px; height: 54px; margin-bottom: 6px; font-family: var(--rc-font-display); font-size: 11px; font-weight: 800; letter-spacing: 0.6px; color: #fff; border-radius: 6px 14px 6px 6px; background: #5b6170; box-shadow: inset -9px 9px 0 -5px rgba(255, 255, 255, 0.28); }
.rc-rs-card__tipo--xls { background: #1d7a46; }
.rc-rs-card__tipo--doc { background: #2b5bd7; }
.rc-rs-card__tipo--pdf { background: #c8333b; }
.rc-rs-card__tipo--ppt { background: #c4501c; }
.rc-rs-card__cat { font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; color: #a82ea5; }
.rc-rs-card__t { margin: 0 !important; font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--rc-ink); }
.rc-rs-card__d { margin: 0 !important; font-size: 15px; line-height: 1.55; color: var(--rc-body); }
.rc-rs-card__pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--rc-lilac); }
.rc-rs-card__det { font-size: 13px; color: var(--rc-body); }
.rc-rs-card__btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--rc-blue); text-decoration: none; border: 1.5px solid var(--rc-blue); border-radius: 999px; transition: background 0.2s ease, color 0.2s ease; }
.rc-rs-card__btn::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-rs-card__btn::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.rc-rs-card__btn:hover, .rc-rs-card__btn:focus-visible, .rc-rs-card:hover .rc-rs-card__btn { color: #fff; background: var(--rc-blue); }
.rc-rs-card__btn:focus-visible { outline: 3px solid rgba(44, 35, 229, 0.35); outline-offset: 3px; }
.rc-rs-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-bottom: 20px; }
.rc-rs-barra .rc-rs-sub { margin: 0 auto 0 0; }
.rc-rs-filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-rs-chip { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 700; color: var(--rc-ink); background: #fff; border: 1.5px solid rgba(44, 35, 229, 0.16); border-radius: 999px; cursor: pointer; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.rc-rs-chip span { font-weight: 600; color: var(--rc-body); }
.rc-rs-chip:hover { border-color: var(--rc-blue); }
.rc-rs-chip[aria-pressed="true"] { color: #fff; background: var(--rc-blue); border-color: var(--rc-blue); }
.rc-rs-chip[aria-pressed="true"] span { color: rgba(255, 255, 255, 0.8); }
.rc-rs-chip:focus-visible { outline: 3px solid rgba(44, 35, 229, 0.35); outline-offset: 2px; }
.rc-rs-buscar input { width: 230px; height: 44px; padding: 0 14px 0 38px; font-family: var(--rc-font-body); font-size: 16px; color: var(--rc-ink); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646970' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 13px center / 16px; border: 1.5px solid rgba(44, 35, 229, 0.16); border-radius: 999px; box-shadow: none; }
.rc-rs-buscar input:focus { border-color: var(--rc-blue); box-shadow: 0 0 0 3px rgba(44, 35, 229, 0.15); outline: none; }
.rc-rs-sin { margin: 18px 0 0; padding: 22px; font-size: 15px; text-align: center; color: var(--rc-body); background: #fff; border: 1.5px dashed rgba(44, 35, 229, 0.25); border-radius: 18px; }
.rc-rs-sin[hidden] { display: none; }
.rc-rs-sin a { font-weight: 700; color: var(--rc-blue); }
.rc-rs-pedir { text-align: center; scroll-margin-top: 110px; }
.rc-rs-pedir .rc-sv-intro { margin-bottom: 0 !important; }
.rc-rs-pedir__card { max-width: 720px; margin: 36px auto 0 !important; padding: 32px; text-align: left; background: #fff; border: 1px solid rgba(44, 35, 229, 0.12); border-radius: 20px; }
@media (max-width: 781px) {
	.rc-rs-barra .rc-rs-sub { flex-basis: 100%; }
	.rc-rs-buscar, .rc-rs-buscar input { width: 100%; }
	.rc-rs-pedir__card { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { .rc-rs-card { transition: none; } .rc-rs-card:hover { transform: none; } }

/* ===== 404 (rc-front/404.php) ===== */
.rc-404 { background: #fff; }
.rc-404__hero { position: relative; overflow: hidden; padding: 72px 24px 88px; text-align: center; background: var(--rc-night); isolation: isolate; }
.rc-404__hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 110% at 50% 0%, rgba(44, 35, 229, 0.45), transparent 70%); }
.rc-404__num { position: absolute; z-index: -1; top: 50%; left: 50%; margin: 0; font-family: var(--rc-font-display); font-size: clamp(180px, 34vw, 440px); font-weight: 800; line-height: 1; letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.09); transform: translate(-50%, -50%); user-select: none; pointer-events: none; }
.rc-404__eyebrow.rc-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin: 0 !important; color: rgba(255, 255, 255, 0.85) !important; }
.rc-404__eyebrow.rc-eyebrow::before, .rc-404__eyebrow.rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-404__t { max-width: 760px; margin: 16px auto 0 !important; font-size: clamp(32px, 4.4vw, 54px); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; color: #fff; text-wrap: balance; }
.rc-404__t .rc-serif { font-family: var(--rc-font-serif); font-style: italic; font-weight: 700; }
.rc-404__s { max-width: 56ch; margin: 18px auto 0 !important; font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, 0.86); }
.rc-404__bus.rc-bus { margin: 32px auto 0; border-color: transparent; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, 0.55); }
.rc-404__acc { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; }
.rc-404__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; font-family: var(--rc-font-display); font-size: 12px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; text-decoration: none; border-radius: 999px; transition: background 0.2s ease, color 0.2s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-404__btn--luz { color: var(--rc-blue) !important; background: #fff; }
.rc-404__btn--borde { color: #fff !important; background: rgba(255, 255, 255, 0.08); border: 1.5px solid rgba(255, 255, 255, 0.55); }
.rc-404__btn:hover, .rc-404__btn:focus-visible { transform: translateY(-2px); }
.rc-404__btn--borde:hover, .rc-404__btn--borde:focus-visible { background: rgba(255, 255, 255, 0.18); }
.rc-404__btn:focus-visible { outline: 3px solid rgba(255, 255, 255, 0.6); outline-offset: 3px; }
.rc-404__links { max-width: 1180px; margin: 0 auto; padding: 72px 24px 96px; text-align: center; }
.rc-404__lt { margin: 0 0 32px !important; font-size: clamp(24px, 2.6vw, 32px); font-weight: 800; color: var(--rc-ink); }
.rc-404__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; text-align: left; }
.rc-404__grid li { margin: 0; }
.rc-404__card { position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%; box-sizing: border-box; padding: 24px 24px 52px; text-decoration: none; background: #fff; border: 1px solid rgba(44, 35, 229, 0.12); border-radius: 18px; transition: border-color 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease; }
.rc-404__card::after { content: ""; position: absolute; right: 22px; bottom: 20px; width: 18px; height: 18px; background: var(--rc-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-404__card:hover, .rc-404__card:focus-visible { border-color: rgba(44, 35, 229, 0.45); transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(44, 35, 229, 0.5); }
.rc-404__card:hover::after { transform: translateX(4px); }
.rc-404__card:focus-visible { outline: 3px solid rgba(44, 35, 229, 0.35); outline-offset: 3px; }
.rc-404__ico { width: 46px; height: 46px; margin-bottom: 8px; background: var(--rc-lilac) center / 22px 22px no-repeat; border-radius: 50%; }
.rc-404__ct { font-family: var(--rc-font-display); font-size: 17px; font-weight: 800; color: var(--rc-ink); }
.rc-404__cd { font-size: 15px; line-height: 1.55; color: var(--rc-body); }
.rc-404__card--servicios .rc-404__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cpath d='M8 6h8M8 10h.01M12 10h.01M16 10h.01M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01'/%3E%3C/svg%3E"); }
.rc-404__card--recursos .rc-404__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M12 11v6M9 14l3 3 3-3'/%3E%3C/svg%3E"); }
.rc-404__card--nosotros .rc-404__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='10' cy='7' r='4'/%3E%3Cpath d='M21 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.rc-404__card--contacto .rc-404__ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/svg%3E"); }
@media (max-width: 1000px) { .rc-404__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.rc-404__hero { padding: 56px 16px 64px; }
	.rc-404__bus.rc-bus { margin-left: 0; margin-right: 0; }
	.rc-404__grid { grid-template-columns: minmax(0, 1fr); }
	.rc-404__links { padding: 56px 16px 72px; }
}
@media (prefers-reduced-motion: reduce) { .rc-404__btn, .rc-404__card, .rc-404__card::after { transition: none; } .rc-404__btn:hover, .rc-404__card:hover, .rc-404__card:hover::after { transform: none; } }
.rc-rs ul.rc-rs-grid { margin: 0 !important; padding: 0 !important; }
.rc-rs-buscar input[type="search"] { border-radius: 999px !important; -webkit-appearance: none; appearance: none; }
.rc-rs-card__btn, .rc-rs-card__det { white-space: nowrap; } .rc-rs-card__pie { flex-wrap: wrap; row-gap: 10px; }

/* Recursos: foto de documentos y calculadora (solo manos, sin rostros) de fondo del encabezado, bajo la capa de la marca */
.rc-sv-hero.rc-rs-hero {
	background-color: var(--rc-night);
	background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-sitio-recursos-hero-1024.webp");
	background-position: center, center 55%;
	background-size: cover, cover;
	background-repeat: no-repeat;
}
/* Celulares: versión de 768 px (bajo la capa oscura no se nota y pesa menos); la precarga en rc-front.php usa los mismos cortes */
@media (max-width: 600px) { .rc-sv-hero.rc-rs-hero { background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-sitio-recursos-hero-1024-768x512.webp"); } }
@media (min-width: 901px) {
	.rc-sv-hero.rc-rs-hero { background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-sitio-recursos-hero.webp"); }
}

/* ===== Opiniones (/opiniones/) ===== */
.rc-sv-hero.rc-op-hero {
	background-color: var(--rc-night);
	background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-sitio-opiniones-hero-1024.webp");
	background-position: center, center 45%;
	background-size: cover, cover;
	background-repeat: no-repeat;
}
/* Celulares: versión de 768 px (bajo la capa oscura no se nota y pesa menos); la precarga en rc-front.php usa los mismos cortes */
@media (max-width: 600px) { .rc-sv-hero.rc-op-hero { background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-sitio-opiniones-hero-1024-768x512.webp"); } }
@media (min-width: 901px) {
	.rc-sv-hero.rc-op-hero { background-image: linear-gradient(rgba(13, 7, 25, 0.8), rgba(13, 7, 25, 0.88)), url("/wp-content/uploads/2026/10/rc-sitio-opiniones-hero.webp"); }
}
.rc-op-sec { text-align: center; }
.rc-op-sec .rc-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; color: #a82ea5 !important; }
.rc-op-sec .rc-eyebrow::before, .rc-op-sec .rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-op-sec h2 { max-width: 760px; margin: 12px auto 0 !important; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; font-weight: 800; color: var(--rc-ink); text-wrap: balance; }
.rc-op-resenas { margin-top: 48px !important; text-align: left; }
.rc-op-resenas > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rc-op-resena { position: relative; margin: 0 !important; padding: 32px 32px 26px; background: #fff; border: 1px solid rgba(44, 35, 229, 0.12); border-radius: 20px; transition: border-color 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease; }
.rc-op-resena::before { content: ""; position: absolute; top: 22px; right: 24px; width: 54px; height: 54px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e9e7fb'%3E%3Cpath d='M9.6 6C6.5 7.3 4.5 9.9 4.5 13.6c0 2.6 1.5 4.4 3.6 4.4 1.8 0 3.1-1.3 3.1-3.1 0-1.7-1.2-2.9-2.8-2.9-.3 0-.6 0-.8.1.3-1.8 1.6-3.4 3.4-4.3zm9 0c-3.1 1.3-5.1 3.9-5.1 7.6 0 2.6 1.5 4.4 3.6 4.4 1.8 0 3.1-1.3 3.1-3.1 0-1.7-1.2-2.9-2.8-2.9-.3 0-.6 0-.8.1.3-1.8 1.6-3.4 3.4-4.3z'/%3E%3C/svg%3E") center / contain no-repeat; pointer-events: none; }
.rc-op-resena:hover { border-color: rgba(44, 35, 229, 0.35); transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(44, 35, 229, 0.5); }
.rc-op-resena > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.rc-op-resena .rc-op-resena__t { position: relative; margin: 0 !important; font-family: var(--rc-font-serif); font-size: 19px; font-style: italic; line-height: 1.6; color: var(--rc-ink); }
.rc-op-resena .rc-op-resena__autor { display: flex; align-items: center; gap: 12px; margin: auto 0 0 !important; padding-top: 22px; }
.rc-op-resena__av { display: grid; place-items: center; flex: none; width: 44px; height: 44px; font-family: var(--rc-font-display); font-size: 14px; font-weight: 800; letter-spacing: 0.5px; color: #fff; background: linear-gradient(135deg, var(--rc-blue), var(--rc-magenta)); border-radius: 50%; }
.rc-op-resena__n { font-family: var(--rc-font-display); font-size: 15px; font-weight: 800; color: var(--rc-ink); }
.rc-op-sec .wp-block-buttons { margin-top: 36px !important; }
.rc-op-videos { margin-top: 120px !important; }
@media (max-width: 781px) {
	.rc-op-resenas > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.rc-op-resena { padding: 26px 22px 22px; }
	.rc-op-resena .rc-op-resena__t { font-size: 17px; }
	.rc-op-videos { margin-top: 80px !important; }
}
@media (prefers-reduced-motion: reduce) { .rc-op-resena { transition: none; } .rc-op-resena:hover { transform: none; } }
.rc-op-resena { padding-top: 72px; }
.rc-op-resena::before { top: 24px; right: auto; left: 30px; width: 40px; height: 40px; }
@media (max-width: 781px) { .rc-op-resena { padding-top: 64px; } .rc-op-resena::before { left: 22px; } }

/* Botones ya visitados: Kadence les pone su fondo azul (.wp-block-button__link:visited) y en los botones claros el texto también
   es azul, así que quedaban como una píldora vacía. Cada estilo repite aquí su color normal. */
.wp-block-button.rc-btn-primary .wp-block-button__link:visited { background: var(--rc-blue); color: #fff; }
.wp-block-button.rc-btn-light .wp-block-button__link:visited { background: #fff; color: var(--rc-ink); }
.rc-cta .wp-block-button.rc-btn-light .wp-block-button__link:visited { color: var(--rc-blue); }
.wp-block-button.rc-btn-outline .wp-block-button__link:visited { background: transparent; color: var(--rc-blue); }
.wp-block-button.rc-btn-text .wp-block-button__link:visited { background: transparent; color: var(--rc-blue); }
.wp-block-button.rc-btn-ghost .wp-block-button__link:visited { background: transparent; color: #fff; }
.rc-cta .wp-block-button.rc-btn-ghost .wp-block-button__link:visited { background: rgba(255, 255, 255, 0.08); }

/* ===== Recursos: preguntas frecuentes (bloques "Detalles") ===== */
.rc-rs-faq .rc-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; color: #a82ea5 !important; }
.rc-rs-faq .rc-eyebrow::before, .rc-rs-faq .rc-eyebrow::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--rc-magenta), var(--rc-cyan)); }
.rc-rs-faq h2 { margin: 12px auto 0 !important; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; font-weight: 800; color: var(--rc-ink); text-wrap: balance; }
.rc-faq { margin-top: 40px !important; }
.rc-faq > .wp-block-group__inner-container { display: grid; gap: 12px; }
.rc-faq__item { margin: 0 !important; background: #fff; border: 1px solid rgba(44, 35, 229, 0.1); border-radius: 16px; box-shadow: 0 14px 32px -26px rgba(44, 35, 229, 0.45); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.rc-faq__item[open] { border-color: rgba(44, 35, 229, 0.28); box-shadow: 0 18px 40px -24px rgba(44, 35, 229, 0.5); }
.rc-faq__item summary { position: relative; display: block; padding: 20px 64px 20px 24px; font-family: var(--rc-font-display); font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--rc-ink); cursor: pointer; list-style: none; border-radius: 16px; }
.rc-faq__item summary::-webkit-details-marker { display: none; }
.rc-faq__item summary::after { content: ""; position: absolute; right: 20px; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%; background: var(--rc-lilac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c23e5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 16px 16px no-repeat; transition: transform 0.25s ease; }
.rc-faq__item[open] summary::after { transform: rotate(180deg); }
.rc-faq__item summary:hover { color: var(--rc-blue); }
.rc-faq__item summary:focus-visible { outline: 2px solid var(--rc-blue); outline-offset: 2px; }
.rc-faq__item p { margin: 0 !important; padding: 0 24px 22px; font-size: 15px; line-height: 1.65; color: var(--rc-body); }
.rc-faq__item p a { color: var(--rc-blue); font-weight: 600; text-underline-offset: 3px; }
@media (max-width: 781px) { .rc-faq__item summary { padding: 18px 56px 18px 20px; font-size: 15px; } .rc-faq__item summary::after { right: 16px; } .rc-faq__item p { padding: 0 20px 20px; } }
@media (prefers-reduced-motion: reduce) { .rc-faq__item, .rc-faq__item summary::after { transition: none; } }

/* ===== Leyes de UX: áreas de toque, foco, contraste y llamado principal =====
   Reglas transversales que no pertenecen a una sola página. Mínimo de 44 × 44 px en todo lo clicable (Fitts), foco visible
   en todo el sitio y "Contacto" como único botón del menú (último ítem: posición serial + aislamiento). */

/* Botones y controles: 44 px de alto como mínimo, sin cambiar su relleno visible */
.wp-block-button .wp-block-button__link,
.rc-sv-chip a,
.rc-rs-chip,
.rc-rs-card__btn,
.rc-marquee-pause,
.rc-mapa__ir,
.fluentform .ff-btn-submit { min-height: 44px; justify-content: center; }
.rc-marquee-pause { display: flex; align-items: center; }

/* Encabezado: carrito, lupa y menú móvil con caja de 44 px */
.site-header .header-cart-button,
.site-header .search-toggle-open,
.site-header .menu-toggle-open,
.rc-msearch__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.site-header .site-branding a.brand { display: inline-flex; align-items: center; min-height: 44px; }
.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a { display: flex; align-items: center; min-height: 44px; }

/* Contador del carrito: magenta oscuro para que el número blanco se lea (5,8:1; el magenta de marca da 3,5:1) */
.site-header .header-cart-button .header-cart-total { background: #a82ea5 !important; color: #fff !important; font-size: 11px; font-weight: 700; }

/* "Contacto" (último ítem del menú) como botón: la acción principal del sitio se ve primero */
.site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a {
	margin-left: 8px;
	padding: 0 22px;
	border-radius: 999px;
	background: var(--rc-blue);
	color: #fff !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}
.site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:hover,
.site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:focus-visible { background: #1b14b8; }
/* Si es la página actual, en vez del subrayado lleva un anillo */
.site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item:last-child > a { box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.55); }
body:has(.item-is-stuck) .site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item:last-child > a,
body:not(.transparent-header) .site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item:last-child > a { box-shadow: 0 0 0 3px rgba(44, 35, 229, 0.25); }

/* Carrusel del hero: puntos y pausa con área de toque de 44 px (el punto visible no cambia) */
.rc-slider-dots { gap: 0; align-items: center; }
.rc-slider-dot { padding: 19px 15px; }
.rc-slider-pause { box-sizing: content-box; padding: 7px; margin-right: 0; background-clip: content-box; }

/* Pie de página: cada enlace es una fila de 44 px (antes 18 px de alto) */
.rc-footer__col li + li { margin-top: 0; }
.rc-footer nav.rc-footer__col a { display: inline-flex; align-items: center; min-height: 44px; }
.rc-footer__contacto a { padding: 12px 0; }
.rc-footer__social a { width: 44px; height: 44px; }
.rc-footer__interes a { min-height: 44px; padding: 0 16px; }
.rc-footer__title { margin-bottom: 8px !important; }

/* Contacto: teléfono, WhatsApp y correo se activan tocando toda la fila; "Cómo llegar" con altura táctil */
.rc-ct-canal--tel, .rc-ct-canal--wa, .rc-ct-canal--mail { position: relative; }
.rc-ct-canal--tel a::after, .rc-ct-canal--wa a::after, .rc-ct-canal--mail a::after { content: ""; position: absolute; inset: 0; }
.rc-ct-canal a.rc-ct-canal__ir { display: inline-flex; align-items: center; min-height: 44px; margin-top: 0; font-size: 14px; font-weight: 700; }
@media (max-width: 781px) { .rc-mapa__ir { padding: 0 16px; font-size: 13px; } }

/* Ficha en celular: las migas se reducen a "‹ categoría" (un toque, 44 px) en vez de tres líneas de enlaces de 15 px */
@media (max-width: 781px) {
	.single-product .kadence-breadcrumb-container > * { display: none; }
	.single-product .kadence-breadcrumb-container > span:nth-last-child(3) { display: inline-flex; }
	.single-product .kadence-breadcrumb-container > span:nth-last-child(3) a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--rc-blue); }
	.single-product .kadence-breadcrumb-container > span:nth-last-child(3) a::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
}

/* Foco visible en todo el sitio. :where() no suma especificidad: los componentes que ya definen su foco lo conservan */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--rc-blue); outline-offset: 2px; }
:where(.rc-footer, .rc-hero, .rc-sv-hero, .rc-ns-hero, .rc-rs-hero, .rc-op-hero, .rc-cta, .rc-confianza, .transparent-header .site-header) :where(a, button):focus-visible { outline-color: #fff; }

/* Logos con movimiento reducido: la cinta se detiene y se muestran una sola vez (sin la copia que da el bucle) */
@media (prefers-reduced-motion: reduce) {
	.rc-marquee .rc-marquee__track > [aria-hidden="true"] { display: none; }
}

/* ===== Encabezado fijo: transición de transparente a blanco =====
   Kadence cambia fondo, colores y logo de golpe al quitar .item-at-start. Aquí el fondo, la sombra y los colores se funden,
   y los dos logos (blanco y de color) quedan superpuestos para cruzarse con opacidad en vez de alternar display. */
#masthead .kadence-sticky-header,
#masthead .kadence-sticky-header > .site-header-row-container-inner { transition: background-color 0.35s ease, box-shadow 0.35s ease; }
#masthead .kadence-sticky-header .header-menu-container > ul > li > a,
#masthead .kadence-sticky-header .header-cart-button,
#masthead .kadence-sticky-header .search-toggle-open,
#masthead .kadence-sticky-header .menu-toggle-open,
#masthead .kadence-sticky-header .rc-msearch__btn { transition: color 0.35s ease, background-color 0.2s ease, box-shadow 0.35s ease; }
.site-branding a.brand.has-sticky-logo { position: relative; }
.site-branding a.brand.has-sticky-logo img { display: block !important; transition: opacity 0.35s ease; }
.site-branding a.brand.has-sticky-logo img.kadence-sticky-logo { position: absolute; top: 50%; left: 0; transform: translateY(-50%); opacity: 0; pointer-events: none; }
.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding a.brand.has-sticky-logo img { opacity: 0; }
.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding a.brand.has-sticky-logo img.kadence-sticky-logo { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
	#masthead .kadence-sticky-header, #masthead .kadence-sticky-header > .site-header-row-container-inner,
	#masthead .kadence-sticky-header a, #masthead .kadence-sticky-header button, .site-branding a.brand.has-sticky-logo img { transition: none; }
}

/* ===== Íconos del encabezado: lupa y bolsa de línea fina, contador sobre la esquina de la bolsa =====
   Reemplazan los íconos rellenos de Kadence (se ocultan; el nombre accesible sigue en el aria-label de cada botón).
   La bolsa es la misma del carrito vacío (rc-front.php), para que el ícono signifique lo mismo en todo el sitio. */
.site-header .search-toggle-open .kadence-svg-iconset,
.site-header .header-cart-button .kadence-svg-iconset { display: none; }
.site-header .search-toggle-open::before,
.site-header .header-cart-button::before { content: ""; flex: none; width: 24px; height: 24px; background: currentColor; }
.site-header .search-toggle-open::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7.25'/%3E%3Cpath d='m20.5 20.5-4.25-4.25'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7.25'/%3E%3Cpath d='m20.5 20.5-4.25-4.25'/%3E%3C/svg%3E") center / contain no-repeat; }
/* La lupa móvil (rc-front.js) usa el mismo ::before; su ícono propio sobra */
.rc-msearch__ico { display: none; }
.site-header .header-cart-button::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 8h13.6a1 1 0 0 1 1 1.1l-1 10.6a2 2 0 0 1-2 1.8H7.2a2 2 0 0 1-2-1.8l-1-10.6a1 1 0 0 1 1-1.1z'/%3E%3Cpath d='M8.75 8V6.75a3.25 3.25 0 0 1 6.5 0V8'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 8h13.6a1 1 0 0 1 1 1.1l-1 10.6a2 2 0 0 1-2 1.8H7.2a2 2 0 0 1-2-1.8l-1-10.6a1 1 0 0 1 1-1.1z'/%3E%3Cpath d='M8.75 8V6.75a3.25 3.25 0 0 1 6.5 0V8'/%3E%3C/svg%3E") center / contain no-repeat; }
.site-header .header-cart-button { position: relative; padding: 0 !important; }
.site-header .header-cart-button .header-cart-total {
	position: absolute;
	top: 4px;
	right: -3px;
	left: auto;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: max-content !important;
	min-width: 17px;
	height: 17px;
	margin: 0 !important;
	padding: 0 4px !important;
	border-radius: 999px;
	font-family: var(--rc-font-display);
	font-size: 10.5px;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	pointer-events: none;
}
/* Carrito vacío: sin contador (como en la mayoría de las tiendas); aparece al agregar el primer servicio */
.site-header .header-cart-button .header-cart-total.header-cart-is-empty-true { display: none; }

/* "Contacto" del menú, más discreto (pedido del usuario: destacaba demasiado). Sigue siendo el único botón del menú, pero sobre el
   hero oscuro es una píldora translúcida con borde y, con el encabezado fijo (fondo blanco), un contorno azul sin relleno. */
.site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a {
	min-height: 40px;
	margin: 2px 0 2px 10px;
	padding: 0 18px;
	justify-content: center;
	background: rgba(255, 255, 255, 0.12);
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.55);
	transition: background-color 0.35s ease, box-shadow 0.35s ease, color 0.35s ease;
}
.site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:hover,
.site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:focus-visible { background: rgba(255, 255, 255, 0.22); }
body:has(.item-is-stuck) .site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a,
body:not(.transparent-header) .site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a { background: transparent; box-shadow: inset 0 0 0 1.5px var(--rc-blue); color: var(--rc-blue) !important; }
body:has(.item-is-stuck) .site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:hover,
body:not(.transparent-header) .site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:hover,
body:has(.item-is-stuck) .site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:focus-visible,
body:not(.transparent-header) .site-header .main-navigation .primary-menu-container > ul > li.menu-item:last-child > a:focus-visible { background: var(--rc-blue); color: #fff !important; }
/* Página actual (Contacto): relleno en vez de anillo */
.site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item:last-child > a { background: rgba(255, 255, 255, 0.22); box-shadow: inset 0 0 0 1.5px #fff; }
body:has(.item-is-stuck) .site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item:last-child > a,
body:not(.transparent-header) .site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item:last-child > a { background: var(--rc-lilac); box-shadow: inset 0 0 0 1.5px var(--rc-blue); }

/* ===== Páginas legales (Política de privacidad, Términos y condiciones): scripts/build-legales.py =====
   Columna de lectura, resumen "En simple" arriba (lo esencial primero) e índice con anclas para saltar a cada sección. */
.rc-legal { margin-top: 0 !important; padding-top: 56px; padding-bottom: 96px; }
.rc-legal h1 { margin-top: 10px !important; margin-bottom: 0 !important; font-size: clamp(32px, 4.5vw, 44px); line-height: 1.15; font-weight: 800; color: var(--rc-ink); }
.rc-legal .rc-eyebrow { color: #a82ea5 !important; }
.rc-legal p, .rc-legal li { font-size: 16px; line-height: 1.7; color: var(--rc-body); }
.rc-legal p.rc-legal__fecha { margin-top: 10px !important; font-size: 14px; color: var(--rc-body); }
.rc-legal p.rc-legal__intro { margin-top: 20px !important; font-size: 18px; line-height: 1.65; color: var(--rc-ink); }
.rc-legal h2 { margin-top: 48px !important; margin-bottom: 12px !important; scroll-margin-top: 110px; font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--rc-ink); }
.rc-legal ul.wp-block-list { margin-top: 12px !important; margin-bottom: 0 !important; padding-left: 22px; }
.rc-legal li + li { margin-top: 8px; }
.rc-legal p { margin-bottom: 0 !important; }
.rc-legal p + p, .rc-legal ul.wp-block-list + p { margin-top: 14px !important; }
.rc-legal li strong, .rc-legal p strong { color: var(--rc-ink); }
.rc-legal a { color: var(--rc-blue); font-weight: 600; text-underline-offset: 3px; }
.rc-legal__resumen { margin-top: 32px !important; padding: 22px 26px; background: var(--rc-lilac); border-radius: 18px; }
.rc-legal .rc-legal__resumen ul.wp-block-list { padding-left: 0; list-style: none; }
.rc-legal__resumen li { position: relative; padding-left: 30px; color: var(--rc-ink); }
.rc-legal__resumen li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--rc-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat; }
.rc-legal__resumen-t, .rc-legal__indice-t { margin: 0 0 4px !important; font-family: var(--rc-font-display); font-size: 13px !important; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rc-ink) !important; }
.rc-legal__indice { margin-top: 20px !important; padding: 20px 26px; border: 1px solid rgba(44, 35, 229, 0.12); border-radius: 18px; }
.rc-legal .rc-legal__indice ul.wp-block-list { columns: 2; column-gap: 32px; padding-left: 0; list-style: none; }
.rc-legal__indice li { margin: 0 !important; break-inside: avoid; }
.rc-legal__indice a { display: inline-flex; align-items: center; min-height: 40px; font-weight: 500; text-decoration: none; }
.rc-legal__indice a:hover { text-decoration: underline; }
/* Borrador: dato o decisión que falta (67-legales.sh no publica si queda alguno) */
.rc-completar { padding: 1px 6px; background: #fff3c4; color: #6b4e00; border-radius: 6px; font-weight: 600; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
@media (max-width: 781px) { .rc-legal { padding-top: 32px; padding-bottom: 64px; } .rc-legal .rc-legal__indice ul.wp-block-list { columns: 1; } .rc-legal__resumen, .rc-legal__indice { padding: 18px 20px; } }

/* Ficha: secciones de texto propias bajo "Servicio incluye" (catálogo: "secciones") y puntos con explicación */
.single-product .woocommerce-tabs .wc-tab ul + h2, .single-product .woocommerce-tabs .wc-tab p.rc-pd-texto + h2 { margin-top: 48px; }
.single-product .woocommerce-tabs .wc-tab > p.rc-pd-texto { margin: 0; padding-left: 0; border-left: 0; font-size: 16px; line-height: 1.7; color: var(--rc-body); max-width: 680px; }
.single-product .woocommerce-tabs .wc-tab > p.rc-pd-texto a { font-weight: 700; color: var(--rc-blue); text-underline-offset: 3px; white-space: nowrap; }
.single-product .woocommerce-tabs .wc-tab li strong { display: block; color: var(--rc-ink); }
.single-product .woocommerce-tabs .wc-tab li:has(strong) { color: var(--rc-body); }

/* Portada: la etiqueta de la primera diapositiva va dentro del <h1> (SEO: "Contabilidad para pymes en Chile" + titular), con el
   mismo aspecto que .rc-pill en su propio párrafo (build-landing.py, slide()). */
.rc-hero h1 .rc-h1-kicker { display: table; margin: 0 auto 26px; line-height: 1.6; text-align: center; }
@media (max-width: 781px) { .rc-hero h1 .rc-h1-kicker { margin-bottom: 20px; } }

/* ===== Sin ventas en línea (rc-ventas.php): contratar por WhatsApp o cotizar ===== */
.rc-sin-ventas .header-cart-wrap, .rc-sin-ventas .header-mobile-cart-wrap { display: none !important; }
.rc-pd-contratar { display: grid; gap: 12px; margin-top: 28px; }
.rc-pd-contratar a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; font-family: var(--rc-font-display); font-size: 13px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; text-decoration: none; border-radius: 999px; transition: background 0.2s ease, color 0.2s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.rc-pd-contratar__wa { color: #fff !important; background: var(--rc-blue); box-shadow: 0 14px 30px -14px rgba(44, 35, 229, 0.7); }
.rc-pd-contratar__wa::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E") center / contain no-repeat; }
.rc-pd-contratar__wa:hover, .rc-pd-contratar__wa:focus-visible { background: #1b14b8; transform: translateY(-2px); }
.rc-pd-contratar__cotizar { color: var(--rc-blue) !important; background: #fff; border: 1.5px solid rgba(44, 35, 229, 0.25); }
.rc-pd-contratar__cotizar:hover, .rc-pd-contratar__cotizar:focus-visible { background: var(--rc-lilac); }
.rc-pd-contratar a:focus-visible { outline: 3px solid rgba(44, 35, 229, 0.35); outline-offset: 3px; }
@media (min-width: 600px) { .rc-pd-contratar { grid-template-columns: 1.3fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .rc-pd-contratar a { transition: none; } .rc-pd-contratar a:hover { transform: none; } }

/* Video sin consentimiento de marketing: aviso antes de cargar YouTube (rc-front.js, openVideo) */
.rc-video-aviso { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; height: 100%; padding: 32px 24px; text-align: center; color: #fff; background: linear-gradient(160deg, #1a1240, #0d0719); }
.rc-video-aviso__t { margin: 0; font-family: var(--rc-font-display); font-size: 18px; font-weight: 800; line-height: 1.3; }
.rc-video-aviso__s { margin: 0; max-width: 280px; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, 0.78); }
.rc-video-aviso__ok { margin-top: 6px; padding: 14px 28px; font-family: var(--rc-font-display); font-size: 13px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: #fff; background: var(--rc-blue); border: 0; border-radius: 999px; cursor: pointer; }
.rc-video-aviso__ok:hover, .rc-video-aviso__ok:focus-visible { background: #4a42ff; }
.rc-video-aviso__ok:focus-visible, .rc-video-aviso__yt:focus-visible { outline: 3px solid rgba(255, 255, 255, 0.6); outline-offset: 3px; }
.rc-video-aviso__yt { font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, 0.85) !important; text-underline-offset: 3px; }

/* Pie: enlaces legales y "Preferencias de cookies" (reemplaza la pestaña flotante de Complianz, que chocaba con WhatsApp) */
.rc-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
#cmplz-manage-consent .cmplz-manage-consent { display: none !important; }
.rc-footer__cookies { padding: 0; font: inherit; color: var(--rc-muted); background: none; border: 0; cursor: pointer; transition: color 0.2s ease; }
.rc-footer__cookies:hover, .rc-footer__cookies:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.rc-footer__legal a { color: var(--rc-muted) !important; text-decoration: none; transition: color 0.2s ease; }
.rc-footer__legal a:hover, .rc-footer__legal a:focus-visible { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
