.cm-container {
	width: min(100% - 2rem, var(--cm-container));
	margin-inline: auto;
}

.site.grid-container {
	width: min(100% - 2rem, var(--cm-container));
	max-width: var(--cm-container);
	margin: 2rem auto;
}

.cm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 48px;
	padding: 0.75rem 1.15rem;
	border: 1px solid transparent;
	border-radius: var(--cm-radius-pill);
	font-family: var(--cm-font-heading);
	font-size: 0.925rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition:
		transform var(--cm-transition),
		background-color var(--cm-transition),
		border-color var(--cm-transition),
		color var(--cm-transition),
		box-shadow var(--cm-transition);
}

.cm-button:hover,
.cm-button:focus-visible {
	transform: translateY(-1px);
	text-decoration: none;
}

.cm-button--primary {
	background: var(--cm-color-accent);
	color: var(--cm-color-primary-900);
	box-shadow: 0 8px 20px rgba(247, 168, 27, 0.22);
}

.cm-button--primary:hover,
.cm-button--primary:focus-visible {
	background: var(--cm-color-accent-hover);
	color: var(--cm-color-white);
}

.cm-button--whatsapp {
	background: var(--cm-color-whatsapp);
	color: #0b3d1c;
}

.cm-button--outline-light {
	border-color: rgba(255, 255, 255, 0.72);
	background: rgba(8, 37, 74, 0.26);
	color: var(--cm-color-white);
	backdrop-filter: blur(8px);
}

.cm-button--outline-light:hover,
.cm-button--outline-light:focus-visible {
	border-color: var(--cm-color-white);
	background: rgba(255, 255, 255, 0.12);
	color: var(--cm-color-white);
}

.cm-button--full {
	width: 100%;
}
