
/* style.css */
/*
Theme Name: Close Technology Theme
Theme URI: https://close.technology
Description: Modern block theme for Close Technology, specialists in WordPress development and integrations.
Author: Closemarketing
Author URI: https://close.marketing
Version: 1.0.7
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: close-technology-theme
*/
/* theme.css */
/**
 * Theme custom styles.
 * Only add styles here that cannot be achieved through theme.json.
 * Use CSS custom properties from theme.json: var(--wp--preset--color--primary), etc.
 */

/* ─── Layout ─────────────────────────────────────────────────────────────── */

body {
	--theme-container-padding-x: var(--wp--preset--spacing--container);
	font-optical-sizing: auto;
	overflow-x: hidden;
}

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

/* Kill WordPress core's default block-gap spacing (24px) everywhere, site-wide. */
.is-layout-flow > *,
.is-layout-constrained > *,
.is-layout-flex > *,
.is-layout-grid > * {
	margin-block-start: 0 !important;
}

@media (min-width: 1024px) {
	body {
		--theme-container-padding-x: var(--wp--preset--spacing--container-lg);
	}
}

/* ─── Buttons ─────────────────────────────────────────────────────────────── */

/*
 * theme.json's global button :hover only changes the background to
 * "dark" (#12114e), without also flipping the text color. That's fine for
 * the default filled button (white text stays readable), but an
 * .is-style-outline button that hasn't been given its own hover override
 * keeps its "primary" text color (#16164a) — nearly identical to the new
 * dark background, making the label unreadable on hover. Sections that
 * already set custom outline colors (e.g. .home-hero, .services-hero) keep
 * working via their own higher-specificity rules; this is only a fallback
 * for the plain case.
 */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--wp--preset--color--base);
}

/* ─── Header ──────────────────────────────────────────────────────────────── */

.site-header {
	background: var(--wp--preset--color--base);
	margin-block: 0 !important;
	z-index: 100;
}

.site-header + * {
	margin-block-start: 0 !important;
}

.site-header__inner { margin: 0 auto; max-width: 1630px; padding-inline: var(--theme-container-padding-x); }
.site-header__utility { background: var(--wp--preset--color--accent); font-size: var(--wp--preset--font-size--xs); }
.site-header__utility .site-header__inner { display: flex; gap: var(--wp--preset--spacing--4); justify-content: flex-end; min-height: 2.7rem; }
.site-header__utility a { align-items: center; color: var(--wp--preset--color--base); display: flex; text-decoration: none; }
.site-header__navigation { align-items: center; display: flex; justify-content: space-between; min-height: 5rem; }
.site-header__brand { display: block; line-height: 1; text-decoration: none; }
.site-header__brand img { aspect-ratio: 224 / 82; display: block; height: auto; width: 7rem; }
.site-header__links, .site-header__actions { align-items: center; display: flex; gap: var(--wp--preset--spacing--8); }
.site-header__links a { color: #15144A; font-size: var(--wp--preset--font-size--sm); text-decoration: none; }
.site-header__actions a { color: var(--wp--preset--color--accent); font-size: var(--wp--preset--font-size--sm); text-decoration: none; }
.site-header__account { align-items: center; border: 1px solid var(--wp--preset--color--accent); border-radius: var(--wp--preset--border-radius--full); display: inline-flex; font-family: var(--wp--preset--font-family--inter); font-size: 12px; font-weight: 600; gap: 7px; letter-spacing: 0.72px; line-height: 18px; padding: 10px 15px; text-transform: uppercase; }
.site-header__cart { align-items: center; background: var(--wp--preset--color--light); border-radius: 50%; display: inline-flex; height: 2.75rem; justify-content: center; width: 2.75rem; }
.site-header__cart-icon { color: var(--wp--preset--color--accent); display: block; height: 1.35rem; width: 1.35rem; }

/* Compensate for WordPress admin bar when user is logged in. */
.admin-bar .site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

/* ─── Navigation ──────────────────────────────────────────────────────────── */

/* Mobile overlay menu (overlayMenu: "mobile" in block — ≤781px). */
@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--wp--preset--color--base);
		padding: var(--wp--preset--spacing--8);
	}

	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		color: var(--wp--preset--color--primary);
	}
}

/* ─── Footer ──────────────────────────────────────────────────────────────── */

.site-footer {
	background: var(--wp--preset--color--accent);
	color: #DEDFFD;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 16px;
	font-weight: 400;
	line-height: 17px;
	margin-top: auto;
}

.site-footer__inner { display: grid; gap: var(--wp--preset--spacing--8); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; max-width: 1630px; padding: var(--wp--preset--spacing--16) var(--theme-container-padding-x) var(--wp--preset--spacing--6); }
.site-footer a { color: inherit; display: block; margin-top: var(--wp--preset--spacing--2); text-decoration: none; }
.site-footer h4 { color: var(--wp--preset--color--base); margin: 0 0 var(--wp--preset--spacing--4); }
.site-footer__brand a { display: block; margin: 0; }
.site-footer__brand img { display: block; height: auto; width: 7rem; }
.site-footer__brand p { max-width: 15rem; margin-top: var(--wp--preset--spacing--4); }
.site-footer__social { display: flex; gap: var(--wp--preset--spacing--3); }
.site-footer__social a { align-items: center; background: rgb(255 255 255 / 0.12); border-radius: var(--wp--preset--border-radius--full); display: inline-flex; height: 2.25rem; justify-content: center; margin-top: 0; width: 2.25rem; }
.site-footer__social svg { height: 1.1rem; width: 1.1rem; }

.site-footer__bottom p { font-size: var(--wp--preset--font-size--xs); margin: 0 auto; max-width: 1630px; padding: var(--wp--preset--spacing--3) var(--theme-container-padding-x) var(--wp--preset--spacing--6); text-align: left; }

.wpml-ls-statics-footer.wpml-ls {
	background: var(--wp--preset--color--accent);
	border-top: 1px solid rgb(255 255 255 / 0.15);
	margin: 0;
	padding: var(--wp--preset--spacing--4) var(--theme-container-padding-x);
}

.wpml-ls-statics-footer.wpml-ls ul.wpml-ls-legacy-list-horizontal {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--4);
	list-style: none;
	margin: 0 auto;
	max-width: 1630px;
	padding: 0;
}

.wpml-ls-statics-footer .wpml-ls-link {
	align-items: center;
	color: var(--wp--preset--color--base);
	display: flex;
	font-size: var(--wp--preset--font-size--sm);
	gap: var(--wp--preset--spacing--2);
	text-decoration: none;
}

.wpml-ls-statics-footer .wpml-ls-flag {
	height: 1rem;
	width: auto;
}

/* ─── Home page ───────────────────────────────────────────────────────────── */

.home-page {
	overflow: hidden;
}

.home-section-heading {
	margin-bottom: var(--wp--preset--spacing--4);
	text-align: center;
}

.home-section-heading strong {
	color: var(--wp--preset--color--accent);
}

.home-trust,
.home-services,
.home-products,
.home-steps {
	padding-block: var(--wp--preset--spacing--20);
}

.home-services > .alignwide > p {
	color: var(--wp--preset--color--base-dark);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 18px;
	line-height: 27.9px;
	margin-inline: auto;
	max-width: 42rem;
	text-align: center;

	margin-bottom: var(--wp--preset--spacing--12);
}

.hero-home {
	background: var(--wp--preset--color--surface) !important;
	padding-block: var(--wp--preset--spacing--12) !important;
	padding-inline: var(--theme-container-padding-x) !important;
}

.home-hero {
	background:
		radial-gradient(circle at 75% 46%, rgba(73, 87, 255, 0.34), transparent 23rem),
		linear-gradient(112deg, #14134d 0%, #1a195d 100%);
	border-radius: 2.25rem;
	box-sizing: border-box;
	color: var(--wp--preset--color--base);
	margin-inline: auto;
	max-width: 1630px;
	min-height: 44rem;
	padding: var(--wp--preset--spacing--8);
	position: relative;
}

.home-page > .alignwide,
.hero-home > .alignwide,
.home-services .alignwide {
	max-width: 1630px;
}

.home-hero .wp-block-columns {
	align-items: center;
	max-width: 1450px;
	min-height: 44rem;
	width: 100%;
}

.home-hero__title {
	color: var(--wp--preset--color--surface);
	margin: 0;
	text-align: left;
}

.home-hero__title strong {
	color: var(--wp--preset--color--accent);
}

.home-hero__title--white {
	color: var(--wp--preset--color--base);
}

.home-hero p {
	color: #DEDFFD;
}

.home-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent);
}

.home-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface);
}

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

.home-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent);
}

.home-hero__visual {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 16rem;
	position: relative;
}

.home-hero__visual::before {
	background: rgba(88, 93, 211, 0.18);
	border-radius: 50%;
	content: "";
	height: clamp(15rem, 29vw, 23rem);
	position: absolute;
	width: clamp(15rem, 29vw, 23rem);
}

.home-hero__robot {
	margin: 0;
	max-width: min(100%, 21rem);
	position: relative;
}

.home-hero__robot img {
	display: block !important;
	height: auto !important;
	max-height: 20rem !important;
	max-width: 100% !important;
	width: auto !important;
}

.home-stats,
.home-trust__logos,
.home-services__grid,
.home-products__grid .wc-block-product-template,
.home-steps__grid {
	display: grid;
	gap: var(--wp--preset--spacing--4);
}

.home-stats > * {
	margin-block-start: 0;
}

.home-stats {
	align-items: stretch;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-inline: auto;
	max-width: 1630px;
	padding-block: var(--wp--preset--spacing--12);
}

.home-stat {
	align-content: center;
	background: var(--wp--preset--color--base);
	border-radius: var(--wp--preset--border-radius--md);
	box-shadow: var(--wp--preset--shadow--sm);
	box-sizing: border-box;
	color: var(--wp--preset--color--primary);
	height: 100%;
	min-height: 10rem;
	padding: var(--wp--preset--spacing--6);
	text-align: center;
}

