/* Rubi Carranza — capa visual sobre Twenty Twenty-Five. */

:root {
	--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
	--rc-lino: var(--wp--preset--color--base);
	--rc-oceano: var(--wp--preset--color--contrast);
	--rc-oro: var(--wp--preset--color--accent-1);
	--rc-salvia: var(--wp--preset--color--accent-2);
	--rc-terracota: var(--wp--preset--color--accent-3);
	--rc-higo: var(--wp--preset--color--accent-4);
	--rc-linea: var(--wp--preset--color--accent-6);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

/* Encabezado fijo */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 30;
	background: var(--rc-lino);
	border-bottom: 1px solid var(--rc-linea);
}

.wp-site-blocks > main,
.wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0;
}

.rc-header .wp-block-site-title a {
	text-decoration: none;
}

.rc-header .wp-block-navigation-item__content {
	padding-block: 0.75rem;
	text-decoration: none;
}

.rc-header .wp-block-navigation__responsive-container-open,
.rc-header .wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
}

.rc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: var(--wp--preset--font-size--x-large);
	padding-block: 0.25rem;
}

.rc-header .wp-block-site-title {
	white-space: nowrap;
}

@media (max-width: 599px) {
	.rc-header .wp-block-buttons.rc-header-cta {
		display: none;
	}
}

/* Textos */
.rc-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.25rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rc-eyebrow::before {
	content: "";
	width: 2rem;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}

.rc-lead {
	font-size: var(--wp--preset--font-size--large);
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	line-height: 1.35;
	max-width: 36ch;
}

.rc-hero .rc-lead {
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	max-width: 46ch;
}

.rc-hero h1 {
	max-width: 14ch;
	text-wrap: balance;
}

h2.wp-block-heading {
	text-wrap: balance;
}

.rc-note {
	opacity: 0.85;
}

/* Botones */
.wp-element-button,
.wp-block-button__link {
	transition:
		background-color 160ms var(--ease-out),
		color 160ms var(--ease-out),
		border-color 160ms var(--ease-out),
		transform 160ms var(--ease-out);
}

.wp-element-button:active,
.wp-block-button__link:active {
	transform: scale(0.97);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--rc-oceano);
	border: 1px solid currentColor;
	padding: calc(0.9rem - 1px) calc(1.75rem - 1px);
}

@media (hover: hover) and (pointer: fine) {
	.wp-block-button.is-style-outline > .wp-block-button__link:hover {
		background: var(--rc-oceano);
		color: var(--rc-lino);
		border-color: var(--rc-oceano);
	}
}

.wp-block-button__link {
	min-height: 44px;
}

/* Fotos */
.rc-arch img {
	width: 100%;
	border-radius: 999px 999px 6px 6px;
}

.rc-foto img {
	width: 100%;
	border-radius: 6px;
}

@media (max-width: 781px) {
	.rc-hero-photo .rc-arch,
	.rc-linaje .rc-arch {
		max-width: 22rem;
		margin-inline: auto;
	}
}

/* Qué cambia */
.rc-cambio {
	border-top: 1px solid var(--rc-linea);
	padding-top: 1.5rem;
}

.rc-cambio h3 {
	margin-top: 0.5rem;
}

.rc-num {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: var(--wp--preset--font-size--x-large);
	font-style: italic;
	line-height: 1;
	color: var(--rc-terracota);
}

/* Sesiones */
.rc-sesion {
	border-radius: 6px;
}

.rc-sesion:not(.rc-sesion--principal) {
	border: 1px solid var(--rc-linea);
}

.rc-tag {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--rc-salvia);
	color: var(--rc-oceano);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.rc-sesion h3 {
	margin-top: 1rem;
}

.rc-lista {
	list-style: none;
	padding-left: 0;
}

.rc-lista li {
	position: relative;
	padding: 0.65rem 0 0.65rem 1.5rem;
	border-bottom: 1px solid var(--rc-linea);
}

