/*
Theme Name: Juliana Advogada Theme
Theme URI: https://julianaaraujoadvogada.com
Author: Juliana Araujo
Description: Tema custom para o portfólio pessoal de Juliana Araujo (julianaaraujoadvogada.com). Editorial, mobile-first, totalmente editável via ACF.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: juliana-advogada
*/

:root {
	--color-navy: #010423;
	--color-gold: #BC943F;
	--color-white: #FFFFFF;
	--color-offwhite: #F7F5F0;

	--font-serif-formal: 'Bookman Old Style', 'Bookman', 'Lora', Georgia, serif;
	--font-serif-display: 'Fraunces', 'Playfair Display', Georgia, serif;

	--container-max: 1200px;
	--space-section: clamp(48px, 8vw, 120px);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--color-white);
	color: var(--color-navy);
	font-family: var(--font-serif-formal);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

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

h1, h2, h3, h4 {
	font-family: var(--font-serif-display);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 0.5em;
}

a {
	color: inherit;
	text-decoration: none;
}

.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 24px;
}

.section {
	padding: var(--space-section) 0;
}

.section--offwhite {
	background: var(--color-offwhite);
}

.btn {
	display: inline-block;
	padding: 14px 32px;
	background: var(--color-gold);
	color: var(--color-white);
	border-radius: 2px;
	font-family: var(--font-serif-formal);
	font-size: 15px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.btn:hover {
	opacity: 0.85;
}

.btn--outline {
	background: transparent;
	color: var(--color-navy);
	border: 1px solid var(--color-navy);
}

/* Header */
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
}

.site-header__logo {
	font-family: var(--font-serif-display);
	font-size: 1.25rem;
	font-weight: 600;
}

.site-header__menu {
	display: flex;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header__menu-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
}

.site-header__menu-toggle span {
	width: 24px;
	height: 2px;
	background: var(--color-navy);
}

@media (max-width: 768px) {
	.site-header__menu-toggle {
		display: flex;
	}
	.site-header__nav {
		display: none;
		width: 100%;
	}
	.site-header__nav.is-open {
		display: block;
	}
	.site-header__menu {
		flex-direction: column;
		gap: 16px;
		padding: 16px 0;
	}
}

/* Footer */
.site-footer {
	background: var(--color-navy);
	color: var(--color-white);
	padding: var(--space-section) 0 32px;
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.site-footer a {
	color: var(--color-white);
}

.site-footer__menu,
.site-footer__redes {
	display: flex;
	gap: 24px;
	list-style: none;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

.site-footer__contato {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

.site-footer__copy {
	opacity: 0.6;
	font-size: 0.85rem;
}

/* Hero home / sobre */
.hero-home__inner,
.sobre-hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.hero-home__subtitulo {
	font-size: 1.1rem;
	margin-bottom: 24px;
}

@media (max-width: 768px) {
	.hero-home__inner,
	.sobre-hero__inner {
		grid-template-columns: 1fr;
	}
	.hero-home__foto,
	.sobre-hero__foto {
		order: -1;
	}
}

/* Resumo da historia / fora da toga */
.historia-resumo__inner,
.sobre-fora-toga__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

@media (max-width: 768px) {
	.historia-resumo__inner,
	.sobre-fora-toga__inner {
		grid-template-columns: 1fr;
	}
}

/* Grids genéricos */
.secao-produtos__grid,
.prova-social__grid,
.vitrine-ebooks__grid,
.ebooks-grid__items,
.mentoria-como-funciona__steps,
.mentoria-formatos__grid,
.trafego-pacotes__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-top: 32px;
}

@media (max-width: 900px) {
	.secao-produtos__grid,
	.prova-social__grid,
	.vitrine-ebooks__grid,
	.ebooks-grid__items,
	.mentoria-como-funciona__steps,
	.mentoria-formatos__grid,
	.trafego-pacotes__grid {
		grid-template-columns: 1fr;
	}
}

.card-produto,
.card-ebook,
.prova-social__card,
.mentoria-formatos__card,
.trafego-pacotes__card {
	background: var(--color-white);
	padding: 32px;
	border: 1px solid rgba(1,4,35,0.08);
}

.prova-social__foto {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 16px;
}

/* Timeline */
.timeline-trajetoria {
	position: relative;
	padding-left: 32px;
	border-left: 2px solid var(--color-gold);
}

.timeline-trajetoria__capitulo {
	position: relative;
	padding-bottom: 56px;
}

.timeline-trajetoria__marcador {
	position: absolute;
	left: -38px;
	top: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-gold);
}

.timeline-trajetoria__ano {
	display: inline-block;
	color: var(--color-gold);
	font-weight: 600;
	margin-bottom: 8px;
}

/* CTA dupla / final */
.sobre-cta-dupla__inner,
.cta-captura__inner,
.mentoria-cta__inner,
.trafego-cta__inner {
	text-align: center;
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Filtros de categoria */
.ebooks-grid__filtros {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.ebooks-grid__filtro {
	background: none;
	border: 1px solid var(--color-navy);
	padding: 8px 16px;
	cursor: pointer;
	font-family: var(--font-serif-formal);
}

.ebooks-grid__filtro.is-active {
	background: var(--color-navy);
	color: var(--color-white);
}

/* Single ebook */
.single-ebook__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

@media (max-width: 768px) {
	.single-ebook__inner {
		grid-template-columns: 1fr;
	}
}

/* Placeholders de foto (até as fotos reais serem enviadas) */
.hero-home__foto--placeholder,
.sobre-hero__foto--placeholder,
.historia-resumo__foto--placeholder,
.sobre-fora-toga__foto--placeholder {
	aspect-ratio: 4 / 5;
	background: linear-gradient(135deg, var(--color-offwhite), #ece7da);
	border: 1px dashed rgba(1,4,35,0.2);
	border-radius: 2px;
}

@media (max-width: 768px) {
	body {
		font-size: 15px;
	}
}