.home-stat__number {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--moga);
	font-size: 1.2rem;

	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.home-stat__label {
	font-size: 0.83rem;
	margin: var(--wp--preset--spacing--2) 0 0;
}

.home-product p,
.home-step p {
	font-size: var(--wp--preset--font-size--sm);
	margin: var(--wp--preset--spacing--2) 0 0;
}

.home-trust__logos {
	align-items: center;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--10);
}

.home-trust__logos img {
	height: 3rem;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.home-services {
	background-color: var(--wp--preset--color--surface);
}

.home-services__grid {
	grid-template-columns: 1fr;
	margin-top: var(--wp--preset--spacing--12);
	max-width: 1630px;
	width: 100%;
}

.home-services__grid {
	align-items: stretch;
}

.home-service {
	align-items: flex-start;
	background: var(--wp--preset--color--muted);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	height: 100%;
	min-height: 22rem;
	padding: var(--wp--preset--spacing--8);
	text-align: left;
}

.home-service > * {
	margin-inline: 0 !important;
}

.home-service .wp-block-buttons {
	justify-content: flex-start !important;
}

.home-service--dark {
	background: var(--wp--preset--color--base-dark);
	color: var(--wp--preset--color--base);
}

.home-service__icon {
	margin: 0;
	width: 2.75rem;
}

.home-service__icon img {
	display: block;
	height: auto;
	width: 100%;
}

.home-service--accent {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.home-service h3,
.home-product h3,
.home-step h3 {
	font-family: var(--wp--preset--font-family--moga);
	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}


.home-service .wp-block-button {
	margin-top: auto;
}

.home-service p {
	margin-top: var(--wp--preset--spacing--4);
}

.home-service > p:last-child {
	margin-top: auto;
}

.home-service > p:last-child a,
.home-product__body > a {
	border: 1px solid currentColor;
	border-radius: 20px;
	color: inherit;
	display: inline-block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.72px;
	line-height: 18px;
	padding: 10px 15px;
	text-decoration: none;
	text-transform: uppercase;
}

.home-service:not(.home-service--dark):not(.home-service--accent) > p:last-child a,
.home-product__body > a {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.home-service:not(.home-service--dark):not(.home-service--accent) > p:last-child a:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.home-service--dark .wp-block-button__link,
.home-service--accent .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
}

/*
 * Each card's button in patterns/home-page.php carries its own inline
 * style="color:...;border-color:..." (set per-card in the editor), which
 * always wins over an external stylesheet rule of any specificity — only
 * !important can override it. Background alone doesn't need it (there's no
 * inline background-color to fight), but color/border-color do.
 */
.home-service--dark .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base-dark) !important;
	color: var(--wp--preset--color--base-dark) !important;
}

.home-service--accent .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--accent) !important;
}

.home-service:not(.home-service--dark):not(.home-service--accent) .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--base) !important;
}

.home-products__grid .wc-block-product-template,
.home-steps__grid {
	grid-template-columns: 1fr;
	margin-top: var(--wp--preset--spacing--12);
	max-width: 1630px;
	width: 100%;
}

.home-products__grid .wc-block-product-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.home-products__grid .wc-block-product-template {
	align-items: stretch !important;
	grid-auto-rows: 1fr !important;
}

.home-products__grid .wc-block-product-template > li {
	align-items: stretch !important;
	display: flex !important;
	max-width: none;
	width: 100%;
}

.home-product {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.home-product__art {
	align-items: center;
	background: linear-gradient(135deg, var(--wp--preset--color--accent), #6475f5);
	color: var(--wp--preset--color--base);
	display: flex;
	font-family: var(--wp--preset--font-family--moga);
	font-size: var(--wp--preset--font-size--xxl);
	height: 363.27px;
	justify-content: center;
	text-transform: uppercase;
}

.home-products__grid .home-product__art {
	flex-shrink: 0;
	overflow: hidden;
	width: 100%;
}

.home-products__grid .home-product__art a {
	display: block;
	height: 100%;
	width: 100%;
}

.home-products__grid .home-product__art img {
	display: block;
	height: 100% !important;
	max-width: 100%;
	object-fit: contain !important;
	width: 100% !important;
}

.home-product__art--pink {
	background: linear-gradient(135deg, #e42d6b, #fa759d);
}

.home-product__art--blue {
	background: linear-gradient(135deg, #78b9e6, #6380ec);
}

.home-product__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--wp--preset--spacing--6);
}


.home-product__eyebrow {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.home-product__footer {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--border);
	display: flex;
	justify-content: space-between;
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--4);
}

.home-product__price {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--sm);
}

.home-product__cta .wp-block-button__link {
	background: var(--wp--preset--color--light);
	border: none;
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--sm);
	padding: 0.5rem 1rem;
	text-decoration: none;
}

.home-products__all .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--primary);
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	padding: 0.65em 1.5em;
	text-decoration: none;
	text-align: center;
	width: fit-content;
}

.home-products__all .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.home-products__all-wrap {
	margin: var(--wp--preset--spacing--10) auto 0;
}

.home-products > p,
.home-steps > p {
	color: var(--wp--preset--color--secondary);
	margin: 0 auto var(--wp--preset--spacing--12);
	max-width: 42rem;
	text-align: center;
}

.home-step {
	align-items: center;
	background: var(--wp--preset--color--accent);
	border-radius: 20px;
	color: var(--wp--preset--color--base);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	justify-content: center;
	min-height: 20rem;
	overflow: hidden;
	padding: var(--wp--preset--spacing--8);
	position: relative;
	text-align: center;
}

.home-step__num {
	height: auto;
	left: 50%;
	max-width: 85%;
	opacity: 0.9;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
}

.home-step__icon {
	display: block;
	height: 2.75rem;
	position: relative;
	width: 2.75rem;
	z-index: 1;
}

.home-step h3,
.home-step p {
	position: relative;
	z-index: 1;
}

.home-step h3 {
	color: var(--wp--preset--color--surface);

	letter-spacing: 0.36px;
	line-height: 65px;
}

.home-step p {
	color: var(--wp--preset--color--muted);
	font-size: 15px;
	line-height: 22.5px;
}

/* ─── Blog ─────────────────────────────────────────────────────────────── */

.blog-archive__hero-shell,
.blog-single__hero-shell {
	background: var(--wp--preset--color--light);
	padding-block: var(--wp--preset--spacing--12);
}

.blog-archive__hero-shell.has-global-padding,
.blog-single__hero-shell.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/*
 * On a regular Page, this pattern sits two levels deep inside post_content,
 * which core itself keeps at contentSize width (no align on post_content).
 * That leaves .alignfull here needing to escape a narrow ancestor, not just
 * <main> — the viewport-width calc is the right tool for that, so force it
 * ourselves instead of depending on which layout class core happens to put
 * on the immediate parent (is-layout-flow inside post_content, vs
 * is-layout-constrained elsewhere).
 */
.blog-archive__hero-shell.alignfull,
.blog-single__hero-shell.alignfull {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 100vw !important;
	width: 100vw !important;
}

.blog-archive__hero,
.blog-single__hero {
	background: var(--wp--preset--color--base-dark);
	border-radius: 2.25rem;
	color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--12) var(--wp--preset--spacing--20);
	position: relative;
}

.blog-archive__hero .wp-block-group {
	text-align: center;
}

.blog-archive__hero,
.blog-single__hero {
	margin-inline: auto;
	max-width: 1630px;
	width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2)));
}

.blog-archive__content,
.blog-single__layout {
	margin-inline: auto;
	max-width: 1200px;
	width: min(1200px, calc(100% - (var(--theme-container-padding-x) * 2)));
}

.blog-single__layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--12);
	grid-template-columns: 1fr;
}

.blog-single__toc {
	position: static;
}

@media (min-width: 1024px) {
	.blog-single__toc {
		position: sticky;
		top: var(--wp--preset--spacing--8);
	}
}

.admin-bar .blog-single__toc {
	top: calc(32px + var(--wp--preset--spacing--8));
}

@media screen and (max-width: 782px) {
	.admin-bar .blog-single__toc {
		top: calc(46px + var(--wp--preset--spacing--8));
	}
}

.blog-single__toc-label {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.05em;
	margin: 0 0 var(--wp--preset--spacing--3);
	text-transform: uppercase;
}

.blog-single__toc-nav {
	display: flex;
	flex-direction: column;
}

.blog-single__toc-nav a {
	border-left: 2px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--secondary);
	padding: var(--wp--preset--spacing--2) 0 var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
	text-decoration: none;
}

