/*
 * HSMR Consultores – hoja de estilos del tema
 * ------------------------------------------------------------------
 * Los tokens (colores, tipografías, espaciados, sombras) viven en
 * theme.json y se usan aquí como variables --wp--preset--*.
 *
 * ÍNDICE
 *  01. Base y variables locales
 *  02. Utilidades de sección (eyebrow, encabezados, fondos)
 *  03. Botones
 *  04. Tarjetas e iconos
 *  05. Encabezado y navegación
 *  06. Hero
 *  07. Franja de confianza
 *  08. Servicios
 *  09. Beneficios
 *  10. Proceso
 *  11. Galería de sectores
 *  12. Testimonios
 *  13. Preguntas frecuentes (acordeón)
 *  14. Llamado a la acción y formulario
 *  15. Pie de página
 *  16. Páginas internas
 *  17. Responsive
 *  18. Movimiento reducido
 * ------------------------------------------------------------------
 */


/* =================================================================
   01. BASE Y VARIABLES LOCALES
   ================================================================= */

:root {
	--hsmr-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--hsmr-section-y: clamp(4rem, 8vw, 6.5rem);
	--hsmr-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--hsmr-header-h: 4.5rem;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

[id] {
	scroll-margin-top: calc(var(--hsmr-header-h) + 1rem);
}

img {
	height: auto;
	max-width: 100%;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

.hsmr-main > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

:focus-visible {
	outline: 3px solid var(--wp--preset--color--blue-500);
	outline-offset: 3px;
	border-radius: 4px;
}

.hsmr-section--dark :focus-visible,
.hsmr-hero :focus-visible,
.hsmr-cta :focus-visible,
.hsmr-footer :focus-visible {
	outline-color: var(--wp--preset--color--cream);
}


/* =================================================================
   02. UTILIDADES DE SECCIÓN
   ================================================================= */

.hsmr-section {
	padding: var(--hsmr-section-y) var(--hsmr-gutter);
}

.hsmr-section--surface {
	background: var(--wp--preset--color--surface);
}

.hsmr-section--dark {
	background: var(--wp--preset--gradient--navy-depth);
	color: rgba(255, 255, 255, 0.78);
}

.hsmr-section--dark h2,
.hsmr-section--dark h3 {
	color: var(--wp--preset--color--white);
}

.hsmr-eyebrow {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-deep);
}

.hsmr-eyebrow--gold,
.hsmr-section--dark .hsmr-eyebrow {
	color: var(--wp--preset--color--cream);
}

.hsmr-section__head {
	max-width: 46rem;
	margin: 0 auto clamp(2.25rem, 5vw, 3.75rem);
	text-align: center;
}

.hsmr-section__head > * + * {
	margin-block-start: 0.9rem;
}

.hsmr-section__head h2 {
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.hsmr-section__head--left {
	margin-inline: 0;
	margin-bottom: 2rem;
	text-align: left;
}

.hsmr-section__intro {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--muted);
}

.hsmr-section--dark .hsmr-section__intro {
	color: rgba(255, 255, 255, 0.72);
}

.hsmr-grid {
	gap: clamp(1rem, 2vw, 1.5rem);
}

.hsmr-grid.hsmr-services__grid,
.hsmr-grid.hsmr-process__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hsmr-grid.hsmr-benefits__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hsmr-grid.hsmr-testimonials__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* =================================================================
   03. BOTONES
   ================================================================= */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85em 1.6em;
	border: 1.5px solid transparent;
	border-radius: var(--wp--custom--radius--sm);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background-color 0.2s var(--hsmr-ease), color 0.2s var(--hsmr-ease),
		border-color 0.2s var(--hsmr-ease), transform 0.2s var(--hsmr-ease),
		box-shadow 0.2s var(--hsmr-ease);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: #d8b565;
	color: var(--wp--preset--color--navy-900);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(201, 162, 75, 0.35);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--navy-900);
	border-color: var(--wp--preset--color--navy-900);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	transform: translateY(-2px);
}

