/*
Theme Name: Contabilidade Magalhães
Theme URI: https://magalhaescontabilidade.com.br/
Author: Contabilidade Magalhães
Author URI: https://magalhaescontabilidade.com.br/
Description: Tema de blocos leve e acessivel para a Contabilidade Magalhães.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: contabilidade-magalhaes
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, accessibility-ready, blog
*/

:root {
	--cm-radius-sm: 0.5rem;
	--cm-radius-md: 0.875rem;
	--cm-radius-lg: 1.5rem;
	--cm-shadow: 0 16px 40px rgba(2, 19, 37, 0.09);
	--cm-transition: 180ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

a {
	text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid #FFE695;
	outline-offset: 3px;
}

.skip-link {
	position: fixed;
	left: 1rem;
	top: 1rem;
	z-index: 99999;
	padding: 0.75rem 1rem;
	background: #FFFFFF;
	color: #021325;
	border-radius: var(--cm-radius-sm);
	transform: translateY(-180%);
	transition: transform var(--cm-transition);
}

.skip-link:focus {
	transform: translateY(0);
}

.cm-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(12px);
}

.admin-bar .cm-site-header {
	top: 32px;
}

.cm-site-header .wp-block-site-title a,
.cm-site-header .wp-block-navigation-item__content {
	text-decoration: none;
}

.cm-site-header .wp-block-navigation-item__content:hover {
	color: #FFE695;
}

.cm-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.cm-hero::before,
.cm-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	filter: blur(1px);
	pointer-events: none;
}

.cm-hero::before {
	width: 30rem;
	height: 30rem;
	right: -12rem;
	top: -14rem;
	background: rgba(165, 123, 48, 0.18);
}

.cm-hero::after {
	width: 16rem;
	height: 16rem;
	left: 46%;
	bottom: -10rem;
	background: rgba(255, 230, 149, 0.09);
}

.cm-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.cm-eyebrow::before {
	content: "";
	width: 2rem;
	height: 2px;
	background: currentColor;
}

.cm-card {
	height: 100%;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	border: 1px solid rgba(7, 35, 72, 0.12);
	border-radius: var(--cm-radius-md);
	background: #FFFFFF;
	box-shadow: 0 8px 28px rgba(2, 19, 37, 0.04);
	transition: transform var(--cm-transition), box-shadow var(--cm-transition), border-color var(--cm-transition);
}

.cm-card:hover {
	transform: translateY(-3px);
	border-color: rgba(165, 123, 48, 0.45);
	box-shadow: var(--cm-shadow);
}

.cm-card h3,
.cm-card h4 {
	margin-top: 0;
}

.cm-icon-number {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: #FFE695;
	color: #021325;
	font-weight: 800;
}

.cm-stat {
	padding: 1rem 1.25rem;
	border-left: 3px solid #A57B30;
	background: rgba(255, 255, 255, 0.06);
}

.cm-section-dark {
	color: #FFFFFF;
}

.cm-section-dark h1,
.cm-section-dark h2,
.cm-section-dark h3,
.cm-section-dark h4,
.cm-section-dark a:not(.wp-element-button) {
	color: #FFFFFF;
}

.cm-section-dark .cm-eyebrow,
.cm-section-dark .has-gold-color {
	color: #FFE695 !important;
}

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

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

.cm-process-step {
	position: relative;
	padding-left: 4rem;
	min-height: 3rem;
}

.cm-process-step .cm-icon-number {
	position: absolute;
	left: 0;
	top: 0;
}

.cm-faq details {
	border-bottom: 1px solid rgba(7, 35, 72, 0.16);
	padding: 1rem 0;
}

.cm-faq summary {
	cursor: pointer;
	font-weight: 700;
	color: #072348;
}

.cm-faq details[open] summary {
	margin-bottom: 0.75rem;
}

.cm-contact-panel {
	border-radius: var(--cm-radius-lg);
	box-shadow: var(--cm-shadow);
}

.cm-meta {
	font-size: 0.9rem;
	color: #5D6875;
}

.cm-post-card {
	overflow: hidden;
	border: 1px solid rgba(7, 35, 72, 0.12);
	border-radius: var(--cm-radius-md);
	background: #FFFFFF;
}

.cm-post-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.cm-post-card > *:not(.wp-block-post-featured-image) {
	margin-left: 1.25rem;
	margin-right: 1.25rem;
}

.cm-post-card > *:last-child {
	margin-bottom: 1.25rem;
}

.wp-block-button__link {
	transition: transform var(--cm-transition), box-shadow var(--cm-transition), background-color var(--cm-transition);
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(2, 19, 37, 0.16);
}

.is-style-outline .wp-block-button__link:hover {
	background: #FFE695;
	color: #021325;
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 2rem;
	background: #021325;
	color: #FFFFFF;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: #FFFFFF;
	font-size: 1.15rem;
}


.cm-site-footer ul {
	list-style: none;
	padding-left: 0;
}

.cm-site-footer li {
	margin-bottom: 0.45rem;
}

.cm-site-footer a {
	color: #FFFFFF;
}

.cm-site-footer a:hover {
	color: #FFE695;
}

@media (max-width: 900px) {
	.cm-header-cta {
		display: none;
	}
}

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

	.cm-hero {
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}

	.cm-process-step {
		padding-left: 3.5rem;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
	}
}