.blog-single__toc-nav a.is-active {
	border-left-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

@media (min-width: 1024px) {
	.blog-single__layout {
		grid-template-columns: 220px 1fr;
	}
}

.blog-archive__content.is-layout-constrained > .wp-block-query {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.blog-eyebrow,
.blog-card__terms {
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	margin: 0;
	text-transform: uppercase;
}

.blog-archive__title,
.blog-single__title {
	color: inherit;
	font-family: var(--wp--preset--font-family--moga);

	font-weight: 400;
	line-height: 0.94;
	margin: var(--wp--preset--spacing--4) auto 0;
	text-transform: uppercase;
}

.blog-archive__title {
	max-width: 17ch;
}

.blog-single__title {
	max-width: 100%;
}

.blog-archive__title strong {
	color: var(--wp--preset--color--accent);
}

.blog-archive__intro {
	color: var(--wp--preset--color--light);
	font-size: var(--wp--preset--font-size--sm);
	margin: var(--wp--preset--spacing--8) auto 0;
	max-width: 34rem;
}

.blog-archive__search {
	margin-block-start: var(--wp--preset--spacing--10) !important;
	margin-bottom: calc(-1 * var(--wp--preset--spacing--10));
	margin-inline: auto;
	margin-top: var(--wp--preset--spacing--10) !important;
	max-width: 26rem;
	position: relative;
	width: calc(100% - var(--wp--preset--spacing--12) * 2);
}

.blog-archive__search .wp-block-search__input {
	background: var(--wp--preset--color--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316164A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") no-repeat 1.1em center;
	background-size: 0.9rem;
	border: none;
	border-radius: var(--wp--preset--border-radius--full);
	box-shadow: var(--wp--preset--shadow--sm);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 16px;
	padding: 0.75em 1.25em 0.75em 2.75em;
	width: 100%;
}

.blog-archive__content,
.blog-single__layout {
	padding-block: var(--wp--preset--spacing--20);
}

.blog-archive__filters {
	column-gap: var(--wp--preset--spacing--4);
	display: flex;
	flex-wrap: wrap;
	margin-bottom: var(--wp--preset--spacing--10);
	row-gap: var(--wp--preset--spacing--4);
}

.blog-archive__filters a {
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.blog-archive__filters a:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.blog-archive__categories,
.blog-archive__categories ul {
	column-gap: var(--wp--preset--spacing--4);
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	row-gap: var(--wp--preset--spacing--4);
}

.blog-archive__categories li {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--4);
}

.blog-archive__categories .current-cat a {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.blog-archive__grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

.blog-archive__grid > li {
	height: 100%;
	margin: 0;
}

.blog-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.blog-card:hover {
	background: var(--wp--preset--color--base-dark);
	box-shadow: 0 8px 20px rgba(22, 22, 74, 0.32);
}

.blog-card:hover .blog-card__terms,
.blog-card:hover .blog-card__title a,
.blog-card:hover .blog-card__excerpt,
.blog-card:hover .blog-card__excerpt a,
.blog-card:hover .blog-card__date {
	color: var(--wp--preset--color--base);
}

.blog-card__terms a:hover {
	background: transparent;
	border: 1px solid var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
}

.blog-card .wp-block-post-featured-image {
	background: var(--wp--preset--color--light);
	margin: 0;
	min-height: 12rem;
}

.blog-card .wp-block-post-featured-image a,
.blog-card .wp-block-post-featured-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.blog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--wp--preset--spacing--3);
	padding: var(--wp--preset--spacing--6);
	text-align: left;
}

.blog-card__terms {
	font-size: var(--wp--preset--font-size--xs);
	margin: 0;
	text-align: left;
	width: 100%;
}

.blog-card__terms a {
	background: var(--wp--preset--color--accent);
	border: 1px solid transparent;
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--base);
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin-bottom: var(--wp--preset--spacing--2);
	padding: 0.35em 0.9em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.blog-card__title {
	margin: 0;
	text-align: left;
}

.blog-card__title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.blog-card__excerpt {
	margin: 0;
	text-align: left;
}

.blog-card__excerpt p {
	margin: 0;
}

.blog-card__excerpt a {
	display: inline-block;
	font-weight: 700;
	margin-top: var(--wp--preset--spacing--2);
	white-space: nowrap;
}

.blog-card__date {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--sm);
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--6);
	text-align: left;
	width: 100%;
}

.services-archive__content {
	padding-block: var(--wp--preset--spacing--12);
}

.services-archive__grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

.service-archive-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.service-archive-card__image {
	background: var(--wp--preset--color--light);
	margin: 0;
	min-height: 12rem;
}

.service-archive-card__image a,
.service-archive-card__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.service-archive-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--wp--preset--spacing--6);
}

.service-archive-card__body .wp-block-post-title {
	font-family: var(--wp--preset--font-family--moga);

	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.service-archive-card__body .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.service-archive-card__body .wp-block-post-excerpt {
	margin: var(--wp--preset--spacing--4) 0 0;
}

.service-archive-card__body .wp-block-post-excerpt p {
	margin: 0;
}

.service-archive-card__body .wp-block-post-excerpt a {
	font-weight: 700;
	white-space: nowrap;
}

@media (min-width: 640px) {
	.services-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.services-archive__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.blog-pagination {
	gap: var(--wp--preset--spacing--4);
	margin-block-start: var(--wp--preset--spacing--12) !important;
	margin-top: var(--wp--preset--spacing--12) !important;
}

.blog-pagination a,
.blog-pagination .page-numbers {
	align-items: center;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--full);
	display: inline-flex;
	justify-content: center;
	min-height: 2.75rem;
	padding-inline: var(--wp--preset--spacing--4);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.blog-pagination .current,
.blog-pagination a:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.blog-single__row {
	align-items: flex-end;
	margin-block-start: var(--wp--preset--spacing--8) !important;
	margin-top: var(--wp--preset--spacing--8) !important;
}

.blog-single__intro {
	color: var(--wp--preset--color--light);
	font-size: var(--wp--preset--font-size--md);
	margin: 0;
	max-width: 40rem;
}

.blog-single__author-column {
	flex-basis: auto !important;
	flex-grow: 0 !important;
	text-align: right;
	white-space: nowrap;
}

.blog-single__meta {
	align-items: center;
	color: var(--wp--preset--color--base);
	gap: var(--wp--preset--spacing--3);
	justify-content: flex-end;
	margin: 0;
}

.blog-single__meta p {
	margin: 0;
}

.blog-single__avatar img {
	border-radius: var(--wp--preset--border-radius--full);
	display: block;
	height: 2.75rem;
	width: 2.75rem;
}

.blog-single__article > .wp-block-post-featured-image {
	border-radius: var(--wp--preset--border-radius--md);
	margin: 0 auto var(--wp--preset--spacing--12);
	overflow: hidden;
}

.blog-single__article > .wp-block-post-featured-image img {
	display: block;
	height: auto;
	width: 100%;
}

.blog-single__article > .wp-block-post-content {
	max-width: var(--wp--style--global--content-size);
}

.blog-single__article .wp-block-post-content > * + * {
	margin-top: var(--wp--preset--spacing--6);
}

.blog-single__article .wp-block-post-content h2,
.blog-single__article .wp-block-post-content h3,
.blog-single__article .wp-block-post-content h4,
.blog-single__article .wp-block-post-content h5,
.blog-single__article .wp-block-post-content h6 {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--moga);
	font-weight: 400;
	line-height: 1;
	margin-block-start: var(--wp--preset--spacing--12) !important;
	margin-bottom: var(--wp--preset--spacing--4);
	margin-top: var(--wp--preset--spacing--12) !important;
	text-transform: uppercase;
}

.blog-single__tags,
.blog-single__navigation {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--12);
	padding-top: var(--wp--preset--spacing--6);
}

.blog-single__navigation {
	gap: var(--wp--preset--spacing--6);
}

.blog-single__navigation a {
	font-weight: 700;
	text-decoration: none;
}

.blog-single__related {
	padding-block: var(--wp--preset--spacing--20);
}

.blog-single__related-heading {
	align-items: center;
	margin-bottom: var(--wp--preset--spacing--8);
}

.blog-single__related-heading .is-style-outline .wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease;
}

.blog-single__related-heading .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

/* ─── Shop archive ─────────────────────────────────────────────────────── */

.shop-archive__hero {
	background: var(--wp--preset--color--surface);
	padding-block: var(--wp--preset--spacing--20);
	text-align: center;
}

.shop-archive__hero > .alignwide,
.shop-archive__content {
	margin-inline: auto;
	max-width: 1630px;
	width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2)));
}

.shop-archive__title {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--moga);

	font-weight: 400;
	line-height: 0.94;
	margin: 0 auto;
	max-width: 16ch;
	text-transform: uppercase;
}

.shop-archive__title strong {
	color: var(--wp--preset--color--accent);
}

.shop-archive__intro {
	color: var(--wp--preset--color--secondary);
	margin: var(--wp--preset--spacing--6) auto 0;
	max-width: 42rem;
}

.shop-archive__content {
	padding-block: var(--wp--preset--spacing--20);
}