.hsmr-btn-light.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--white);
	border-color: rgba(255, 255, 255, 0.55);
}

.hsmr-btn-light.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy-900);
	border-color: var(--wp--preset--color--white);
}

.hsmr-btn-sm .wp-block-button__link {
	padding: 0.65em 1.2em;
	font-size: 0.9375rem;
}

.hsmr-btn-lg .wp-block-button__link {
	padding: 1em 2em;
	font-size: 1.0625rem;
}


/* =================================================================
   04. TARJETAS E ICONOS
   ================================================================= */

.hsmr-card {
	padding: clamp(1.4rem, 2.4vw, 1.9rem);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: transform 0.25s var(--hsmr-ease), box-shadow 0.25s var(--hsmr-ease),
		border-color 0.25s var(--hsmr-ease);
}

.hsmr-card:hover {
	transform: translateY(-4px);
	border-color: rgba(201, 162, 75, 0.55);
	box-shadow: var(--wp--preset--shadow--card);
}

.hsmr-card > * {
	margin-block: 0;
}

.hsmr-card > * + * {
	margin-block-start: 0.85rem;
}

.hsmr-card__title {
	font-size: 1.1875rem;
	line-height: 1.25;
}

.hsmr-card__text {
	font-size: 0.97rem;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.hsmr-icon {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 0 1.1rem;
	background: linear-gradient(145deg, #f5f7fa 0%, #e8eef7 100%);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
}

.hsmr-icon img {
	width: 1.9rem;
	height: 1.9rem;
}


/* =================================================================
   05. ENCABEZADO Y NAVEGACIÓN
   ================================================================= */

.hsmr-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.94);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

/* El desenfoque va en un pseudo-elemento: aplicarlo al header rompería el
   menú móvil (backdrop-filter crea un bloque contenedor para position: fixed). */
.hsmr-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
}

.admin-bar .hsmr-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.hsmr-header__wrap {
	padding: 0 var(--hsmr-gutter);
}

.hsmr-header__bar {
	min-height: var(--hsmr-header-h);
	gap: 1.5rem;
}

.hsmr-logo {
	margin: 0;
}

.hsmr-logo.wp-block-image img {
	display: block;
	width: auto;
	height: 2.1rem;
	max-width: none;
}

.hsmr-nav {
	flex: 1 1 auto;
	font-size: 0.95rem;
	font-weight: 500;
}

.hsmr-nav .wp-block-navigation-item__content {
	padding: 0.4rem 0.1rem;
	color: var(--wp--preset--color--slate);
	background-image: linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 2px;
	transition: color 0.2s var(--hsmr-ease), background-size 0.25s var(--hsmr-ease);
}

.hsmr-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--navy-900);
	background-size: 100% 2px;
}

.hsmr-nav .wp-block-navigation__responsive-container-open,
.hsmr-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--navy-900);
}

.hsmr-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem var(--hsmr-gutter);
	background: var(--wp--preset--color--white);
}

.hsmr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.hsmr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
}

.hsmr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.5rem;
	color: var(--wp--preset--color--navy-900);
}

.hsmr-header__cta {
	margin: 0;
}

.hsmr-header__cta .wp-block-button__link {
	white-space: nowrap;
}


/* =================================================================
   06. HERO
   ================================================================= */

.hsmr-hero.wp-block-cover {
	min-height: clamp(34rem, 86vh, 52rem);
	padding: clamp(3.5rem, 8vw, 6rem) var(--hsmr-gutter);
	align-items: center;
	color: var(--wp--preset--color--white);
}

.hsmr-hero .wp-block-cover__inner-container,
.hsmr-cta .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.hsmr-hero .hsmr-hero__content {
	max-width: 48rem;
	margin-left: 0 !important;
	margin-right: auto !important;
}

.hsmr-hero__content > * {
	margin-block: 0;
}