.rc-lista li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.25rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--rc-oro);
}

/* Cita de Sobre mí */
.rc-cita {
	margin-top: 2rem;
	padding-left: 1.25rem;
	border-left: 2px solid var(--rc-terracota);
	border-radius: 0;
}

.rc-cita p {
	font-size: var(--wp--preset--font-size--large);
}

/* Linaje */
.rc-arbol {
	display: block;
	width: 10rem;
	height: auto;
	color: var(--rc-oro);
	margin-bottom: 1.5rem;
}

.rc-linaje .rc-lead {
	max-width: 40ch;
}

/* Testimonios */
.rc-testimonio {
	margin: 0;
	padding: 1.5rem 0 0;
	border-top: 1px solid var(--rc-linea);
}

.rc-testimonio p {
	font-size: var(--wp--preset--font-size--large);
}

.rc-testimonio p::before {
	content: "“";
	display: block;
	font-size: 3.5rem;
	line-height: 0.6;
	color: var(--rc-terracota);
	margin-bottom: 0.5rem;
}

.rc-testimonio cite {
	display: block;
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
}

/* Pie de página */
.rc-footer a {
	color: inherit;
}

.rc-footer-name {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
	line-height: 1;
}

.rc-footer-label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rc-footer-label::after {
	content: "";
	display: block;
	width: 1.5rem;
	height: 2px;
	margin-top: 0.5rem;
	background: var(--rc-oro);
}

.rc-credito {
	text-align: center;
	opacity: 0.8;
}

.rc-footer .wp-block-separator {
	border-color: color-mix(in srgb, var(--rc-lino) 25%, transparent);
	opacity: 1;
}

.rc-redes .wp-social-link a {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.rc-redes .wp-social-link {
	transition: transform 160ms var(--ease-out);
}

.rc-redes .wp-social-link:active {
	transform: scale(0.97);
}

/* Movimiento: entrada del inicio y aparición al bajar.
   Solo se oculta algo si hay JavaScript (clase rc-js). */
@keyframes rc-rise {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes rc-unveil {
	from {
		clip-path: inset(100% 0 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}

.rc-js .rc-hero-text > * {
	animation: rc-rise 700ms var(--ease-out) both;
}

.rc-js .rc-hero-text > *:nth-child(2) { animation-delay: 60ms; }
.rc-js .rc-hero-text > *:nth-child(3) { animation-delay: 120ms; }
.rc-js .rc-hero-text > *:nth-child(4) { animation-delay: 180ms; }
.rc-js .rc-hero-text > *:nth-child(5) { animation-delay: 240ms; }

.rc-js .rc-hero-photo img {
	animation: rc-unveil 800ms var(--ease-in-out) 100ms both;
}

.rc-js .rc-reveal,
.rc-js .rc-stagger > * {
	opacity: 0;
	transform: translateY(16px);
	transition:
		opacity 700ms var(--ease-out),
		transform 700ms var(--ease-out);
	transition-delay: var(--rc-delay, 0ms);
}

.rc-js .rc-reveal.is-visible,
.rc-js .rc-stagger.is-visible > * {
	opacity: 1;
	transform: translateY(0);
}

/* Movimiento reducido: se conserva el fundido, sin desplazamientos. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	@keyframes rc-rise {
		from { opacity: 0; }
		to { opacity: 1; }
	}

	.rc-js .rc-hero-photo img {
		animation: rc-rise 400ms var(--ease-out) both;
	}

	.rc-js .rc-reveal,
	.rc-js .rc-stagger > * {
		transform: none;
		transition: opacity 400ms var(--ease-out);
	}

	.wp-element-button:active,
	.wp-block-button__link:active,
	.rc-redes .wp-social-link:active {
		transform: none;
	}
}

/* El editor no corre el script: ahí todo se ve siempre. */
.editor-styles-wrapper .rc-reveal,
.editor-styles-wrapper .rc-stagger > * {
	opacity: 1 !important;
	transform: none !important;
}