.shop-archive__content.is-layout-constrained > .shop-archive__products {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.shop-archive__products .wc-block-product-template {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-archive__products .wc-block-product-template > li {
	justify-self: stretch;
	margin: 0;
	max-width: none;
	min-width: 100%;
	width: 100%;
}

.shop-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	box-shadow: 0 4px 12px rgba(22, 22, 74, 0.22);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.shop-card:hover {
	box-shadow: 0 8px 20px rgba(22, 22, 74, 0.32);
}

.shop-card:hover {
	background: var(--wp--preset--color--base-dark);
}

.shop-card:hover .shop-card__title a {
	color: var(--wp--preset--color--base);
}

.shop-card:hover .shop-card__description {
	color: var(--wp--preset--color--base);
}

.shop-card:hover .woocommerce-breadcrumb,
.shop-card:hover .woocommerce-breadcrumb a {
	color: var(--wp--preset--color--base);
}

.shop-card .wc-block-components-product-image {
	background: var(--wp--preset--color--light);
	height: 18rem;
	margin: 0;
	overflow: hidden;
	padding: 0 !important;
	width: 100%;
}

.shop-card .wc-block-components-product-image a,
.shop-card .wc-block-components-product-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shop-card__body {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: var(--wp--preset--spacing--6);
	text-align: left;
}

.shop-card__title {
	font-family: var(--wp--preset--font-family--moga);
	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-align: left;
	text-transform: uppercase;
	width: 100%;
}

.shop-card__title a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.shop-card__description {
	color: var(--wp--preset--color--secondary);
	max-height: 5rem;
	margin: var(--wp--preset--spacing--4) 0 0;
	overflow: hidden;
	width: 100%;
}

.shop-card__description p {
	margin: 0;
}

/* === product page === */
.product-hero {
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--base);
	overflow: hidden;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.product-hero__row {
	align-items: stretch;
	gap: 0;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.product-hero__intro {
	box-sizing: border-box;
	padding-block: var(--wp--preset--spacing--20);
	padding-left: max(calc((100vw - 1630px) / 2), var(--theme-container-padding-x));
	padding-right: var(--wp--preset--spacing--12);
}

.product-hero__title {
	color: inherit;

	line-height: 1.05;
	margin: 0;
	text-align: left;
}

.product-hero__subtitle {
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: var(--wp--preset--spacing--3) 0 0;
	text-transform: uppercase;
}

.product-hero__tagline {
	color: var(--wp--preset--color--light);
	font-size: var(--wp--preset--font-size--md);
	margin: var(--wp--preset--spacing--4) 0 0;
	max-width: 34rem;
}

.product-hero__tagline p {
	margin: 0;
}

.product-hero__badges {
	gap: var(--wp--preset--spacing--4);
	margin-block-start: var(--wp--preset--spacing--12) !important;
	margin-top: var(--wp--preset--spacing--12) !important;
}

.product-hero__badge,
.product-hero__badges .wp-block-post-terms {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--wp--preset--border-radius--full);
	color: inherit;
	font-size: var(--wp--preset--font-size--xs);
	margin: 0;
	padding: 0.4em 0.9em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.product-hero__badges a {
	color: inherit;
}

.product-hero__visual {
	align-items: stretch;
	background: linear-gradient(135deg, var(--wp--preset--color--accent) 0%, #6C4CF0 55%, var(--wp--preset--color--surface) 100%);
	display: flex;
	justify-content: stretch;
	overflow: hidden;
}

.product-hero__image {
	height: 100%;
	margin: 0;
	width: 100%;
}

.product-hero__image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.product-media {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--8);
	padding-block: var(--wp--preset--spacing--16);
}

.product-media__content {
	padding-bottom: var(--wp--preset--spacing--12);
}

.product-media__content > * {
	margin-bottom: var(--wp--preset--spacing--6);
}

.product-media__content > *:last-child {
	margin-bottom: 0;
}

.product-media__content > .wp-block-video,
.product-media__content > .wp-block-embed {
	background: var(--wp--preset--color--dark);
	border-radius: var(--wp--preset--border-radius--lg);
	margin-bottom: var(--wp--preset--spacing--6);
	overflow: hidden;
}

.product-media__content > .wp-block-video video {
	aspect-ratio: 16 / 9;
	display: block;
	width: 100%;
}

.product-media__content > .wp-block-embed .wp-block-embed__wrapper {
	aspect-ratio: 16 / 9;
	position: relative;
}

.product-media__content > .wp-block-embed iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.product-media__heading {
	margin: 0;
}

.product-media__heading-row {
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--2);
}

.product-media__heading--name {
	font-weight: 700;
}

.product-media__description {
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.product-media__purchase {
	position: sticky;
	top: var(--wp--preset--spacing--8);
}

.admin-bar .product-media__purchase {
	top: calc(32px + var(--wp--preset--spacing--8));
}

@media screen and (max-width: 782px) {
	.admin-bar .product-media__purchase {
		top: calc(46px + var(--wp--preset--spacing--8));
	}
}

.product-purchase {
	background: var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--lg);
	color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--8);
}

.product-purchase__price {
	color: inherit;
	font-family: var(--wp--preset--font-family--moga);
	font-size: var(--wp--preset--font-size--xxl);
}

.product-purchase__note {
	color: var(--wp--preset--color--light);
	font-size: var(--wp--preset--font-size--sm);
	margin: 0 0 var(--wp--preset--spacing--6);
}

.product-purchase__cta.wp-block-woocommerce-add-to-cart-form form.cart {
	align-items: stretch;
	display: flex;
	gap: var(--wp--preset--spacing--3);
}

.product-purchase__cta .quantity {
	margin: 0;
}

.product-purchase__cta .quantity .qty {
	background: var(--wp--preset--color--base);
	border: 0 none;
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--dark);
	height: 100%;
	padding-inline: var(--wp--preset--spacing--4);
	text-align: center;
	width: 4rem;
}

.product-purchase__cta .wp-block-button__link,
.product-purchase__cta .wc-block-components-product-button__button,
.product-purchase__cta .single_add_to_cart_button {
	background: var(--wp--preset--color--dark);
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--base);
	display: block;
	flex: 1;
	text-align: center;
	width: 100%;
}

.product-purchase__cta .wc-block-components-product-button__button:hover,
.product-purchase__cta .single_add_to_cart_button:hover {
	background: var(--wp--preset--color--base-dark);
}

.product-purchase__heading {
	color: inherit;
	font-size: var(--wp--preset--font-size--base);
	letter-spacing: 0.03em;
	margin: var(--wp--preset--spacing--8) 0 var(--wp--preset--spacing--3);
	text-transform: uppercase;
}

.product-purchase__list {
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	font-size: var(--wp--preset--font-size--sm);
	list-style: none;
	margin: 0;
	padding: var(--wp--preset--spacing--4) 0 0;
}

.product-purchase__list li {
	padding-left: 1.4em;
	position: relative;
}

.product-purchase__list li::before {
	content: "\2713";
	left: 0;
	position: absolute;
}

.product-purchase__list li + li {
	margin-top: var(--wp--preset--spacing--2);
}

.product-purchase__meta {
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	font-size: var(--wp--preset--font-size--sm);
	margin-top: var(--wp--preset--spacing--4);
	padding-top: var(--wp--preset--spacing--4);
}

.product-purchase__meta .wp-block-group {
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
}
.product-section {
	padding-block: var(--wp--preset--spacing--16);
}

.product-section__lead {
	color: var(--wp--preset--color--secondary);
	max-width: 46rem;
}

.product-feature-grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: 1fr;
	margin-top: var(--wp--preset--spacing--8);
}

.product-section--muted {
	background: var(--wp--preset--color--muted);
}

.product-feature-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--surface);
	border-radius: var(--wp--preset--border-radius--md);
	padding: var(--wp--preset--spacing--6);
	text-align: center;
}

.product-feature-card h3 {
	color: var(--wp--preset--color--accent);
	margin: 0 0 var(--wp--preset--spacing--2);
}

.product-feature-card p {
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.product-cta {
	background: var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--lg);
	color: var(--wp--preset--color--base);
	margin-inline: auto;
	max-width: 960px;
	padding: var(--wp--preset--spacing--16);
	text-align: center;
}

.product-cta h2 {
	color: inherit;
	margin: 0 0 var(--wp--preset--spacing--3);
}

.product-cta p {
	color: var(--wp--preset--color--light);
	margin: 0 auto;
	max-width: 40rem;
}

.product-details {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--lg);
	margin-block-start: var(--wp--preset--spacing--12) !important;
	margin-top: var(--wp--preset--spacing--12) !important;
	padding: var(--wp--preset--spacing--8);
}

.product-panel-heading {
	color: var(--wp--preset--color--accent);
	margin-block-start: var(--wp--preset--spacing--8) !important;
	margin-top: var(--wp--preset--spacing--8) !important;
	margin-bottom: var(--wp--preset--spacing--2);
}

.product-panel-heading:first-child {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

.product-details__grid {
	display: grid;
	gap: var(--wp--preset--spacing--8);
	grid-template-columns: 1fr;
}

.product-details__rows {
	margin-top: var(--wp--preset--spacing--2);
}

.product-details__row {
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: flex;
	gap: var(--wp--preset--spacing--4);
	justify-content: space-between;
	padding-block: var(--wp--preset--spacing--2);
}

.product-details__row:last-child {
	border-bottom: none;
}

.product-details__row p {
	margin: 0;
}

.product-details__row strong {
	color: inherit;
	font-weight: 700;
}

.product-details__links {
	margin-top: var(--wp--preset--spacing--4);
}

.product-testimonials {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: 1fr;
	margin-bottom: var(--wp--preset--spacing--8);
	margin-top: var(--wp--preset--spacing--8);
}

.product-testimonial__bubble {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--preset--border-radius--md);
	margin-bottom: 20px;
	padding: var(--wp--preset--spacing--6);
}

.product-testimonial__stars {
	color: var(--wp--preset--color--accent);
	letter-spacing: 0.15em;
	margin: 0 0 var(--wp--preset--spacing--3);
}

.product-testimonial__quote {
	color: var(--wp--preset--color--primary);
	margin: 0;
}

.product-testimonial__author {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--3);
	margin-top: var(--wp--preset--spacing--4);
}

.product-testimonial__avatar {
	align-items: center;
	background: var(--wp--preset--color--light);
	border-radius: var(--wp--preset--border-radius--full);
	color: var(--wp--preset--color--primary);
	display: flex;
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--moga);
	height: 2.75rem;
	justify-content: center;
	margin: 0;
	width: 2.75rem;
}

.product-testimonial__name {
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
}

.product-testimonial__name strong {
	color: var(--wp--preset--color--primary);
	display: block;
}

.product-testimonial__name span {
	color: var(--wp--preset--color--secondary);
}
.product-features__heading {
	margin-block-start: var(--wp--preset--spacing--12) !important;
	margin-top: var(--wp--preset--spacing--12) !important;
	text-align: left;
}

.product-features__heading strong {
	color: var(--wp--preset--color--accent);
}

.product-features__grid {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: 1fr;
	margin-top: var(--wp--preset--spacing--8);
}

.product-features__card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--lg);
	padding: var(--wp--preset--spacing--6);
}

.product-features__card-title {
	color: var(--wp--preset--color--accent);
}

.product-features__card-description {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--sm);
	margin: var(--wp--preset--spacing--2) 0 0;
}

.product-features__cta {
	background: var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--lg);
	color: var(--wp--preset--color--base);
	margin-block-start: var(--wp--preset--spacing--8) !important;
	margin-top: var(--wp--preset--spacing--8) !important;
	padding: var(--wp--preset--spacing--16);
	text-align: center;
}

.product-features__cta-title {
	color: inherit;
	margin: 0;
	text-transform: uppercase;
}

.product-features__cta-description {
	color: var(--wp--preset--color--light);
	margin: var(--wp--preset--spacing--3) auto 0;
	max-width: 40rem;
}

.product-related {
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--base);
	margin-block: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--16);
}

.product-related .home-section-heading {
	color: inherit;
}

.product-related .wc-block-product-template {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: 1fr;
	list-style: none;
	margin: var(--wp--preset--spacing--8) 0 0;
	padding: 0;
}