.hsmr-hero__content > * + * {
	margin-block-start: 1.5rem;
}

.hsmr-hero__title {
	font-size: var(--wp--preset--font-size--hero);
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--white);
	text-wrap: balance;
}

.hsmr-hero__lead {
	max-width: 38rem;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.86);
}

.hsmr-hero__actions {
	gap: 0.9rem;
	margin-top: 2rem;
}

.hsmr-stats {
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-top: clamp(2.5rem, 6vw, 4rem) !important;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.hsmr-stat > * {
	margin: 0;
}

.hsmr-stat__value {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.9rem, 3.4vw, 2.6rem);
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--cream);
}

.hsmr-stat__label {
	max-width: 11rem;
	margin-top: 0.4rem;
	font-size: 0.8125rem;
	line-height: 1.35;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.72);
}


/* =================================================================
   07. FRANJA DE CONFIANZA
   ================================================================= */

.hsmr-trust {
	padding: 1.4rem var(--hsmr-gutter);
	background: var(--wp--preset--color--navy-950);
	border-bottom: 3px solid var(--wp--preset--color--gold);
}

.hsmr-trust__inner {
	gap: 0.5rem 1.5rem;
	text-align: center;
}

.hsmr-trust__inner > p {
	margin: 0;
}

.hsmr-trust__label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
}

.hsmr-trust__name {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--wp--preset--color--cream);
}

.hsmr-trust__meta {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.72);
}


/* =================================================================
   08. SERVICIOS
   ================================================================= */

.hsmr-service-card {
	display: flex;
	flex-direction: column;
}

.hsmr-service-card--cta {
	justify-content: center;
	background: var(--wp--preset--gradient--navy-depth);
	border-color: transparent;
	box-shadow: var(--wp--preset--shadow--card);
}

.hsmr-service-card--cta .hsmr-card__title {
	font-size: 1.375rem;
	color: var(--wp--preset--color--white);
}

.hsmr-service-card--cta .hsmr-card__text {
	color: rgba(255, 255, 255, 0.78);
}

.hsmr-service-card--cta .wp-block-buttons {
	margin-top: 1.25rem;
}


/* =================================================================
   09. BENEFICIOS
   ================================================================= */

.hsmr-benefits__cols {
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: stretch;
}

.hsmr-benefits__media {
	flex-basis: 42%;
}

.hsmr-benefits__body {
	flex-basis: 58%;
}

.hsmr-benefits__media {
	display: flex;
}

.hsmr-benefits__img {
	flex: 1;
	margin: 0;
}

.hsmr-benefits__img img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 22rem;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--lifted);
}

.hsmr-benefit {
	box-shadow: none;
	background: var(--wp--preset--color--white);
}

.hsmr-benefit .hsmr-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 12px;
}

.hsmr-benefit .hsmr-icon img {
	width: 1.6rem;
	height: 1.6rem;
}


/* =================================================================
   10. PROCESO
   ================================================================= */

.hsmr-process {
	position: relative;
	overflow: hidden;
}

.hsmr-process::before {
	content: "";
	position: absolute;
	inset: auto -10% -45% auto;
	width: 38rem;
	height: 38rem;
	background: radial-gradient(circle, rgba(201, 162, 75, 0.16) 0%, rgba(201, 162, 75, 0) 68%);
	pointer-events: none;
}

.hsmr-step {
	position: relative;
	padding: 1.75rem;
	background: rgba(255, 255, 255, 0.045);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--wp--custom--radius--md);
	transition: background-color 0.25s var(--hsmr-ease), border-color 0.25s var(--hsmr-ease);
}

.hsmr-step:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(245, 227, 160, 0.5);
}

.hsmr-step > * {
	margin-block: 0;
}

.hsmr-step__num {
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1.1rem !important;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	background: var(--wp--preset--color--gold);
	border-radius: 50%;
}

.hsmr-step__title {
	font-size: 1.25rem;
	color: var(--wp--preset--color--white);
}

