/*
Theme Name: Astraz Aesthetic Theme
Theme URI: https://astrazstudio.com.br/astraz-aesthetic-theme
Author: Astraz Studio
Author URI: https://astrazstudio.com.br
Description: Tema exclusivo, proprietario e de alta performance para a Astraz Aesthetic Clinic. Arquitetura orientada a neuromarketing de luxo, hierarquia visual em Z-Pattern, divulgacao progressiva via AJAX nativo e icones SVG inline. Sem dependencia de page builders ou bibliotecas de terceiros.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astraz-aesthetic
Tags: clinica, estetica, dermatologia, luxo, woocommerce, acessibilidade

Astraz Aesthetic Theme e distribuido sob os termos da GNU GPL v2 ou posterior.
*/

/* -------------------------------------------------------------------------
 * 1. Tokens de design — Manual de neuromarketing e psicologia das cores
 * ---------------------------------------------------------------------- */

:root {
	/* Paleta cromatica */
	--astraz-nude-escuro: #2d1e1e;
	--astraz-nude-escuro-90: rgba( 45, 30, 30, 0.9 );
	--astraz-terracota: #c39b8b;
	--astraz-terracota-suave: #e6d3c9;
	--astraz-terracota-veu: rgba( 195, 155, 139, 0.16 );
	--astraz-dourado: #d4b26f;
	--astraz-dourado-claro: #e4cb9a;
	--astraz-dourado-escuro: #b08f4f;
	--astraz-offwhite: #faf8f5;
	--astraz-offwhite-2: #f2ede7;
	--astraz-branco: #ffffff;
	--astraz-grafite: #1f1f1f;
	--astraz-grafite-70: #4a4441;
	--astraz-grafite-45: #7a716c;
	--astraz-linha: rgba( 45, 30, 30, 0.12 );
	--astraz-linha-clara: rgba( 250, 248, 245, 0.18 );

	/* Tipografia */
	--astraz-fonte-display: "Cormorant Garamond", "Times New Roman", Georgia, serif;
	--astraz-fonte-texto: "Jost", "Helvetica Neue", Arial, sans-serif;
	--astraz-passo-0: clamp( 1rem, 0.96rem + 0.2vw, 1.0625rem );
	--astraz-passo-1: clamp( 1.125rem, 1.06rem + 0.32vw, 1.25rem );
	--astraz-passo-2: clamp( 1.35rem, 1.22rem + 0.65vw, 1.75rem );
	--astraz-passo-3: clamp( 1.7rem, 1.44rem + 1.3vw, 2.5rem );
	--astraz-passo-4: clamp( 2.1rem, 1.6rem + 2.5vw, 3.5rem );
	--astraz-passo-5: clamp( 2.6rem, 1.7rem + 4.5vw, 5rem );
	--astraz-entrelinha: 1.7;
	--astraz-tracking-largo: 0.22em;

	/* Ritmo e espacamento */
	--astraz-espaco-3xs: 0.25rem;
	--astraz-espaco-2xs: 0.5rem;
	--astraz-espaco-xs: 0.75rem;
	--astraz-espaco-sm: 1rem;
	--astraz-espaco-md: 1.5rem;
	--astraz-espaco-lg: 2.5rem;
	--astraz-espaco-xl: 4rem;
	--astraz-espaco-2xl: 6rem;
	--astraz-espaco-3xl: clamp( 4.5rem, 3rem + 6vw, 9rem );

	/* Estrutura */
	--astraz-largura-conteudo: 1240px;
	--astraz-largura-texto: 68ch;
	--astraz-raio: 2px;
	--astraz-raio-card: 4px;
	--astraz-borda-card: 1px solid var( --astraz-linha );

	/* Profundidade e movimento */
	--astraz-sombra-sutil: 0 1px 2px rgba( 45, 30, 30, 0.04 ), 0 8px 24px rgba( 45, 30, 30, 0.05 );
	--astraz-sombra-card: 0 2px 6px rgba( 45, 30, 30, 0.05 ), 0 18px 44px rgba( 45, 30, 30, 0.08 );
	--astraz-sombra-dourada: 0 6px 18px rgba( 212, 178, 111, 0.32 ), 0 14px 40px rgba( 212, 178, 111, 0.22 );
	--astraz-transicao: 320ms cubic-bezier( 0.22, 0.61, 0.36, 1 );
	--astraz-transicao-lenta: 620ms cubic-bezier( 0.22, 0.61, 0.36, 1 );

	/* Camadas */
	--astraz-z-header: 900;
	--astraz-z-drawer: 950;
	--astraz-z-modal: 1000;
}

/* -------------------------------------------------------------------------
 * 2. Reset progressivo
 * ---------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 7rem;
}

body {
	margin: 0;
	background-color: var( --astraz-offwhite );
	color: var( --astraz-grafite );
	font-family: var( --astraz-fonte-texto );
	font-size: var( --astraz-passo-0 );
	line-height: var( --astraz-entrelinha );
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.astraz-sem-rolagem {
	overflow: hidden;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 var( --astraz-espaco-sm );
	font-family: var( --astraz-fonte-display );
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -0.01em;
	color: var( --astraz-nude-escuro );
}

h1 {
	font-size: var( --astraz-passo-5 );
}

h2 {
	font-size: var( --astraz-passo-4 );
}

h3 {
	font-size: var( --astraz-passo-2 );
}

h4 {
	font-size: var( --astraz-passo-1 );
}

p {
	margin: 0 0 var( --astraz-espaco-sm );
	max-width: var( --astraz-largura-texto );
}

a {
	color: var( --astraz-nude-escuro );
	text-decoration-color: var( --astraz-terracota );
	text-underline-offset: 0.28em;
	transition: color var( --astraz-transicao );
}

a:hover,
a:focus-visible {
	color: var( --astraz-dourado-escuro );
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
	display: block;
}

ul,
ol {
	padding-left: 1.15rem;
}

figure {
	margin: 0;
}

button {
	font: inherit;
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var( --astraz-dourado-escuro );
	outline-offset: 3px;
	border-radius: var( --astraz-raio );
}

::selection {
	background-color: var( --astraz-dourado );
	color: var( --astraz-nude-escuro );
}

/* -------------------------------------------------------------------------
 * 3. Acessibilidade
 * ---------------------------------------------------------------------- */

.astraz-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}

.astraz-pular-conteudo {
	position: absolute;
	top: -100px;
	left: var( --astraz-espaco-sm );
	z-index: 1200;
	padding: var( --astraz-espaco-xs ) var( --astraz-espaco-md );
	background-color: var( --astraz-nude-escuro );
	color: var( --astraz-offwhite );
	transition: top var( --astraz-transicao );
}

.astraz-pular-conteudo:focus {
	top: var( --astraz-espaco-sm );
	color: var( --astraz-dourado-claro );
}

@media ( prefers-reduced-motion: reduce ) {

	html {
		scroll-behavior: auto;
	}

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