.product-related .wc-block-product-template > li {
	justify-self: stretch;
	margin: 0;
	max-width: none;
	min-width: 100%;
	width: 100%;
}

@media (min-width: 640px) {
	.home-stats,
	.home-trust__logos {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-trust__logos {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

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

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

	.shop-archive__products .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-media {
		grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
	}

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

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

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

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

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

	.product-related .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-products__grid .wc-block-product-template,
	.home-steps__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.site-footer__inner { grid-template-columns: 1.7fr repeat(4, minmax(0, 1fr)); }

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

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

	.shop-archive__products .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.site-header__utility, .site-header__links, .site-header__actions { display: none; }
	.site-header__navigation::after { content: "☰"; font-size: var(--wp--preset--font-size--lg); }
	.home-hero { border-radius: 0.7rem; min-height: 0; }
}

/* ─── Services pages ────────────────────────────────────────────────────── */

/* Keep full-width groups flush with the Gutenberg editing canvas. */
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-align="full"] {
	margin-inline: -8px;
	max-width: none;
	width: calc(100% + 16px);
}

.services-page, .service-page { overflow: hidden; }
.services-shell, .services-section, .service-section, .service-contact { margin-inline: auto; max-width: 1200px; width: min(1200px, calc(100% - (var(--theme-container-padding-x) * 2))); }
.services-hero { background: radial-gradient(circle at 20% 20%, rgba(91, 104, 255, .3), transparent 18rem), var(--wp--preset--color--base-dark); border-radius: 0 0 2rem 2rem; color: var(--wp--preset--color--base); padding-block: var(--wp--preset--spacing--20); text-align: center; }
.services-title, .service-title, .services-section__title, .service-section__title, .services-cases h2, .service-contact h2 { font-family: var(--wp--preset--font-family--moga); font-weight: 400; line-height: .94; margin: 0; text-transform: uppercase; }
.services-title strong, .services-section__title strong, .service-section__title strong, .service-assurance strong { color: var(--wp--preset--color--accent); }
.services-hero__intro { font-size: var(--wp--preset--font-size--md); margin: var(--wp--preset--spacing--6) auto 0; max-width: 38rem; }
.services-hero__actions { justify-content: center; margin-top: var(--wp--preset--spacing--8); }
.services-hero .is-style-outline .wp-block-button__link, .services-cases .is-style-outline .wp-block-button__link, .service-hero .is-style-outline .wp-block-button__link { background: transparent; border: 1px solid currentColor; color: inherit; }

/* "color: inherit" means the ambient text color varies by section (light hero vs. dark
   card), so a hard color swap on hover risks invisible text in whichever context wasn't
   checked; a neutral tint reads as "hovered" against either. */
.services-hero .is-style-outline .wp-block-button__link:hover, .services-cases .is-style-outline .wp-block-button__link:hover, .service-hero .is-style-outline .wp-block-button__link:hover { background: rgba(128, 128, 128, 0.15); }
.services-stats, .services-benefits, .services-why__grid, .services-offer, .services-process__steps, .service-feature-grid, .service-process-grid, .service-assurances, .service-other-services__links { display: grid; gap: var(--wp--preset--spacing--4); }
.services-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--wp--preset--spacing--12); text-align: center; }
.services-stat { background: var(--wp--preset--color--base); border-radius: var(--wp--preset--border-radius--md); color: var(--wp--preset--color--primary); min-height: 8rem; padding: var(--wp--preset--spacing--5); }
.services-stat strong { color: var(--wp--preset--color--accent); display: block; font-family: var(--wp--preset--font-family--moga); font-size: var(--wp--preset--font-size--xxl); font-weight: 400; line-height: 1; }
.services-stat span { display: block; font-size: var(--wp--preset--font-size--xs); font-weight: 700; margin-top: var(--wp--preset--spacing--2); text-transform: uppercase; }
.services-section, .services-why { padding-block: var(--wp--preset--spacing--20); }
.services-section__title, .service-section__title { text-align: center; }
.services-section__intro, .service-section__intro { color: var(--wp--preset--color--secondary); margin: var(--wp--preset--spacing--6) auto 0 !important; max-width: 42rem; text-align: center; }
.services-benefits { grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--12); }
.services-why__grid { gap: var(--wp--preset--spacing--4) !important; grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--16) !important; }
.services-benefit, .service-feature { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--preset--border-radius--md); padding: var(--wp--preset--spacing--6); }
.services-benefit { text-align: center; }
.services-offer__card h3, .services-process__step h3, .service-feature h3 { font-family: var(--wp--preset--font-family--moga); font-weight: 400; line-height: 1; margin: 0; text-transform: uppercase; }
.services-benefit p, .services-offer__card p, .services-process__step p, .service-feature p { font-size: var(--wp--preset--font-size--sm); margin: var(--wp--preset--spacing--3) 0 0; }
.services-section--offer, .service-other-services { background: var(--wp--preset--color--light); padding-block: var(--wp--preset--spacing--20); }
.service-other-services .service-section { margin-inline: auto; max-width: 1630px; width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2))); }
.services-offer { grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--12); }
.services-offer__card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--accent); border-radius: var(--wp--preset--border-radius--md); display: flex; flex-direction: column; min-height: 17rem; padding: var(--wp--preset--spacing--8); }
.services-offer__card a, .service-assurance a { color: var(--wp--preset--color--accent); font-size: var(--wp--preset--font-size--sm); font-weight: 700; margin-top: auto; text-decoration: none; text-transform: uppercase; }

.services-offer2__grid { display: grid; gap: var(--wp--preset--spacing--4) !important; grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--12) !important; }
.services-offer2__card { background: var(--wp--preset--color--base); border-radius: var(--wp--preset--border-radius--md); box-shadow: var(--wp--preset--shadow--sm); display: flex; flex-direction: column; padding: var(--wp--preset--spacing--8) !important; text-align: center; }
.services-offer2__card p { font-size: var(--wp--preset--font-size--sm); margin: var(--wp--preset--spacing--4) 0 0 !important; }
.services-offer2__card .wp-block-buttons { justify-content: center; margin-top: var(--wp--preset--spacing--6) !important; }
.services-offer2__cta .wp-block-button__link { background: var(--wp--preset--color--light); border: none; border-radius: var(--wp--preset--border-radius--full); color: var(--wp--preset--color--primary); font-size: var(--wp--preset--font-size--xs); padding: 0.5rem 1rem; text-decoration: none; }

.services-offer2__cta .wp-block-button__link:hover { background: var(--wp--preset--color--surface); }

@media (min-width: 640px) {
	.services-offer2__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 960px) {
	.services-offer2__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.services-process { padding-block: var(--wp--preset--spacing--20); }
.services-process__steps { gap: var(--wp--preset--spacing--10) !important; grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--12) !important; }
.services-process__step { position: relative; text-align: center; }
.services-process__step strong { align-items: center; background: var(--wp--preset--color--light); border-radius: var(--wp--preset--border-radius--full); color: var(--wp--preset--color--accent); display: inline-flex; font-family: var(--wp--preset--font-family--moga); font-size: var(--wp--preset--font-size--xl); height: 5rem; justify-content: center; width: 5rem; }
.services-process__step h3 { margin-top: var(--wp--preset--spacing--6) !important; }
.services-process__step p { margin-top: var(--wp--preset--spacing--3) !important; }
.services-process__step-number { align-items: center; background: var(--wp--preset--color--light); border-radius: var(--wp--preset--border-radius--full); color: var(--wp--preset--color--accent); display: flex; height: 7rem; justify-content: center; line-height: 1 !important; margin: 0 auto !important; position: relative; width: 7rem; z-index: 1; }

@media (min-width: 640px) {
	.services-process__steps { position: relative; }
	.services-process__steps::before { border-top: 2px dotted var(--wp--preset--color--border); content: ""; left: 10%; position: absolute; right: 10%; top: 3.5rem; }
}
.services-cases { background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--base); padding: var(--wp--preset--spacing--20) var(--theme-container-padding-x); text-align: center; }
.services-cases h2 { color: var(--wp--preset--color--light); }
.services-cases p { margin: var(--wp--preset--spacing--6) auto 0 !important; max-width: 32rem; }
.services-cases .wp-block-buttons { justify-content: center; margin-top: var(--wp--preset--spacing--8) !important; }
.services-faq { padding-block: var(--wp--preset--spacing--20); }
.services-faq__item { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--preset--border-radius--md); margin-top: var(--wp--preset--spacing--6) !important; padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--6); }
.services-faq__item:first-of-type { margin-top: var(--wp--preset--spacing--10) !important; }
.services-faq__item summary { align-items: center; color: var(--wp--preset--color--primary); cursor: pointer; display: flex; font-size: var(--wp--preset--font-size--sm); font-weight: 700; justify-content: space-between; list-style: none; text-transform: uppercase; }
.services-faq__item summary::-webkit-details-marker { display: none; }
.services-faq__item summary::after { align-items: center; background: var(--wp--preset--color--light); border-radius: var(--wp--preset--border-radius--full); color: var(--wp--preset--color--primary); content: "+"; display: flex; flex-shrink: 0; height: 1.75rem; justify-content: center; margin-left: var(--wp--preset--spacing--4); width: 1.75rem; }
.services-faq__item[open] { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--surface); }
.services-faq__item[open] summary::after { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); content: "×"; }
.services-faq__item p { margin-bottom: 0; margin-top: var(--wp--preset--spacing--3) !important; }
.service-hero-shell { background: var(--wp--preset--color--surface); padding-block: var(--wp--preset--spacing--12); }
.service-hero { align-items: flex-start; background: radial-gradient(circle at 80% 30%, rgba(61, 70, 219, .38), transparent 18rem), var(--wp--preset--color--base-dark); border-radius: 2rem; color: var(--wp--preset--color--base); display: flex; flex-direction: column; gap: var(--wp--preset--spacing--4); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--12); text-align: left; }
.service-hero > * { margin-inline: 0 !important; }
.service-hero .wp-block-buttons { justify-content: flex-start !important; margin-top: var(--wp--preset--spacing--2) !important; }
.service-title { max-width: 32ch; text-align: left; }
.service-title__underline {
	-webkit-box-decoration-break: clone;
	border-bottom: 2px solid currentColor;
	box-decoration-break: clone;
	display: inline;
	padding-bottom: 0.2em;
}