.hsmr-step__text {
	margin-top: 0.6rem !important;
	font-size: 0.97rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.74);
}


/* =================================================================
   11. GALERÍA DE SECTORES
   ================================================================= */

.hsmr-gallery.wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 2vw, 1.5rem);
}

.hsmr-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: auto;
	margin: 0;
}

.hsmr-gallery .wp-block-image {
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--soft);
}

.hsmr-gallery .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.6s var(--hsmr-ease);
}

.hsmr-gallery .wp-block-image:hover img {
	transform: scale(1.04);
}

.hsmr-gallery .wp-block-image figcaption.wp-element-caption {
	padding: 2.5rem 1.1rem 1rem;
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	background: linear-gradient(to top, rgba(7, 20, 42, 0.92), rgba(7, 20, 42, 0));
	color: var(--wp--preset--color--white);
}


/* =================================================================
   12. TESTIMONIOS
   ================================================================= */

.hsmr-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-top: 3.25rem;
}

.hsmr-testimonial::before {
	content: "\201C";
	position: absolute;
	top: 0.85rem;
	left: 1.6rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 4.5rem;
	line-height: 1;
	color: var(--wp--preset--color--gold);
}

.hsmr-quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.hsmr-quote p {
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--wp--preset--color--slate);
}

.hsmr-quote cite {
	display: block;
	margin-top: 1.4rem;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
}

.hsmr-testimonial__sector {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-deep);
}


/* =================================================================
   13. PREGUNTAS FRECUENTES (ACORDEÓN)
   ================================================================= */

.hsmr-faq__cols {
	gap: clamp(2rem, 5vw, 4.5rem);
}

.hsmr-faq__intro {
	flex-basis: 34%;
}

.hsmr-faq__list {
	flex-basis: 66%;
}

.hsmr-faq__list > * + * {
	margin-block-start: 0.85rem;
}

.hsmr-faq__item {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	transition: border-color 0.2s var(--hsmr-ease), box-shadow 0.2s var(--hsmr-ease),
		background-color 0.2s var(--hsmr-ease);
}

.hsmr-faq__item:hover {
	border-color: rgba(201, 162, 75, 0.6);
}

.hsmr-faq__item[open] {
	background: var(--wp--preset--color--surface);
	border-color: rgba(201, 162, 75, 0.6);
	box-shadow: var(--wp--preset--shadow--soft);
}

.hsmr-faq__item summary {
	position: relative;
	display: block;
	padding: 1.15rem 3.5rem 1.15rem 1.4rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--navy-900);
	cursor: pointer;
	list-style: none;
}

.hsmr-faq__item summary::-webkit-details-marker {
	display: none;
}

.hsmr-faq__item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 1.2rem;
	display: grid;
	place-items: center;
	width: 1.9rem;
	height: 1.9rem;
	margin-top: -0.95rem;
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
	color: var(--wp--preset--color--navy-900);
	background: var(--wp--preset--color--cream);
	border-radius: 50%;
	transition: transform 0.25s var(--hsmr-ease), background-color 0.25s var(--hsmr-ease);
}

.hsmr-faq__item[open] summary::after {
	content: "\2212";
	background: var(--wp--preset--color--gold);
	transform: rotate(180deg);
}

.hsmr-faq__item > :not(summary) {
	margin: 0;
	padding: 0 1.4rem 1.3rem;
	color: var(--wp--preset--color--muted);
}


/* =================================================================
   14. LLAMADO A LA ACCIÓN Y FORMULARIO
   ================================================================= */

.hsmr-cta.wp-block-cover {
	min-height: 0;
	padding: var(--hsmr-section-y) var(--hsmr-gutter);
	color: rgba(255, 255, 255, 0.82);
}