.service-title__underline strong {
	-webkit-box-decoration-break: clone;
	border-bottom: 2px solid currentColor;
	box-decoration-break: clone;
	display: inline;
	padding-bottom: 0.2em;
}
.service-title strong { color: var(--wp--preset--color--accent); }
.service-hero__intro { color: var(--wp--preset--color--surface); font-size: var(--wp--preset--font-size--sm); max-width: 42rem; }
.service-hero__checks { display: grid; font-size: var(--wp--preset--font-size--sm); gap: var(--wp--preset--spacing--3); grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: var(--wp--preset--spacing--8) 0; padding: 0; }
.service-hero__checks li { padding-left: var(--wp--preset--spacing--6); position: relative; }
.service-hero__checks li::before {
	background: var(--wp--preset--color--accent);
	background-image: 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%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.7rem;
	border-radius: 50%;
	content: "";
	height: 1.1rem;
	left: 0;
	position: absolute;
	top: 0.15rem;
	width: 1.1rem;
}
.service-why { background-color: var(--wp--preset--color--muted); background-image: url("../images/cuentanos-tu-proyecto.png"); background-position: center; background-repeat: repeat; background-size: 653px 756px; padding-block: var(--wp--preset--spacing--12); }
.service-why > .service-section { max-width: 1630px; width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2))); }
.service-why__columns { gap: var(--wp--preset--spacing--12); }
.service-why__intro-col { max-width: 26rem; }
.service-why__intro-col .service-section__title,
.service-why__intro-col p { text-align: left; }
.service-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-feature { background: var(--wp--preset--color--base); }
.service-process-shell { background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--base); padding-block: var(--wp--preset--spacing--16); }
.service-process-shell .service-section__title { color: inherit; }
.service-process-shell .service-section__intro { color: var(--wp--preset--color--base); margin-bottom: var(--wp--preset--spacing--10) !important; }
.service-process-shell .service-section { margin-inline: auto; max-width: 1630px; width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2))); }
.service-process-grid { gap: var(--wp--preset--spacing--6) !important; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--wp--preset--spacing--10); }
.service-process-card { align-items: center; background: var(--wp--preset--color--light); border-radius: var(--wp--preset--border-radius--md); box-sizing: border-box; color: var(--wp--preset--color--primary); display: flex; flex-direction: column; justify-content: center; min-height: 11rem; padding: var(--wp--preset--spacing--8); text-align: center; }
.service-process-card h3 { color: var(--wp--preset--color--accent); margin: 0; }
.service-process-card h4 { margin: var(--wp--preset--spacing--2) 0 0; }
.service-assurances-section { margin-inline: auto; max-width: 1630px; padding-block: var(--wp--preset--spacing--12); width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2))); }
.service-assurances { grid-template-columns: 1fr; }
.service-assurance { border-radius: var(--wp--preset--border-radius--md); color: var(--wp--preset--color--base); min-height: 18rem; overflow: hidden; padding: var(--wp--preset--spacing--8); position: relative; }
.service-assurance--guarantee { background: var(--wp--preset--color--accent); }
.service-assurance--maintenance { background: var(--wp--preset--color--base-dark); }
.service-assurance h3 { margin: 0; }
.service-assurance p { font-size: var(--wp--preset--font-size--sm); margin-top: var(--wp--preset--spacing--4); }
.service-assurance .wp-block-buttons { margin-top: var(--wp--preset--spacing--6) !important; }
.service-assurance__body { margin-inline: 0 !important; max-width: 60%; padding-inline: 0 !important; position: relative; z-index: 1; }
.service-assurance .wp-block-button__link { border-color: currentColor; color: inherit; }
.service-assurance__art { bottom: 0; margin: 0; max-width: 58%; position: absolute; right: 0; top: 0; }
.service-assurance__art img { height: 100%; object-fit: contain; width: 100%; }
.service-other-services__links { grid-template-columns: 1fr; margin-top: var(--wp--preset--spacing--16) !important; }
.service-other-services__link { align-items: center; background: var(--wp--preset--color--base); border-radius: var(--wp--preset--border-radius--full); color: var(--wp--preset--color--primary); display: flex; font-size: var(--wp--preset--font-size--sm); font-weight: 700; gap: var(--wp--preset--spacing--3); min-height: 4.5rem; padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6); text-decoration: none; text-transform: uppercase; transition: background-color 0.2s ease, color 0.2s ease; }
.service-other-services__link:hover { background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--base); }
.service-other-services__link img { display: block; flex-shrink: 0; height: 2.25rem; width: 2.25rem; }
.service-contact { background: var(--wp--preset--color--base-dark); border-radius: var(--wp--preset--border-radius--md); color: var(--wp--preset--color--base); margin-block: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--12); }
.service-contact h2 { color: inherit; }
.service-contact p { max-width: 38rem; }

@media (min-width: 640px) {
	.services-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.services-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.services-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-offer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-process__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.service-assurances { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.service-other-services__links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 960px) {
	.services-offer { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.services-why__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.service-process-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
	.services-hero { border-radius: 0 0 var(--wp--preset--border-radius--md) var(--wp--preset--border-radius--md); }
	.service-hero { border-radius: var(--wp--preset--border-radius--md); padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--6); }
	.service-hero__checks, .service-feature-grid { grid-template-columns: 1fr; }
	.service-contact { border-radius: 0; width: 100%; }
}

/* ─── Contact and support pages ─────────────────────────────────────────── */

.contact-hero, .support-hero { background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--base); padding: var(--wp--preset--spacing--20) var(--theme-container-padding-x); text-align: center; }
.contact-title, .support-title { font-family: var(--wp--preset--font-family--moga); font-weight: 400; line-height: .94; margin: 0; text-transform: uppercase; }
.contact-title strong, .support-title strong { color: var(--wp--preset--color--accent); }
.contact-intro, .support-intro { font-size: var(--wp--preset--font-size--md); margin: var(--wp--preset--spacing--6) auto 0; max-width: 42rem; }
.contact-layout, .support-options { display: grid; gap: var(--wp--preset--spacing--8); padding-block: var(--wp--preset--spacing--20); }
.contact-info, .contact-form, .support-option, .support-form { border-radius: var(--wp--preset--border-radius--md); padding: var(--wp--preset--spacing--8); }
.contact-info, .support-option { background: var(--wp--preset--color--light); }
.contact-form, .support-form { border: 1px solid var(--wp--preset--color--border); }
.contact-info h2, .contact-info h3, .contact-form h2, .support-option h2, .support-form h2 { font-family: var(--wp--preset--font-family--moga); font-weight: 400; line-height: 1; margin-top: 0; text-transform: uppercase; }
.contact-info h3 { color: var(--wp--preset--color--accent); margin-top: var(--wp--preset--spacing--8); }
.support-option--account { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }
.support-option--account .wp-block-button__link { background: var(--wp--preset--color--base-dark); }

.support-option--account .wp-block-button__link:hover { background: var(--wp--preset--color--dark); }
.support-form-shell { background: var(--wp--preset--color--light); padding-block: var(--wp--preset--spacing--20); }
.support-form { background: var(--wp--preset--color--base); }
@media (min-width: 760px) { .contact-layout, .support-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Typography: Paragraph 1 / Paragraph 2 */
.has-paragraph-1-font-size { font-family: var(--wp--preset--font-family--inter); font-weight: 400; line-height: 27.9px; }
.has-paragraph-2-font-size { font-family: var(--wp--preset--font-family--inter); font-weight: 400; line-height: 17px; }

/* Confetti decorative background */
.dots-bg {
	background-image: url("../images/todo-lo-que-podemos-hacer-por-ti.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.confetti-bg {
	background-color: var(--wp--preset--color--surface);
	background-image: url("../images/todo-lo-que-podemos-hacer-por-ti.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 20rem;
}

/* Confían en nosotros: infinite logo marquee */
.trust-marquee-section {
	padding-block: var(--wp--preset--spacing--24);
	text-align: center;
}

.trust-marquee-section .home-section-heading {
	margin-bottom: var(--wp--preset--spacing--8);
}

.trust-marquee {
	--trust-marquee-fade: 8rem;
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 var(--trust-marquee-fade),
		#000 calc(100% - var(--trust-marquee-fade)),
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 var(--trust-marquee-fade),
		#000 calc(100% - var(--trust-marquee-fade)),
		transparent 100%
	);
	overflow: hidden;
	width: 100%;
}

.trust-marquee__track {
	align-items: center;
	animation: trust-marquee-scroll 32s linear infinite;
	display: flex;
	gap: var(--wp--preset--spacing--16);
	width: max-content;
}

.trust-marquee__logo {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: 2.5rem;
	margin: 0;
}

.trust-marquee__logo img {
	height: 100%;
	object-fit: contain;
	width: auto;
}

@keyframes trust-marquee-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.trust-marquee__track {
		animation: none;
	}
}

/* Cuéntanos tu proyecto: contact section */
.project-contact {
	background-color: var(--wp--preset--color--base-dark);
	background-image: url("../images/cuentanos-tu-proyecto.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--wp--preset--color--base);
	padding-block: var(--wp--preset--spacing--20);
	padding-inline: var(--theme-container-padding-x);
}

.project-contact .wp-block-columns {
	gap: var(--wp--preset--spacing--16);
	max-width: 1630px;
}

.project-contact__title {
	margin: 0 0 var(--wp--preset--spacing--4);
	text-align: left;
}

.project-contact__intro {
	color: var(--wp--preset--color--surface);
	margin: 0 0 var(--wp--preset--spacing--6);
}

.project-contact__checklist {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.project-contact__checklist li {
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--sm);
	padding-left: var(--wp--preset--spacing--6);
	position: relative;
}

.project-contact__checklist li::before {
	background: var(--wp--preset--color--accent);
	background-image: 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%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.75rem;
	border-radius: 50%;
	content: "";
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: 0.1rem;
	width: 1.25rem;
}

.project-contact .gform_wrapper {
	max-width: 620px;
	width: 100%;
}

.project-contact .gform_fields {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.project-contact .gfield--width-full,
.project-contact fieldset.gfield {
	grid-column: 1 / -1;
}

.project-contact .gfield_label,
.project-contact .gform-field-label {
	color: var(--wp--preset--color--surface);
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	margin-bottom: var(--wp--preset--spacing--1);
}

.project-contact .ginput_container input,
.project-contact .ginput_container textarea {
	background: var(--wp--preset--color--base);
	border: none;
	border-radius: var(--wp--preset--border-radius--sm);
	box-sizing: border-box;
	color: var(--wp--preset--color--base-dark);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--sm);
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	width: 100%;
}

.project-contact .ginput_container textarea {
	min-height: 8rem;
	resize: vertical;
}

.project-contact .gfield--type-consent .ginput_container {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--2);
}

.project-contact .gfield--type-consent input[type="checkbox"] {
	accent-color: var(--wp--preset--color--accent);
	height: 1.1rem;
	width: 1.1rem;
}

.project-contact .gfield_consent_label,
.project-contact .gfield--type-consent legend {
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--sm);
}

.project-contact .gfield--type-consent legend {
	margin-bottom: var(--wp--preset--spacing--1);
}

.project-contact .gform_footer {
	margin-top: var(--wp--preset--spacing--2);
}

.project-contact .gform_button {
	background: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 20px;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.72px;
	line-height: 18px;
	padding: 10px 15px;
	text-transform: uppercase;
}

.project-contact .gform_validation_errors,
.project-contact .validation_message {
	color: #ffb4b4;
}

/* Cuéntanos tu proyecto (tarjeta compacta) */
.contact-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--surface);
	border-radius: 20px;
	margin-block: var(--wp--preset--spacing--12) !important;
	margin-inline: auto !important;
	max-width: 1630px;
	overflow: hidden;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: min(1630px, calc(100% - (var(--theme-container-padding-x) * 2)));
}

.contact-card__columns {
	align-items: stretch !important;
	gap: 0 !important;
}

.contact-card__columns > .contact-card__intro,
.contact-card__columns > .contact-card__form {
	align-self: stretch;
}

.contact-card__intro,
.contact-card__form {
	--gf-ctrl-border-color: transparent;
	--gf-color-in-ctrl-light: transparent;
	padding: var(--wp--preset--spacing--10) !important;
}

.contact-card .has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.contact-card__intro {
	background:
		radial-gradient(circle at 80% 20%, rgba(88, 93, 211, 0.35), transparent 16rem),
		var(--wp--preset--color--base-dark);
	border-bottom-left-radius: 20px;
	border-top-left-radius: 20px;
	color: var(--wp--preset--color--base);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contact-card__title {
	margin: 0 0 var(--wp--preset--spacing--4);
	text-align: left;
}

.contact-card__intro > p {
	color: var(--wp--preset--color--surface);
	margin: 0 0 var(--wp--preset--spacing--6);
}

.contact-card__checklist {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-card__checklist li {
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--sm);
	padding-left: var(--wp--preset--spacing--6);
	position: relative;
}

.contact-card__checklist li::before {
	background: var(--wp--preset--color--accent);
	background-image: 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%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.7rem;
	border-radius: 50%;
	content: "";
	height: 1.1rem;
	left: 0;
	position: absolute;
	top: 0.15rem;
	width: 1.1rem;
}

.contact-card__form .gform_fields {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-card__form .gfield--width-full,
.contact-card__form fieldset.gfield {
	grid-column: 1 / -1;
}

.contact-card__form .gfield {
	background: var(--wp--preset--color--base) !important;
	border: 1.5px solid var(--wp--preset--color--accent) !important;
	border-radius: var(--wp--preset--border-radius--md) !important;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4) !important;
}

.contact-card__form .gfield_label,
.contact-card__form .gform-field-label {
	color: var(--wp--preset--color--accent) !important;
	display: block;
	font-size: var(--wp--preset--font-size--xs) !important;
	margin-bottom: 0 !important;
}

.contact-card__form .ginput_container,
.contact-card__form .ginput_container_text,
.contact-card__form .ginput_container_email,
.contact-card__form .ginput_container_phone,
.contact-card__form .ginput_container_textarea,
.contact-card__form .ginput_container_select,
.contact-card__form .ginput_container_consent {
	background: transparent !important;
	border: 0 none !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	border-width: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.contact-card__form .ginput_container input:not([type="checkbox"]):not([type="radio"]),
.contact-card__form .ginput_container textarea,
.contact-card__form .ginput_container select,
.contact-card__form .ginput_container input[type="text"],
.contact-card__form .ginput_container input[type="email"],
.contact-card__form .ginput_container input[type="tel"] {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 none !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	border-width: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
	color: var(--wp--preset--color--base-dark) !important;
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--sm);
	outline: none !important;
	padding: 0 !important;
	width: 100%;
}

.contact-card__form .ginput_container select {
	cursor: pointer;
}

.contact-card__form .ginput_container input:focus,
.contact-card__form .ginput_container textarea:focus {
	border: 0 none !important;
	box-shadow: none !important;
	outline: none !important;
}

.contact-card__form .ginput_container textarea {
	min-height: 5rem;
	resize: vertical;
}

.contact-card__form .gfield--type-consent .ginput_container {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--2);
}

.contact-card__form .gfield--type-consent input[type="checkbox"] {
	accent-color: var(--wp--preset--color--accent);
	appearance: none;
	-webkit-appearance: none;
	background: var(--wp--preset--color--base);
	border: 1.5px solid var(--wp--preset--color--accent) !important;
	border-radius: 4px;
	cursor: pointer;
	flex-shrink: 0;
	height: 1.1rem;
	margin: 0;
	width: 1.1rem;
}

.contact-card__form .gfield--type-consent input[type="checkbox"]:checked {
	background: var(--wp--preset--color--accent);
	background-image: 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%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.75rem;
}

.contact-card__form .gfield_consent_label,
.contact-card__form .gfield--type-consent legend {
	color: var(--wp--preset--color--base-dark);
	font-size: var(--wp--preset--font-size--sm);
}

.contact-card__form .gfield_consent_label a {
	color: var(--wp--preset--color--accent);
	font-weight: 700;
}

.contact-card__form .gfield_checkbox {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--2);
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.contact-card__form .gchoice {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--2);
	width: 100%;
}

.contact-card__form .gchoice .gform-field-label--type-inline {
	flex: 1 1 auto;
	width: auto;
}

.contact-card__form .gfield-choice-input {
	accent-color: var(--wp--preset--color--accent);
	appearance: none;
	-webkit-appearance: none;
	background: var(--wp--preset--color--base);
	border: 1.5px solid var(--wp--preset--color--accent) !important;
	border-radius: 4px;
	cursor: pointer;
	flex-shrink: 0;
	height: 1.1rem;
	margin: 0;
	width: 1.1rem;
}

.contact-card__form .gfield-choice-input:checked {
	background: var(--wp--preset--color--accent);
	background-image: 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%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.75rem;
}

.contact-card__form .gchoice label {
	color: var(--wp--preset--color--base-dark);
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
}

.contact-card__form .gchoice label a {
	color: var(--wp--preset--color--accent);
	font-weight: 700;
}

.contact-card__form .gform_footer {
	margin-top: var(--wp--preset--spacing--2);
}

.contact-card__form .gform_button {
	background: var(--wp--preset--color--surface) !important;
	border: none !important;
	border-radius: 20px !important;
	color: var(--wp--preset--color--base-dark) !important;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.72px !important;
	line-height: 18px !important;
	padding: 10px 15px !important;
	text-transform: uppercase !important;
}

@media (max-width: 781px) {
	.contact-card__intro,
	.contact-card__form {
		padding: var(--wp--preset--spacing--6) !important;
	}
}

/* Dark variant: full-width band sharing the intro panel's dark gradient background. */
.contact-card--dark {
	background:
		radial-gradient(circle at 80% 20%, rgba(88, 93, 211, 0.35), transparent 16rem),
		var(--wp--preset--color--base-dark);
	border: none;
	border-radius: 0;
	margin-block: 0 !important;
	max-width: none;
	padding-block: var(--wp--preset--spacing--16);
	width: 100%;
}

.contact-card--dark.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Force full viewport bleed even nested inside post_content's own content-width box. */
.contact-card--dark.alignfull {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 100vw !important;
	width: 100vw !important;
}

.contact-card--dark .contact-card__intro {
	background: transparent;
	border-radius: 0;
}

.contact-card--dark .contact-card__form .gfield {
	background: rgba(255, 255, 255, 0.05) !important;
	border-color: rgba(255, 255, 255, 0.3) !important;
}

.contact-card--dark .contact-card__form .gfield_label,
.contact-card--dark .contact-card__form .gform-field-label {
	color: var(--wp--preset--color--surface) !important;
}

.contact-card--dark .contact-card__form .ginput_container input,
.contact-card--dark .contact-card__form .ginput_container textarea,
.contact-card--dark .contact-card__form .ginput_container select {
	color: var(--wp--preset--color--base) !important;
}

.contact-card--dark .contact-card__form .ginput_container select option {
	color: var(--wp--preset--color--base-dark);
}