.hsmr-cta__cols {
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.hsmr-cta__text > * + * {
	margin-block-start: 1.1rem;
}

.hsmr-cta__title {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.12;
	color: var(--wp--preset--color--white);
	text-wrap: balance;
}

.hsmr-cta__lead {
	font-size: var(--wp--preset--font-size--medium);
	color: rgba(255, 255, 255, 0.82);
}

.hsmr-cta__points {
	margin-top: 1.5rem;
	padding-left: 1.25rem;
	list-style: none;
}

.hsmr-cta__points li {
	position: relative;
	padding-left: 0.5rem;
}

.hsmr-cta__points li + li {
	margin-top: 0.5rem;
}

.hsmr-cta__points li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: -1.1rem;
	width: 0.45rem;
	height: 0.45rem;
	background: var(--wp--preset--color--gold);
	border-radius: 50%;
}

.hsmr-form-card {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	color: var(--wp--preset--color--slate);
	background: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--lifted);
}

.hsmr-form-card > * {
	margin-block: 0;
}

.hsmr-form-card > * + * {
	margin-block-start: 1rem;
}

.hsmr-form-card__title {
	font-size: 1.5rem;
	color: var(--wp--preset--color--navy-900);
}

.hsmr-form-card__text {
	color: var(--wp--preset--color--muted);
}

.hsmr-form-card__actions {
	gap: 0.75rem;
}

/* Campos de formulario (Contact Form 7 u otro plugin de formularios) */
.hsmr-form-card label {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
}

.hsmr-form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.hsmr-form-card select,
.hsmr-form-card textarea {
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.8rem 1rem;
	font: inherit;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	transition: border-color 0.2s var(--hsmr-ease), box-shadow 0.2s var(--hsmr-ease),
		background-color 0.2s var(--hsmr-ease);
}

.hsmr-form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.hsmr-form-card select,
.hsmr-form-card textarea {
	box-sizing: border-box;
}

.hsmr-form-card textarea {
	height: 7.5rem;
	min-height: 6rem;
	resize: vertical;
}

.hsmr-form-card .wpcf7-form-control-wrap {
	display: block;
}

/* Campos en una columna; los saltos de línea los resuelve el margen del label */
.hsmr-form-card .wpcf7-form br {
	display: none;
}

.hsmr-form-card .wpcf7-form label {
	margin-bottom: 1.1rem;
}

.hsmr-form-card input:focus,
.hsmr-form-card select:focus,
.hsmr-form-card textarea:focus {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--blue-500);
	box-shadow: 0 0 0 4px rgba(62, 106, 163, 0.18);
	outline: none;
}

.hsmr-form-card input[type="submit"],
.hsmr-form-card button[type="submit"] {
	width: 100%;
	padding: 1em 2em;
	font: inherit;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	background: var(--wp--preset--color--gold);
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	cursor: pointer;
	transition: background-color 0.2s var(--hsmr-ease), transform 0.2s var(--hsmr-ease),
		box-shadow 0.2s var(--hsmr-ease);
}

.hsmr-form-card input[type="submit"]:hover,
.hsmr-form-card button[type="submit"]:hover {
	background: #d8b565;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(201, 162, 75, 0.35);
}

.hsmr-form-card .wpcf7-form p {
	margin: 0 0 1rem;
}

.hsmr-form-card .wpcf7-not-valid-tip {
	margin-top: 0.3rem;
	font-size: 0.8125rem;
	color: #a32020;
}

.hsmr-form-card .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.75rem 1rem;
	font-size: 0.9375rem;
	border-radius: 12px;
}


/* =================================================================
   15. PIE DE PÁGINA
   ================================================================= */

.hsmr-footer {
	padding: clamp(3rem, 6vw, 4.5rem) var(--hsmr-gutter) 1.75rem;
	color: rgba(255, 255, 255, 0.72);
	background: var(--wp--preset--color--navy-950);
}

.hsmr-footer a {
	color: var(--wp--preset--color--cream);
	text-decoration: none;
	transition: color 0.2s var(--hsmr-ease);
}

.hsmr-footer a:hover {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
}