.contact-card--dark .contact-card__form .gfield--type-consent input[type="checkbox"] {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

.contact-card--dark .contact-card__form .gfield_consent_label,
.contact-card--dark .contact-card__form .gfield--type-consent legend {
	color: var(--wp--preset--color--base);
}

.contact-card--dark .contact-card__form .gfield_consent_label a {
	color: var(--wp--preset--color--surface);
}

.contact-card--dark .contact-card__form .gfield-choice-input {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

.contact-card--dark .contact-card__form .gchoice label {
	color: var(--wp--preset--color--base);
}

.contact-card--dark .contact-card__form .gchoice label a {
	color: var(--wp--preset--color--surface);
}

.contact-card--dark .contact-card__form .gform_button {
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--base) !important;
}

/* ─── Documentation process steps ────────────────────────────────────────── */

.doc-steps {
	padding-block: var(--wp--preset--spacing--16);
}

.doc-steps__grid {
	align-items: stretch;
	gap: var(--wp--preset--spacing--4);
	width: 100%;
}

.doc-step {
	border-radius: var(--wp--preset--border-radius--lg);
	flex: 1 1 0;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--6);
	text-align: center;
}

.doc-step--dark {
	background: var(--wp--preset--color--base-dark);
	color: var(--wp--preset--color--base);
}

.doc-step--light {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--base-dark);
}

.doc-step--accent {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.doc-step__badge {
	background: rgba(255, 255, 255, 0.15);
	border-radius: var(--wp--preset--border-radius--md);
	color: inherit;
	display: inline-block;
	margin: 0 0 var(--wp--preset--spacing--3);
	padding: 0.25em 0.75em;
}

.doc-step--light .doc-step__badge {
	background: rgba(22, 22, 74, 0.1);
}

.doc-step__title {
	color: inherit;
	margin: 0 0 var(--wp--preset--spacing--2);
}

.doc-step__description {
	color: inherit;
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
	opacity: 0.85;
}

.doc-step__cta {
	margin: var(--wp--preset--spacing--4) 0 0;
}

.doc-step__cta a {
	color: inherit;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: uppercase;
}

.doc-steps__arrow {
	align-self: center;
	color: var(--wp--preset--color--secondary);
	flex: 0 0 auto;
	font-size: var(--wp--preset--font-size--lg);
	margin: 0;
}

@media (max-width: 781px) {
	.doc-steps__grid {
		flex-direction: column;
	}

	.doc-steps__arrow {
		transform: rotate(90deg);
	}
}

/* ─── Documentation by product ───────────────────────────────────────────── */

.doc-products {
	padding-block: var(--wp--preset--spacing--16);
}

.doc-products__heading {
	color: var(--wp--preset--color--primary);
	margin: 0 0 var(--wp--preset--spacing--8);
	text-align: left;
}

.doc-products__heading strong {
	color: var(--wp--preset--color--accent);
}

.doc-products__grid {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: 1fr;
}

.doc-product-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	padding: var(--wp--preset--spacing--6);
}

.doc-product-card__header {
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	margin-bottom: var(--wp--preset--spacing--3);
}

.doc-product-card__icon {
	align-items: center;
	background: var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--sm);
	color: var(--wp--preset--color--base);
	display: flex;
	flex-shrink: 0;
	height: 2.25rem;
	justify-content: center;
	width: 2.25rem;
}

.doc-product-card__icon svg {
	height: 1.1rem;
	width: 1.1rem;
}

.doc-product-card__title {
	color: var(--wp--preset--color--accent);
	margin: 0;
}

.doc-product-card__category {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--xs);
	margin: 0 0 var(--wp--preset--spacing--3);
	text-transform: uppercase;
}

.doc-product-card__description {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
}

.doc-product-card__footer {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--6);
	padding-top: var(--wp--preset--spacing--4);
}

.doc-product-card__count {
	align-items: center;
	color: var(--wp--preset--color--secondary);
	display: flex;
	font-size: var(--wp--preset--font-size--xs);
	gap: var(--wp--preset--spacing--1);
	margin: 0;
	text-transform: uppercase;
}

.doc-product-card__count svg {
	height: 0.85rem;
	width: 0.85rem;
}

.doc-product-card__link {
	margin: 0;
}

.doc-product-card__link a {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: uppercase;
}

.doc-products__cta {
	margin-block-start: var(--wp--preset--spacing--12) !important;
	margin-top: var(--wp--preset--spacing--12) !important;
}

.doc-products__cta .is-style-outline .wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease;
}

.doc-products__cta .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

@media (min-width: 1024px) {
	.doc-products__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ─── Support CTA band ───────────────────────────────────────────────────── */

.doc-support {
	background: var(--wp--preset--color--surface);
	padding-block: var(--wp--preset--spacing--10);
}

.doc-support.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Force full viewport bleed even nested inside post_content's own content-width box. */
.doc-support.alignfull {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 100vw !important;
	width: 100vw !important;
}

.doc-support__row {
	align-items: center;
	gap: var(--wp--preset--spacing--6);
}

.doc-support__intro {
	flex: 1 1 20rem;
}

.doc-support__title {
	color: var(--wp--preset--color--primary);
	margin: 0;
	text-align: left;
}

.doc-support__description {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--sm);
	margin: var(--wp--preset--spacing--2) 0 0;
}

.doc-support__actions {
	flex-wrap: wrap;
	flex-shrink: 0;
	gap: var(--wp--preset--spacing--3);
}

.doc-support__actions .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.doc-support__actions .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--wp--preset--color--dark);
}

.doc-support__actions .is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.doc-support__actions .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* ─── Integraciones page ──────────────────────────────────────────────────── */

.hero-integraciones .home-hero {
	min-height: auto;
}

.integrations-connectors,
.integrations-process,
.integrations-cases {
	padding-block: var(--wp--preset--spacing--20);
}

.integrations-connectors__intro,
.integrations-process__intro,
.integrations-cases__intro {
	color: var(--wp--preset--color--secondary);
	margin-inline: auto;
	max-width: 42rem;
	text-align: center;
}

.integrations-connectors__grid .wc-block-product-template {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.integrations-connectors__grid .wc-block-product-template > li {
	align-items: stretch;
	display: flex;
	max-width: none;
	width: 100%;
}

.integrations-connector {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.25rem;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.integrations-connector__art {
	background: var(--wp--preset--color--light);
	flex-shrink: 0;
	overflow: hidden;
	width: 100%;
}

.integrations-connector__art a {
	display: block;
	height: 100%;
	width: 100%;
}

.integrations-connector__art img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto !important;
	object-fit: cover !important;
	width: 100% !important;
}

.integrations-connector__footer {
	align-items: center;
	background: var(--wp--preset--color--primary);
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
}

.integrations-connector__title {
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
	text-transform: uppercase;
}

.integrations-connector__cta .wp-block-button__link {
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--xs);
	text-decoration: none;
	white-space: nowrap;
}

.integrations-connectors__all-wrap .wp-block-button__link {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.integrations-connectors__all-wrap .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.integrations-apps {
	background: var(--wp--preset--color--surface);
	padding-block: var(--wp--preset--spacing--20);
}

.integrations-apps .home-section-heading {
	text-align: center;
}

.integrations-apps__filters {
	margin-block: var(--wp--preset--spacing--6);
}

.integrations-apps__filter {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--preset--border-radius--full, 999px);
	color: var(--wp--preset--color--primary);
	cursor: pointer;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	margin: 0;
	padding: 0.4rem 1rem;
	text-transform: uppercase;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.integrations-apps__filter.is-active,
.integrations-apps__filter:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.integrations-apps__grid {
	gap: var(--wp--preset--spacing--4);
	justify-content: center;
}

.integrations-apps__item {
	background: var(--wp--preset--color--base);
	border: 1px solid rgba(22, 22, 74, 0.15);
	border-radius: var(--wp--preset--border-radius--md, 12px);
	flex: 1 1 160px;
	max-width: 220px;
	padding: var(--wp--preset--spacing--4);
	text-align: center;
}

.integrations-apps__item[hidden] {
	display: none;
}

.integrations-apps__name {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--moga);
	font-size: var(--wp--preset--font-size--md);
	margin: 0;
	text-transform: uppercase;
}

.integrations-apps__type {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.04em;
	margin: 0;
	text-transform: uppercase;
}

.integrations-apps__cta {
	background: var(--wp--preset--color--base);
	border-radius: 1rem;
	margin-top: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--8);
	text-align: center;
}

.integrations-apps__cta-title {
	margin: 0 0 var(--wp--preset--spacing--4);
}

.integrations-apps__cta .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.integrations-process__grid {
	gap: var(--wp--preset--spacing--6);
	margin-top: var(--wp--preset--spacing--8);
}

.integrations-process__step {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1rem;
	padding: var(--wp--preset--spacing--6);
}

.integrations-process__step-number {
	align-items: center;
	background: var(--wp--preset--color--primary);
	border-radius: 0.5rem;
	color: var(--wp--preset--color--base);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--moga);
	font-size: var(--wp--preset--font-size--sm);
	height: 2.25rem;
	justify-content: center;
	margin-bottom: var(--wp--preset--spacing--4);
	width: 2.25rem;
}

.integrations-process__step h3 {
	margin: 0 0 var(--wp--preset--spacing--2);
}

.integrations-process__step p:not(.integrations-process__step-number) {
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.integrations-cases {
	background: var(--wp--preset--color--surface);
}

.integrations-cases__grid {
	gap: var(--wp--preset--spacing--6);
	margin-top: var(--wp--preset--spacing--8);
}

.integrations-cases__card {
	background: var(--wp--preset--color--base);
	border-radius: 1rem;
	height: 100%;
	padding: var(--wp--preset--spacing--6);
}

.integrations-cases__badge {
	background: var(--wp--preset--color--primary);
	border-radius: var(--wp--preset--border-radius--full, 999px);
	color: var(--wp--preset--color--base);
	display: inline-block;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	margin: 0 0 var(--wp--preset--spacing--4);
	padding: 0.3rem 0.9rem;
	text-transform: uppercase;
}

.integrations-cases__title {
	margin: 0 0 var(--wp--preset--spacing--2);
}

.integrations-cases__text {
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

@media screen and (max-width: 781px) {
	.integrations-connectors__grid .wc-block-product-template,
	.integrations-process__grid,
	.integrations-cases__grid {
		grid-template-columns: 1fr;
	}
}