.hsmr-footer__cols {
	gap: clamp(1.75rem, 4vw, 3.5rem);
}

.hsmr-footer__brand {
	flex-basis: 34%;
}

.hsmr-footer__logo {
	margin: 0;
}

.hsmr-footer__logo.wp-block-image img {
	display: block;
	width: auto;
	height: 2.4rem;
	max-width: none;
}

.hsmr-footer__about {
	max-width: 24rem;
	margin-top: 1.1rem;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.hsmr-footer__social {
	margin-top: 1.25rem;
	gap: 0.75rem;
}

.hsmr-footer .wp-block-social-links.is-style-logos-only .wp-social-link-linkedin,
.hsmr-footer .wp-block-social-links .wp-social-link a {
	color: var(--wp--preset--color--cream);
}

.hsmr-footer__social .wp-social-link a {
	padding: 0.35rem;
}

.hsmr-footer__title {
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--cream);
}

.hsmr-footer__col p {
	margin: 0 0 0.9rem;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.hsmr-footer__bottom {
	gap: 0.5rem 1.5rem;
	margin-top: clamp(2rem, 5vw, 3.25rem);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.hsmr-footer__legal {
	margin: 0;
	font-size: 0.8125rem;
	color: rgba(255, 255, 255, 0.56);
}


/* =================================================================
   16. PÁGINAS INTERNAS (blog, páginas, 404)
   ================================================================= */

.hsmr-page {
	padding: clamp(3rem, 7vw, 5rem) var(--hsmr-gutter);
}

.hsmr-page > * + * {
	margin-block-start: 1.25rem;
}


/* =================================================================
   17. RESPONSIVE
   ================================================================= */

@media (max-width: 1024px) {
	.hsmr-grid.hsmr-services__grid,
	.hsmr-grid.hsmr-process__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hsmr-benefits__cols.wp-block-columns,
	.hsmr-footer__cols.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.hsmr-benefits__media,
	.hsmr-benefits__body {
		flex-basis: 100% !important;
	}

	.hsmr-benefits__img img {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.hsmr-footer__brand {
		flex-basis: 100% !important;
	}
}

@media (max-width: 900px) {
	.hsmr-faq__cols.wp-block-columns,
	.hsmr-cta__cols.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.hsmr-faq__intro,
	.hsmr-faq__list,
	.hsmr-cta__text,
	.hsmr-cta__form {
		flex-basis: 100% !important;
	}

	.hsmr-grid.hsmr-testimonials__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hsmr-gallery.wp-block-gallery.has-nested-images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.hsmr-hero.wp-block-cover {
		min-height: 0;
	}

	.hsmr-stats {
		gap: 1.25rem 2rem;
	}

	.hsmr-footer__cols {
		flex-wrap: wrap !important;
	}

	.hsmr-footer__col {
		flex-basis: calc(50% - 1rem) !important;
	}
}

@media (max-width: 600px) {
	.hsmr-grid.hsmr-services__grid,
	.hsmr-grid.hsmr-process__grid,
	.hsmr-grid.hsmr-benefits__grid,
	.hsmr-gallery.wp-block-gallery.has-nested-images {
		grid-template-columns: minmax(0, 1fr);
	}

	:root {
		--hsmr-header-h: 4rem;
	}

	.admin-bar .hsmr-header {
		top: 0;
	}

	.hsmr-header__cta.wp-block-buttons {
		display: none;
	}

	.hsmr-logo.wp-block-image img {
		height: 1.75rem;
	}

	.hsmr-hero__actions,
	.hsmr-hero__actions .wp-block-button,
	.hsmr-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.hsmr-footer__col {
		flex-basis: 100% !important;
	}

	.hsmr-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}


/* =================================================================
   18. MOVIMIENTO REDUCIDO
   ================================================================= */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}

	.hsmr-card:hover,
	.wp-block-button .wp-block-button__link:hover,
	.hsmr-gallery .wp-block-image:hover img {
		transform: none;
	}
}
